Skip to content

Refactored with variables #5

Refactored with variables

Refactored with variables #5

Workflow file for this run

name: Docker image build
on:
workflow_dispatch:
push:
branches:
- 'secure-and-more-better'
# - 'main'
tags:
- '*'
pull_request:
branches:
- 'main'
jobs:
build-and-push-images:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
attestations: write
id-token: write
env:
IMAGE_BASE_NAME: 'throwtheswitch/madsciencelab'
steps:
- name: 'Checkout GitHub Action'
uses: actions/checkout@v4
- name: 'Set up QEMU'
uses: docker/setup-qemu-action@v3
- name: 'Set up Docker Buildx'
uses: docker/setup-buildx-action@v3
- name: 'Login to Docker Hub'
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: 'Build and push Docker image $IMAGE_BASE_NAME:${{ github.ref_name }}'
uses: docker/build-push-action@v6
with:
platforms: linux/amd64,linux/arm64
file: build/standard/docker/Dockerfile
build-args: CONTAINER_VERSION=${{ github.ref_name }}
push: ${{ github.event_name != 'pull_request' }}
tags: $IMAGE_BASE_NAME:${{ github.ref_name }}, $IMAGE_BASE_NAME:latest
- name: 'Build and push Docker image $IMAGE_BASE_NAME-$VARIANT:${{ github.ref_name }}'
env:
VARIANT: plugins
uses: docker/build-push-action@v6
with:
platforms: linux/amd64,linux/arm64
file: build/$VARIANT/docker/Dockerfile
build-args: CONTAINER_VERSION=${{ github.ref_name }}
push: ${{ github.event_name != 'pull_request' }}
tags: $IMAGE_BASE_NAME-$VARIANT:${{ github.ref_name }}, $IMAGE_BASE_NAME-$VARIANT:latest
- name: 'Build and push Docker image $IMAGE_BASE_NAME-$VARIANT:${{ github.ref_name }}'
env:
VARIANT: arm-none-eabi
uses: docker/build-push-action@v6
with:
platforms: linux/amd64,linux/arm64
file: build/$VARIANT/docker/Dockerfile
build-args: CONTAINER_VERSION=${{ github.ref_name }}
push: ${{ github.event_name != 'pull_request' }}
tags: $IMAGE_BASE_NAME-$VARIANT:${{ github.ref_name }}, $IMAGE_BASE_NAME-$VARIANT:latest
- name: 'Build and push Docker image $IMAGE_BASE_NAME-$VARIANT:${{ github.ref_name }}'
env:
VARIANT: arm-none-eabi-plugins
uses: docker/build-push-action@v6
with:
platforms: linux/amd64,linux/arm64
file: build/$VARIANT/docker/Dockerfile
build-args: CONTAINER_VERSION=${{ github.ref_name }}
push: ${{ github.event_name != 'pull_request' }}
tags: $IMAGE_BASE_NAME-$VARIANT:${{ github.ref_name }}, $IMAGE_BASE_NAME-$VARIANT:latest