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
@@ -74,10 +74,12 @@ jobs:
7474 uses : ./.github/workflows/docker-build-reusable.yml
7575 with :
7676 dockerfile : Dockerfile
77- tag_suffix : " "
78- version : ${{ needs.release.outputs.version }}
79- version_tag : ${{ needs.release.outputs.version_tag }}
80- runs_on : " ubuntu-latest"
77+ runs_on : ubuntu-latest
78+ tags : |
79+ highcard/druid:${{ needs.release.outputs.version_tag }}-amd64
80+ artifacts.druid.gg/druid-team/druid:${{ needs.release.outputs.version_tag }}-amd64
81+ build_args : |
82+ VERSION=${{ needs.release.outputs.version_tag }}
8183 secrets :
8284 DOCKERHUB_USERNAME : ${{ vars.DOCKERHUB_USERNAME }}
8385 DOCKERHUB_TOKEN : ${{ secrets.DOCKERHUB_TOKEN }}
@@ -88,55 +90,111 @@ jobs:
8890 uses : ./.github/workflows/docker-build-reusable.yml
8991 with :
9092 dockerfile : Dockerfile
91- tag_suffix : " "
92- version : ${{ needs.release.outputs.version }}
93- version_tag : ${{ needs.release.outputs.version_tag }}
94- runs_on : " ubuntu-24.04-arm"
93+ runs_on : ubuntu-24.04-arm64
94+ tags : |
95+ highcard/druid:${{ needs.release.outputs.version_tag }}-arm64
96+ artifacts.druid.gg/druid-team/druid:${{ needs.release.outputs.version_tag }}-arm64
97+ build_args : |
98+ VERSION=${{ needs.release.outputs.version_tag }}
9599 secrets :
96100 DOCKERHUB_USERNAME : ${{ vars.DOCKERHUB_USERNAME }}
97101 DOCKERHUB_TOKEN : ${{ secrets.DOCKERHUB_TOKEN }}
98102 DRUID_ARTIFACTS_REGISTRY_USERNAME : ${{ vars.DRUID_ARTIFACTS_REGISTRY_USERNAME }}
99103 DRUID_ARTIFACTS_REGISTRY_TOKEN : ${{ secrets.DRUID_ARTIFACTS_REGISTRY_TOKEN }}
100- docker-steamcmd :
104+ docker-base-manifest :
105+ name : Create multi-arch base manifests
106+ needs : [release, docker-base-amd64, docker-base-arm64]
107+ runs-on : ubuntu-latest
108+ if : ${{ needs.release.outputs.version != '' }}
109+ steps :
110+ - name : Login to Docker Hub
111+ uses : docker/login-action@v3
112+ with :
113+ username : ${{ vars.DOCKERHUB_USERNAME }}
114+ password : ${{ secrets.DOCKERHUB_TOKEN }}
115+ - name : Create and push base manifests
116+ uses : Noelware/docker-manifest-action@v1
117+ with :
118+ inputs : highcard/druid:${{ needs.release.outputs.version_tag }}-amd64,highcard/druid:${{ needs.release.outputs.version_tag }}-arm64
119+ tags : |
120+ highcard/druid:latest
121+ highcard/druid:stable
122+ highcard/druid:${{ needs.release.outputs.version }}
123+ highcard/druid:${{ needs.release.outputs.version_tag }}
124+ push : true
125+
126+ docker-base-manifest-artifacts :
127+ name : Create multi-arch base manifests (artifacts registry)
101128 needs : [release, docker-base-amd64, docker-base-arm64]
129+ runs-on : ubuntu-latest
130+ if : ${{ needs.release.outputs.version != '' }}
131+ steps :
132+ - name : Login to Artifacts Registry
133+ uses : docker/login-action@v3
134+ with :
135+ registry : artifacts.druid.gg
136+ username : ${{ vars.DRUID_ARTIFACTS_REGISTRY_USERNAME }}
137+ password : ${{ secrets.DRUID_ARTIFACTS_REGISTRY_TOKEN }}
138+ - name : Create and push base manifests (artifacts)
139+ uses : Noelware/docker-manifest-action@v1
140+ with :
141+ inputs : artifacts.druid.gg/druid-team/druid:${{ needs.release.outputs.version_tag }}-amd64,artifacts.druid.gg/druid-team/druid:${{ needs.release.outputs.version_tag }}-arm64
142+ tags : |
143+ artifacts.druid.gg/druid-team/druid:latest
144+ artifacts.druid.gg/druid-team/druid:stable
145+ artifacts.druid.gg/druid-team/druid:${{ needs.release.outputs.version }}
146+ artifacts.druid.gg/druid-team/druid:${{ needs.release.outputs.version_tag }}
147+ push : true
148+
149+ docker-steamcmd :
150+ needs : [release, docker-base-manifest, docker-base-manifest-artifacts]
102151 uses : ./.github/workflows/docker-build-reusable.yml
103152 with :
104153 dockerfile : Dockerfile.steamcmd
105- tag_suffix : " -steamcmd"
106- version : ${{ needs.release.outputs.version }}
107- version_tag : ${{ needs.release.outputs.version_tag }}
154+ tags : |
155+ highcard/druid:latest-steamcmd
156+ highcard/druid:stable-steamcmd
157+ highcard/druid:${{ needs.release.outputs.version }}-steamcmd
158+ highcard/druid:${{ needs.release.outputs.version_tag }}-steamcmd
159+ artifacts.druid.gg/druid-team/druid:latest-steamcmd
160+ artifacts.druid.gg/druid-team/druid:stable-steamcmd
161+ artifacts.druid.gg/druid-team/druid:${{ needs.release.outputs.version }}-steamcmd
162+ artifacts.druid.gg/druid-team/druid:${{ needs.release.outputs.version_tag }}-steamcmd
163+ build_args : |
164+ VERSION=${{ needs.release.outputs.version_tag }}
108165 secrets :
109166 DOCKERHUB_USERNAME : ${{ vars.DOCKERHUB_USERNAME }}
110167 DOCKERHUB_TOKEN : ${{ secrets.DOCKERHUB_TOKEN }}
111168 DRUID_ARTIFACTS_REGISTRY_USERNAME : ${{ vars.DRUID_ARTIFACTS_REGISTRY_USERNAME }}
112169 DRUID_ARTIFACTS_REGISTRY_TOKEN : ${{ secrets.DRUID_ARTIFACTS_REGISTRY_TOKEN }}
170+
113171 docker-nix-amd64 :
114- needs : [release, docker-base-amd64 , docker-base-arm64 ]
172+ needs : [release, docker-base-manifest , docker-base-manifest-artifacts ]
115173 uses : ./.github/workflows/docker-build-reusable.yml
116174 with :
117175 dockerfile : Dockerfile.nix
118- tag_suffix : " -nix "
119- version : ${{ needs.release.outputs.version }}
120- version_tag : ${{ needs.release.outputs.version_tag }}
121- base_tag_suffix : " "
122- is_nix : true
123- runs_on : " ubuntu-latest "
176+ runs_on : ubuntu-latest
177+ tags : |
178+ highcard/druid: ${{ needs.release.outputs.version_tag }}-nix-amd64
179+ artifacts.druid.gg/druid-team/druid:${{ needs.release.outputs.version_tag }}-nix-amd64
180+ build_args : |
181+ VERSION=${{ needs.release.outputs.version_tag }}
124182 secrets :
125183 DOCKERHUB_USERNAME : ${{ vars.DOCKERHUB_USERNAME }}
126184 DOCKERHUB_TOKEN : ${{ secrets.DOCKERHUB_TOKEN }}
127185 DRUID_ARTIFACTS_REGISTRY_USERNAME : ${{ vars.DRUID_ARTIFACTS_REGISTRY_USERNAME }}
128186 DRUID_ARTIFACTS_REGISTRY_TOKEN : ${{ secrets.DRUID_ARTIFACTS_REGISTRY_TOKEN }}
129187 docker-nix-arm64 :
130- needs : [release, docker-base-amd64 , docker-base-arm64 ]
188+ needs : [release, docker-base-manifest , docker-base-manifest-artifacts ]
131189 uses : ./.github/workflows/docker-build-reusable.yml
132190 with :
133191 dockerfile : Dockerfile.nix
134- tag_suffix : " -nix "
135- version : ${{ needs.release.outputs.version }}
136- version_tag : ${{ needs.release.outputs.version_tag }}
137- base_tag_suffix : " "
138- is_nix : true
139- runs_on : " ubuntu-24.04-arm "
192+ runs_on : ubuntu-24.04-arm64
193+ tags : |
194+ highcard/druid: ${{ needs.release.outputs.version_tag }}-nix-arm64
195+ artifacts.druid.gg/druid-team/druid:${{ needs.release.outputs.version_tag }}-nix-arm64
196+ build_args : |
197+ VERSION=${{ needs.release.outputs.version_tag }}
140198 secrets :
141199 DOCKERHUB_USERNAME : ${{ vars.DOCKERHUB_USERNAME }}
142200 DOCKERHUB_TOKEN : ${{ secrets.DOCKERHUB_TOKEN }}
@@ -147,13 +205,64 @@ jobs:
147205 uses : ./.github/workflows/docker-build-reusable.yml
148206 with :
149207 dockerfile : Dockerfile.nix
150- tag_suffix : " -nix-steamcmd"
151- version : ${{ needs.release.outputs.version }}
152- version_tag : ${{ needs.release.outputs.version_tag }}
153- base_tag_suffix : " -steamcmd"
154- is_nix : true
208+ tags : |
209+ highcard/druid:latest-nix-steamcmd
210+ highcard/druid:stable-nix-steamcmd
211+ highcard/druid:${{ needs.release.outputs.version }}-nix-steamcmd
212+ highcard/druid:${{ needs.release.outputs.version_tag }}-nix-steamcmd
213+ artifacts.druid.gg/druid-team/druid:latest-nix-steamcmd
214+ artifacts.druid.gg/druid-team/druid:stable-nix-steamcmd
215+ artifacts.druid.gg/druid-team/druid:${{ needs.release.outputs.version }}-nix-steamcmd
216+ artifacts.druid.gg/druid-team/druid:${{ needs.release.outputs.version_tag }}-nix-steamcmd
217+ build_args : |
218+ VERSION=${{ needs.release.outputs.version_tag }}-steamcmd
155219 secrets :
156220 DOCKERHUB_USERNAME : ${{ vars.DOCKERHUB_USERNAME }}
157221 DOCKERHUB_TOKEN : ${{ secrets.DOCKERHUB_TOKEN }}
158222 DRUID_ARTIFACTS_REGISTRY_USERNAME : ${{ vars.DRUID_ARTIFACTS_REGISTRY_USERNAME }}
159223 DRUID_ARTIFACTS_REGISTRY_TOKEN : ${{ secrets.DRUID_ARTIFACTS_REGISTRY_TOKEN }}
224+
225+ docker-nix-manifest :
226+ name : Create multi-arch nix manifests
227+ needs : [release, docker-nix-amd64, docker-nix-arm64]
228+ runs-on : ubuntu-latest
229+ if : ${{ needs.release.outputs.version != '' }}
230+ steps :
231+ - name : Login to Docker Hub
232+ uses : docker/login-action@v3
233+ with :
234+ username : ${{ vars.DOCKERHUB_USERNAME }}
235+ password : ${{ secrets.DOCKERHUB_TOKEN }}
236+ - name : Create and push nix manifests
237+ uses : Noelware/docker-manifest-action@v1
238+ with :
239+ inputs : highcard/druid:${{ needs.release.outputs.version_tag }}-nix-amd64,highcard/druid:${{ needs.release.outputs.version_tag }}-nix-arm64
240+ tags : |
241+ highcard/druid:latest-nix
242+ highcard/druid:stable-nix
243+ highcard/druid:${{ needs.release.outputs.version }}-nix
244+ highcard/druid:${{ needs.release.outputs.version_tag }}-nix
245+ push : true
246+
247+ docker-nix-manifest-artifacts :
248+ name : Create multi-arch nix manifests (artifacts registry)
249+ needs : [release, docker-nix-amd64, docker-nix-arm64]
250+ runs-on : ubuntu-latest
251+ if : ${{ needs.release.outputs.version != '' }}
252+ steps :
253+ - name : Login to Artifacts Registry
254+ uses : docker/login-action@v3
255+ with :
256+ registry : artifacts.druid.gg
257+ username : ${{ vars.DRUID_ARTIFACTS_REGISTRY_USERNAME }}
258+ password : ${{ secrets.DRUID_ARTIFACTS_REGISTRY_TOKEN }}
259+ - name : Create and push nix manifests (artifacts)
260+ uses : Noelware/docker-manifest-action@v1
261+ with :
262+ inputs : 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
263+ tags : |
264+ artifacts.druid.gg/druid-team/druid:latest-nix
265+ artifacts.druid.gg/druid-team/druid:stable-nix
266+ artifacts.druid.gg/druid-team/druid:${{ needs.release.outputs.version }}-nix
267+ artifacts.druid.gg/druid-team/druid:${{ needs.release.outputs.version_tag }}-nix
268+ push : true
0 commit comments