Skip to content

Commit 0d4f864

Browse files
committed
Concurrent Github Action Docker image build jobs
1 parent 28db531 commit 0d4f864

File tree

2 files changed

+93
-9
lines changed

2 files changed

+93
-9
lines changed

.github/workflows/main.yml

Lines changed: 93 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,20 @@ on:
1212
branches:
1313
- 'main'
1414

15+
env:
16+
IMAGE_BASE_NAME: 'throwtheswitch/madsciencelab'
17+
18+
1519
jobs:
16-
build-and-push-images:
20+
# Jobs organized for concurrent Docker image builds
21+
22+
madsciencelab:
1723
runs-on: ubuntu-latest
1824
permissions:
1925
contents: read
2026
packages: write
2127
attestations: write
2228
id-token: write
23-
env:
24-
IMAGE_BASE_NAME: 'throwtheswitch/madsciencelab'
2529

2630
steps:
2731
- name: 'Checkout GitHub Action'
@@ -40,6 +44,8 @@ jobs:
4044
username: ${{ secrets.DOCKERHUB_USERNAME }}
4145
password: ${{ secrets.DOCKERHUB_TOKEN }}
4246

47+
# Docker image: madsciencelab
48+
# Note: standard/ directory maps to madsciencelab image (no variants)
4349
- name: 'Build and push Docker image ${{ env.IMAGE_BASE_NAME }}:${{ github.ref_name }}'
4450
uses: docker/build-push-action@v6
4551
with:
@@ -49,9 +55,35 @@ jobs:
4955
push: ${{ github.event_name != 'pull_request' }}
5056
tags: ${{ env.IMAGE_BASE_NAME }}:${{ github.ref_name }}, ${{ env.IMAGE_BASE_NAME }}:latest
5157

58+
madsciencelab-plugins:
59+
runs-on: ubuntu-latest
60+
permissions:
61+
contents: read
62+
packages: write
63+
attestations: write
64+
id-token: write
65+
env:
66+
VARIANT: plugins
67+
68+
steps:
69+
- name: 'Checkout GitHub Action'
70+
uses: actions/checkout@v4
71+
72+
- name: 'Set up QEMU'
73+
uses: docker/setup-qemu-action@v3
74+
75+
- name: 'Set up Docker Buildx'
76+
uses: docker/setup-buildx-action@v3
77+
78+
- name: 'Login to Docker Hub'
79+
if: github.event_name != 'pull_request'
80+
uses: docker/login-action@v3
81+
with:
82+
username: ${{ secrets.DOCKERHUB_USERNAME }}
83+
password: ${{ secrets.DOCKERHUB_TOKEN }}
84+
85+
# Docker image: madsciencelab-plugins
5286
- name: 'Build and push Docker image ${{ env.IMAGE_BASE_NAME }}-${{ env.VARIANT }}:${{ github.ref_name }}'
53-
env:
54-
VARIANT: plugins
5587
uses: docker/build-push-action@v6
5688
with:
5789
platforms: linux/amd64,linux/arm64
@@ -60,9 +92,35 @@ jobs:
6092
push: ${{ github.event_name != 'pull_request' }}
6193
tags: ${{ env.IMAGE_BASE_NAME }}-${{ env.VARIANT }}:${{ github.ref_name }}, ${{ env.IMAGE_BASE_NAME }}-${{ env.VARIANT }}:latest
6294

95+
madsciencelab-arm-none-eabi:
96+
runs-on: ubuntu-latest
97+
permissions:
98+
contents: read
99+
packages: write
100+
attestations: write
101+
id-token: write
102+
env:
103+
VARIANT: arm-none-eabi
104+
105+
steps:
106+
- name: 'Checkout GitHub Action'
107+
uses: actions/checkout@v4
108+
109+
- name: 'Set up QEMU'
110+
uses: docker/setup-qemu-action@v3
111+
112+
- name: 'Set up Docker Buildx'
113+
uses: docker/setup-buildx-action@v3
114+
115+
- name: 'Login to Docker Hub'
116+
if: github.event_name != 'pull_request'
117+
uses: docker/login-action@v3
118+
with:
119+
username: ${{ secrets.DOCKERHUB_USERNAME }}
120+
password: ${{ secrets.DOCKERHUB_TOKEN }}
121+
122+
# Docker image: madsciencelab-arm-none-eabi
63123
- name: 'Build and push Docker image ${{ env.IMAGE_BASE_NAME }}-${{ env.VARIANT }}:${{ github.ref_name }}'
64-
env:
65-
VARIANT: arm-none-eabi
66124
uses: docker/build-push-action@v6
67125
with:
68126
platforms: linux/amd64,linux/arm64
@@ -71,9 +129,35 @@ jobs:
71129
push: ${{ github.event_name != 'pull_request' }}
72130
tags: ${{ env.IMAGE_BASE_NAME }}-${{ env.VARIANT }}:${{ github.ref_name }}, ${{ env.IMAGE_BASE_NAME }}-${{ env.VARIANT }}:latest
73131

132+
madsciencelab-arm-none-eabi-plugins:
133+
runs-on: ubuntu-latest
134+
permissions:
135+
contents: read
136+
packages: write
137+
attestations: write
138+
id-token: write
139+
env:
140+
VARIANT: arm-none-eabi-plugins
141+
142+
steps:
143+
- name: 'Checkout GitHub Action'
144+
uses: actions/checkout@v4
145+
146+
- name: 'Set up QEMU'
147+
uses: docker/setup-qemu-action@v3
148+
149+
- name: 'Set up Docker Buildx'
150+
uses: docker/setup-buildx-action@v3
151+
152+
- name: 'Login to Docker Hub'
153+
if: github.event_name != 'pull_request'
154+
uses: docker/login-action@v3
155+
with:
156+
username: ${{ secrets.DOCKERHUB_USERNAME }}
157+
password: ${{ secrets.DOCKERHUB_TOKEN }}
158+
159+
# Docker image: madsciencelab-arm-none-eabi-plugins
74160
- name: 'Build and push Docker image ${{ env.IMAGE_BASE_NAME }}-${{ env.VARIANT }}:${{ github.ref_name }}'
75-
env:
76-
VARIANT: arm-none-eabi-plugins
77161
uses: docker/build-push-action@v6
78162
with:
79163
platforms: linux/amd64,linux/arm64

build/README.md

Whitespace-only changes.

0 commit comments

Comments
 (0)