1010 - uses : actions/setup-go@v5
1111 with :
1212 go-version : " ^1.21"
13- - run : make test-integration-docker
14- name : Run integration tests inside Docker
13+ # - run: make test-integration-docker
14+ # name: Run integration tests inside Docker
1515 - run : make test
1616 name : Unit tests
1717
7878 version : ${{ needs.release.outputs.version }}
7979 version_tag : ${{ needs.release.outputs.version_tag }}
8080 runs_on : " ubuntu-latest"
81+ arch_suffix : " -amd64"
8182 secrets :
8283 DOCKERHUB_USERNAME : ${{ vars.DOCKERHUB_USERNAME }}
8384 DOCKERHUB_TOKEN : ${{ secrets.DOCKERHUB_TOKEN }}
@@ -92,13 +93,54 @@ jobs:
9293 version : ${{ needs.release.outputs.version }}
9394 version_tag : ${{ needs.release.outputs.version_tag }}
9495 runs_on : " ubuntu-24.04-arm"
96+ arch_suffix : " -arm64"
9597 secrets :
9698 DOCKERHUB_USERNAME : ${{ vars.DOCKERHUB_USERNAME }}
9799 DOCKERHUB_TOKEN : ${{ secrets.DOCKERHUB_TOKEN }}
98100 DRUID_ARTIFACTS_REGISTRY_USERNAME : ${{ vars.DRUID_ARTIFACTS_REGISTRY_USERNAME }}
99101 DRUID_ARTIFACTS_REGISTRY_TOKEN : ${{ secrets.DRUID_ARTIFACTS_REGISTRY_TOKEN }}
100- docker-steamcmd :
102+ docker-base-manifest :
103+ name : Create multi-arch base manifests
101104 needs : [release, docker-base-amd64, docker-base-arm64]
105+ runs-on : ubuntu-latest
106+ if : ${{ needs.release.outputs.version != '' }}
107+ steps :
108+ - name : Login to Docker Hub
109+ uses : docker/login-action@v3
110+ with :
111+ username : ${{ vars.DOCKERHUB_USERNAME }}
112+ password : ${{ secrets.DOCKERHUB_TOKEN }}
113+ - name : Login to Artifacts Registry
114+ uses : docker/login-action@v3
115+ with :
116+ registry : artifacts.druid.gg
117+ username : ${{ vars.DRUID_ARTIFACTS_REGISTRY_USERNAME }}
118+ password : ${{ secrets.DRUID_ARTIFACTS_REGISTRY_TOKEN }}
119+ - name : Create and push base manifests
120+ uses : Noelware/docker-manifest-action@v1
121+ with :
122+ inputs : |
123+ highcard/druid:latest-amd64,highcard/druid:latest-arm64
124+ highcard/druid:stable-amd64,highcard/druid:stable-arm64
125+ highcard/druid:${{ needs.release.outputs.version }}-amd64,highcard/druid:${{ needs.release.outputs.version }}-arm64
126+ highcard/druid:${{ needs.release.outputs.version_tag }}-amd64,highcard/druid:${{ needs.release.outputs.version_tag }}-arm64
127+ artifacts.druid.gg/druid-team/druid:latest-amd64,artifacts.druid.gg/druid-team/druid:latest-arm64
128+ artifacts.druid.gg/druid-team/druid:stable-amd64,artifacts.druid.gg/druid-team/druid:stable-arm64
129+ artifacts.druid.gg/druid-team/druid:${{ needs.release.outputs.version }}-amd64,artifacts.druid.gg/druid-team/druid:${{ needs.release.outputs.version }}-arm64
130+ artifacts.druid.gg/druid-team/druid:${{ needs.release.outputs.version_tag }}-amd64,artifacts.druid.gg/druid-team/druid:${{ needs.release.outputs.version_tag }}-arm64
131+ tags : |
132+ highcard/druid:latest
133+ highcard/druid:stable
134+ highcard/druid:${{ needs.release.outputs.version }}
135+ highcard/druid:${{ needs.release.outputs.version_tag }}
136+ artifacts.druid.gg/druid-team/druid:latest
137+ artifacts.druid.gg/druid-team/druid:stable
138+ artifacts.druid.gg/druid-team/druid:${{ needs.release.outputs.version }}
139+ artifacts.druid.gg/druid-team/druid:${{ needs.release.outputs.version_tag }}
140+ push : true
141+
142+ docker-steamcmd :
143+ needs : [release, docker-base-manifest]
102144 uses : ./.github/workflows/docker-build-reusable.yml
103145 with :
104146 dockerfile : Dockerfile.steamcmd
@@ -111,7 +153,7 @@ jobs:
111153 DRUID_ARTIFACTS_REGISTRY_USERNAME : ${{ vars.DRUID_ARTIFACTS_REGISTRY_USERNAME }}
112154 DRUID_ARTIFACTS_REGISTRY_TOKEN : ${{ secrets.DRUID_ARTIFACTS_REGISTRY_TOKEN }}
113155 docker-nix-amd64 :
114- needs : [release, docker-base-amd64, docker-base-arm64 ]
156+ needs : [release, docker-base-manifest ]
115157 uses : ./.github/workflows/docker-build-reusable.yml
116158 with :
117159 dockerfile : Dockerfile.nix
@@ -121,13 +163,14 @@ jobs:
121163 base_tag_suffix : " "
122164 is_nix : true
123165 runs_on : " ubuntu-latest"
166+ arch_suffix : " -amd64"
124167 secrets :
125168 DOCKERHUB_USERNAME : ${{ vars.DOCKERHUB_USERNAME }}
126169 DOCKERHUB_TOKEN : ${{ secrets.DOCKERHUB_TOKEN }}
127170 DRUID_ARTIFACTS_REGISTRY_USERNAME : ${{ vars.DRUID_ARTIFACTS_REGISTRY_USERNAME }}
128171 DRUID_ARTIFACTS_REGISTRY_TOKEN : ${{ secrets.DRUID_ARTIFACTS_REGISTRY_TOKEN }}
129172 docker-nix-arm64 :
130- needs : [release, docker-base-amd64, docker-base-arm64 ]
173+ needs : [release, docker-base-manifest ]
131174 uses : ./.github/workflows/docker-build-reusable.yml
132175 with :
133176 dockerfile : Dockerfile.nix
@@ -137,6 +180,7 @@ jobs:
137180 base_tag_suffix : " "
138181 is_nix : true
139182 runs_on : " ubuntu-24.04-arm"
183+ arch_suffix : " -arm64"
140184 secrets :
141185 DOCKERHUB_USERNAME : ${{ vars.DOCKERHUB_USERNAME }}
142186 DOCKERHUB_TOKEN : ${{ secrets.DOCKERHUB_TOKEN }}
@@ -157,3 +201,43 @@ jobs:
157201 DOCKERHUB_TOKEN : ${{ secrets.DOCKERHUB_TOKEN }}
158202 DRUID_ARTIFACTS_REGISTRY_USERNAME : ${{ vars.DRUID_ARTIFACTS_REGISTRY_USERNAME }}
159203 DRUID_ARTIFACTS_REGISTRY_TOKEN : ${{ secrets.DRUID_ARTIFACTS_REGISTRY_TOKEN }}
204+
205+ docker-nix-manifest :
206+ name : Create multi-arch nix manifests
207+ needs : [release, docker-nix-amd64, docker-nix-arm64]
208+ runs-on : ubuntu-latest
209+ if : ${{ needs.release.outputs.version != '' }}
210+ steps :
211+ - name : Login to Docker Hub
212+ uses : docker/login-action@v3
213+ with :
214+ username : ${{ vars.DOCKERHUB_USERNAME }}
215+ password : ${{ secrets.DOCKERHUB_TOKEN }}
216+ - name : Login to Artifacts Registry
217+ uses : docker/login-action@v3
218+ with :
219+ registry : artifacts.druid.gg
220+ username : ${{ vars.DRUID_ARTIFACTS_REGISTRY_USERNAME }}
221+ password : ${{ secrets.DRUID_ARTIFACTS_REGISTRY_TOKEN }}
222+ - name : Create and push nix manifests
223+ uses : Noelware/docker-manifest-action@v1
224+ with :
225+ inputs : |
226+ highcard/druid:latest-nix-amd64,highcard/druid:latest-nix-arm64
227+ highcard/druid:stable-nix-amd64,highcard/druid:stable-nix-arm64
228+ highcard/druid:${{ needs.release.outputs.version }}-nix-amd64,highcard/druid:${{ needs.release.outputs.version }}-nix-arm64
229+ highcard/druid:${{ needs.release.outputs.version_tag }}-nix-amd64,highcard/druid:${{ needs.release.outputs.version_tag }}-nix-arm64
230+ artifacts.druid.gg/druid-team/druid:latest-nix-amd64,artifacts.druid.gg/druid-team/druid:latest-nix-arm64
231+ artifacts.druid.gg/druid-team/druid:stable-nix-amd64,artifacts.druid.gg/druid-team/druid:stable-nix-arm64
232+ artifacts.druid.gg/druid-team/druid:${{ needs.release.outputs.version }}-nix-amd64,artifacts.druid.gg/druid-team/druid:${{ needs.release.outputs.version }}-nix-arm64
233+ artifacts.druid.gg/druid-team/druid:${{ needs.release.outputs.version_tag }}-nix-amd64,artifacts.druid.gg/druid-team/druid:${{ needs.release.outputs.version_tag }}-nix-arm64
234+ tags : |
235+ highcard/druid:latest-nix
236+ highcard/druid:stable-nix
237+ highcard/druid:${{ needs.release.outputs.version }}-nix
238+ highcard/druid:${{ needs.release.outputs.version_tag }}-nix
239+ artifacts.druid.gg/druid-team/druid:latest-nix
240+ artifacts.druid.gg/druid-team/druid:stable-nix
241+ artifacts.druid.gg/druid-team/druid:${{ needs.release.outputs.version }}-nix
242+ artifacts.druid.gg/druid-team/druid:${{ needs.release.outputs.version_tag }}-nix
243+ push : true
0 commit comments