Skip to content

Commit e9d7ce7

Browse files
ci: test multi-arch workflow
1 parent 89e9a21 commit e9d7ce7

File tree

1 file changed

+66
-0
lines changed

1 file changed

+66
-0
lines changed

.github/workflows/docker-arm64.yaml

+66
Original file line numberDiff line numberDiff line change
@@ -39,3 +39,69 @@ jobs:
3939
file: Dockerfile
4040
push: true
4141
tags: scrolltech/l2geth:${{inputs.tag}}-arm64
42+
43+
build-and-push-amd64-image:
44+
runs-on: ubuntu-latest
45+
steps:
46+
- name: Checkout code
47+
uses: actions/checkout@v2
48+
- name: Set up QEMU
49+
uses: docker/setup-qemu-action@v2
50+
- name: Set up Docker Buildx
51+
uses: docker/setup-buildx-action@v2
52+
- name: Extract docker metadata
53+
id: meta
54+
uses: docker/metadata-action@v3
55+
with:
56+
images: scrolltech/l2geth
57+
tags: |
58+
type=ref,event=tag,enable=${{ github.event_name == 'push' }}
59+
type=raw,value=latest,enable=${{ github.event_name == 'release' }}
60+
flavor: |
61+
latest=false
62+
- name: Login to Docker Hub
63+
uses: docker/login-action@v2
64+
with:
65+
username: ${{ secrets.DOCKERHUB_USERNAME }}
66+
password: ${{ secrets.DOCKERHUB_TOKEN }}
67+
- name: Build docker image
68+
uses: docker/build-push-action@v2
69+
with:
70+
context: .
71+
file: Dockerfile
72+
push: true
73+
tags: scrolltech/l2geth:${{inputs.tag}}-amd64
74+
75+
publish-multi-arch-image:
76+
runs-on: ubuntu-latest
77+
needs:
78+
- build-and-push-amd64-image
79+
- build-and-push-arm64-image
80+
steps:
81+
- name: Checkout code
82+
uses: actions/checkout@v2
83+
- name: Set up Docker Buildx
84+
uses: docker/setup-buildx-action@v2
85+
- name: Extract docker metadata
86+
id: meta
87+
uses: docker/metadata-action@v3
88+
with:
89+
images: scrolltech/l2geth
90+
tags: |
91+
type=ref,event=tag,enable=${{ github.event_name == 'push' }}
92+
type=raw,value=latest,enable=${{ github.event_name == 'release' }}
93+
flavor: |
94+
latest=false
95+
- name: Login to Docker Hub
96+
uses: docker/login-action@v2
97+
with:
98+
username: ${{ secrets.DOCKERHUB_USERNAME }}
99+
password: ${{ secrets.DOCKERHUB_TOKEN }}
100+
- name: Build multiarch image
101+
run: |
102+
docker manifest create scrolltech/l2geth:${image_multiarch_name} --amend scrolltech/l2geth:${image_amd64_name} --amend scrolltech/l2geth:${image_arm64_name} && \
103+
docker manifest push scrolltech/l2geth:${image_multiarch_name}
104+
env:
105+
image_arm64_name: "${{ steps.meta.outputs.tags }}-arm64"
106+
image_amd64_name: "${{ steps.meta.outputs.tags }}-amd64"
107+
image_multiarch_name: "${{ steps.meta.outputs.tags }}-multiarch"

0 commit comments

Comments
 (0)