Skip to content

Commit f8dabe1

Browse files
committed
Use a separate job to set a common date tag.
1 parent cf09a7a commit f8dabe1

File tree

1 file changed

+18
-13
lines changed

1 file changed

+18
-13
lines changed

.github/workflows/docker-image-upload.yml

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,19 @@ on:
99
- 'master'
1010

1111
jobs:
12-
build-su2:
12+
date-tag:
1313
runs-on: ubuntu-latest
1414
outputs:
1515
date_tag: ${{ steps.vars.outputs.date_tag }}
16+
steps:
17+
- name: Set variables
18+
id: vars
19+
run: echo "::set-output name=date_tag::$(date +%y%m%d-%H%M)"
20+
21+
build-su2:
22+
needs: ['date-tag']
23+
if: ${{ always() && !(contains(needs.*.result, 'failure')) }}
24+
runs-on: ubuntu-latest
1625
steps:
1726
- name: Checkout
1827
uses: actions/checkout@v2
@@ -32,21 +41,17 @@ jobs:
3241
username: ${{ github.actor }}
3342
password: ${{ secrets.GITHUB_TOKEN }}
3443

35-
- name: Set variables
36-
id: vars
37-
run: echo "::set-output name=date_tag::$(date +%y%m%d-%H%M)"
38-
3944
- name: Docker Buildx Create
4045
run: docker buildx create --use
4146

4247
- name: Build and push build-su2
43-
run: docker buildx build --platform=linux/amd64 --platform=linux/arm64 -t ghcr.io/${{ github.repository_owner }}/su2/build-su2:${{ steps.vars.outputs.date_tag }} --push ./build/
48+
run: docker buildx build --platform=linux/amd64 --platform=linux/arm64 -t ghcr.io/${{ github.repository_owner }}/su2/build-su2:${{ needs.date-tag.outputs.date_tag }} --push ./build/
4449

4550
- name: Build and push build-su2-tsan
46-
run: docker buildx build --platform=linux/amd64 --platform=linux/arm64 -t ghcr.io/${{ github.repository_owner }}/su2/build-su2-tsan:${{ steps.vars.outputs.date_tag }} --push --file ./build/Dockerfile.tsan ./build/
51+
run: docker buildx build --platform=linux/amd64 --platform=linux/arm64 -t ghcr.io/${{ github.repository_owner }}/su2/build-su2-tsan:${{ needs.date-tag.outputs.date_tag }} --push --file ./build/Dockerfile.tsan ./build/
4752

4853
test-su2:
49-
needs: [build-su2]
54+
needs: [date-tag, build-su2]
5055
if: ${{ always() && !(contains(needs.*.result, 'failure')) }}
5156
runs-on: ubuntu-latest
5257
steps:
@@ -72,13 +77,13 @@ jobs:
7277
run: docker buildx create --use
7378

7479
- name: Build and push test-su2
75-
run: docker buildx build --platform=linux/amd64 --platform=linux/arm64 --build-arg BASE_IMAGE=ghcr.io/${{ github.repository_owner }}/su2/build-su2:${{ needs.build-su2.outputs.date_tag }} -t ghcr.io/${{ github.repository_owner }}/su2/test-su2:${{ needs.build-su2.outputs.date_tag }} --push ./test/
80+
run: docker buildx build --platform=linux/amd64 --platform=linux/arm64 --build-arg BASE_IMAGE=ghcr.io/${{ github.repository_owner }}/su2/build-su2:${{ needs.date-tag.outputs.date_tag }} -t ghcr.io/${{ github.repository_owner }}/su2/test-su2:${{ needs.date-tag.outputs.date_tag }} --push ./test/
7681

7782
- name: Build and push test-su2-tsan
78-
run: docker buildx build --platform=linux/amd64 --platform=linux/arm64 --build-arg BASE_IMAGE=ghcr.io/${{ github.repository_owner }}/su2/build-su2-tsan:${{ needs.build-su2.outputs.date_tag }} -t ghcr.io/${{ github.repository_owner }}/su2/test-su2-tsan:${{ needs.build-su2.outputs.date_tag }} --push ./test/
83+
run: docker buildx build --platform=linux/amd64 --platform=linux/arm64 --build-arg BASE_IMAGE=ghcr.io/${{ github.repository_owner }}/su2/build-su2-tsan:${{ needs.date-tag.outputs.date_tag }} -t ghcr.io/${{ github.repository_owner }}/su2/test-su2-tsan:${{ needs.date-tag.outputs.date_tag }} --push ./test/
7984

8085
cross-build-su2-mac:
81-
needs: [build-su2]
86+
needs: [date-tag, build-su2]
8287
if: ${{ always() && !(contains(needs.*.result, 'failure')) }}
8388
runs-on: ubuntu-latest
8489
steps:
@@ -104,7 +109,7 @@ jobs:
104109
run: docker buildx create --use
105110

106111
- name: Build and push build-su2-cross
107-
run: docker buildx build --platform=linux/amd64 --platform=linux/arm64 --build-arg BASE_IMAGE=ghcr.io/${{ github.repository_owner }}/su2/build-su2:${{ needs.build-su2.outputs.date_tag }} -t ghcr.io/${{ github.repository_owner }}/su2/build-su2-cross-stage1:${{ needs.build-su2.outputs.date_tag }} --push --file ./build_cross/Dockerfile.stage1 ./build_cross/
112+
run: docker buildx build --platform=linux/amd64 --platform=linux/arm64 --build-arg BASE_IMAGE=ghcr.io/${{ github.repository_owner }}/su2/build-su2:${{ needs.date-tag.outputs.date_tag }} -t ghcr.io/${{ github.repository_owner }}/su2/build-su2-cross-stage1:${{ needs.date-tag.outputs.date_tag }} --push --file ./build_cross/Dockerfile.stage1 ./build_cross/
108113

109114
cross-build-su2-linux:
110115
needs: [build-su2, cross-build-su2-mac]
@@ -133,4 +138,4 @@ jobs:
133138
run: docker buildx create --use
134139

135140
- name: Build and push build-su2-cross
136-
run: docker buildx build --platform=linux/amd64 --platform=linux/arm64 --build-arg BASE_IMAGE=ghcr.io/${{ github.repository_owner }}/su2/build-su2-cross-stage1:${{ needs.build-su2.outputs.date_tag }} -t ghcr.io/${{ github.repository_owner }}/su2/build-su2-cross:${{ needs.build-su2.outputs.date_tag }} --push --file ./build_cross/Dockerfile.stage2 ./build_cross/
141+
run: docker buildx build --platform=linux/amd64 --platform=linux/arm64 --build-arg BASE_IMAGE=ghcr.io/${{ github.repository_owner }}/su2/build-su2-cross-stage1:${{ needs.date-tag.outputs.date_tag }} -t ghcr.io/${{ github.repository_owner }}/su2/build-su2-cross:${{ needs.date-tag.outputs.date_tag }} --push --file ./build_cross/Dockerfile.stage2 ./build_cross/

0 commit comments

Comments
 (0)