Skip to content

Commit 3d95fb4

Browse files
committed
Integrate multiarch build with matrix
1 parent 6c236b4 commit 3d95fb4

1 file changed

Lines changed: 7 additions & 66 deletions

File tree

.github/workflows/build_multiarch.yml

Lines changed: 7 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,11 @@ env:
2121
GHCR_ACCESS_TOKEN: ${{ secrets.GHCR_ACCESS_TOKEN }}
2222

2323
jobs:
24-
build_amd64:
24+
build:
2525
strategy:
2626
matrix:
2727
dev_suffix: [ '', '-dev' ]
28+
arch: ['amd64', 'arm64']
2829

2930
runs-on: ubuntu-latest
3031

@@ -34,10 +35,10 @@ jobs:
3435
ubuntu_version: "${{ inputs.ubuntu_version || 'jammy' }}"
3536
ruby_version: "${{ inputs.ruby_version || 'master' }}"
3637
image_version_suffix: ''
37-
tag_suffix: "-amd64-${{ github.sha }}"
38+
tag_suffix: "-${{ matrix.arch }}-${{ github.sha }}"
3839
push_tags: |
39-
${{ inputs.ruby_version }}-${{ inputs.ubuntu_version }}-amd64-${{ github.sha }}
40-
${{ inputs.ruby_version }}-dev-${{ inputs.ubuntu_version }}-amd64-${{ github.sha }}
40+
${{ inputs.ruby_version }}-${{ inputs.ubuntu_version }}-${{ matrix.arch }}-${{ github.sha }}
41+
${{ inputs.ruby_version }}-dev-${{ inputs.ubuntu_version }}-${{ matrix.arch }}-${{ github.sha }}
4142
dev_suffix: ${{ matrix.dev_suffix }}
4243
optflags: ''
4344
cppflags: ''
@@ -64,65 +65,7 @@ jobs:
6465
tag_suffix: "${{ env.tag_suffix }}"
6566
latest_tag: ${{ env.latest_tag }}
6667
target: ${{ env.target }}
67-
68-
- uses: "./.github/actions/push_image"
69-
if: "${{ env.push }}"
70-
with:
71-
ruby_version: "${{ env.ruby_version }}"
72-
nightly: "${{ env.nightly }}"
73-
image_version_suffix: "${{ env.image_version_suffix }}${{ env.dev_suffix }}"
74-
ubuntu_version: "${{ env.ubuntu_version }}"
75-
tag_suffix: "${{ env.tag_suffix }}"
76-
77-
- uses: "./.github/actions/push_image_by_tag"
78-
if: "${{ env.push_tags }}"
79-
with:
80-
push_tags: "${{ env.push_tags }}"
81-
82-
build_arm64:
83-
strategy:
84-
matrix:
85-
dev_suffix: [ '', '-dev' ]
86-
87-
runs-on: ubuntu-latest
88-
89-
env:
90-
nightly: false
91-
push: false
92-
ubuntu_version: "${{ inputs.ubuntu_version || 'jammy' }}"
93-
ruby_version: "${{ inputs.ruby_version || 'master' }}"
94-
image_version_suffix: ''
95-
tag_suffix: "-arm64-${{ github.sha }}"
96-
push_tags: |
97-
${{ inputs.ruby_version }}-${{ inputs.ubuntu_version }}-arm64-${{ github.sha }}
98-
${{ inputs.ruby_version }}-dev-${{ inputs.ubuntu_version }}-arm64-${{ github.sha }}
99-
dev_suffix: ${{ matrix.dev_suffix }}
100-
optflags: ''
101-
cppflags: ''
102-
debugflags: ''
103-
104-
steps:
105-
- uses: actions/checkout@v4.1.0
106-
107-
- run: |
108-
if [ "${{ env.dev_suffix }}" = "-dev" ]; then
109-
echo "target=development" >> $GITHUB_ENV
110-
echo "latest_tag=false" >> $GITHUB_ENV
111-
else
112-
echo "target=ruby" >> $GITHUB_ENV
113-
echo "latest_tag=true" >> $GITHUB_ENV
114-
fi
115-
116-
- uses: "./.github/actions/build_image"
117-
with:
118-
ruby_version: "${{ env.ruby_version }}"
119-
nightly: "${{ env.nightly }}"
120-
image_version_suffix: "${{ env.image_version_suffix }}${{ env.dev_suffix }}"
121-
ubuntu_version: "${{ env.ubuntu_version }}"
122-
tag_suffix: "${{ env.tag_suffix }}"
123-
arch: 'linux/arm64'
124-
latest_tag: ${{ env.latest_tag }}
125-
target: ${{ env.target }}
68+
arch: "linux/${{ matrix.arch }}"
12669

12770
- uses: "./.github/actions/push_image"
12871
if: "${{ env.push }}"
@@ -145,9 +88,7 @@ jobs:
14588

14689
runs-on: ubuntu-latest
14790

148-
needs:
149-
- build_amd64
150-
- build_arm64
91+
needs: build
15192

15293
env:
15394
ruby_version: "${{ inputs.ruby_version }}"

0 commit comments

Comments
 (0)