Skip to content
name: Build and Push Multiple Docker Images
on:
push:
branches:
- main
paths:
- 'Dockerfile.testing_base_bookworm'
- 'Dockerfile.ghdl'
- 'Dockerfile.litex_env_bookworm'
- 'Dockerfile.xilinx_env_bookworm'
jobs:
build_testing_base_bookworm:
name: Build and Push Dockerfile.testing_base_bookworm
runs-on: ubuntu-latest
env:
REGISTRY: ghcr.io
DOCKERFILE: Dockerfile.testing_base_bookworm
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Log in to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GHCR_PAT }} # Use your PAT here
- name: Set image name to lowercase
run: echo "IMAGE_NAME=$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV
- name: Build Docker image
run: |
docker build -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:testing_base_bookworm-${{ github.sha }} -f ${{ env.DOCKERFILE }} .
docker tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:testing_base_bookworm-${{ github.sha }} ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
- name: Push Docker image
run: |
docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:testing_base_bookworm-${{ github.sha }}
docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
build_ghdl:
name: Build and Push Dockerfile.ghdl
runs-on: ubuntu-latest
env:
REGISTRY: ghcr.io
DOCKERFILE: Dockerfile.ghdl
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Log in to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GHCR_PAT }} # Use your PAT here
- name: Set image name to lowercase
run: echo "IMAGE_NAME=$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV
- name: Build Docker image
run: |
docker build -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:ghdl-${{ github.sha }} -f ${{ env.DOCKERFILE }} .
docker tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:ghdl-${{ github.sha }} ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
- name: Push Docker image
run: |
docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:ghdl-${{ github.sha }}
docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
build_litex_env_bookworm:
name: Build and Push Dockerfile.litex_env_bookworm
runs-on: ubuntu-latest
env:
REGISTRY: ghcr.io
DOCKERFILE: Dockerfile.litex_env_bookworm
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Log in to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GHCR_PAT }} # Use your PAT here
- name: Set image name to lowercase
run: echo "IMAGE_NAME=$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV
- name: Build Docker image
run: |
docker build -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:litex_env_bookworm-${{ github.sha }} -f ${{ env.DOCKERFILE }} .
docker tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:litex_env_bookworm-${{ github.sha }} ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
- name: Push Docker image
run: |
docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:litex_env_bookworm-${{ github.sha }}
docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
build_xilinx_env_bookworm:
name: Build and Push Dockerfile.xilinx_env_bookworm
runs-on: ubuntu-latest
env:
REGISTRY: ghcr.io
DOCKERFILE: Dockerfile.xilinx_env_bookworm
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Log in to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GHCR_PAT }} # Use your PAT here
- name: Set image name to lowercase
run: echo "IMAGE_NAME=$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV
- name: Build Docker image
run: |
docker build -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:xilinx_env_bookworm-${{ github.sha }} -f ${{ env.DOCKERFILE }} .
docker tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:xilinx_env_bookworm-${{ github.sha }} ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
- name: Push Docker image
run: |
docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:xilinx_env_bookworm-${{ github.sha }}
docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest