@@ -43,30 +43,95 @@ jobs:
4343 bin/druid_rcon_web_rust
4444 .docker/entrypoint.sh
4545 .docker/druid-install-command.sh
46- docker :
46+ docker-base :
4747 runs-on : ubuntu-latest
4848 needs : build
49+ strategy :
50+ matrix :
51+ include :
52+ - dockerfile : Dockerfile
53+ tag_suffix : " "
54+ - dockerfile : Dockerfile.steamcmd
55+ tag_suffix : " -steamcmd"
4956 steps :
5057 - uses : actions/checkout@v4
5158 with :
5259 fetch-depth : 0
60+ - name : Set up Docker Buildx
61+ uses : docker/setup-buildx-action@v3
5362 - name : Login to Docker Hub
5463 uses : docker/login-action@v3
5564 with :
5665 username : ${{ vars.DOCKERHUB_USERNAME }}
5766 password : ${{ secrets.DOCKERHUB_TOKEN }}
67+ - name : Login to Artifacts Registry
68+ uses : docker/login-action@v3
69+ with :
70+ registry : artifacts.druid.gg
71+ username : ${{ vars.DRUID_ARTIFACTS_REGISTRY_USERNAME }}
72+ password : ${{ secrets.DRUID_ARTIFACTS_REGISTRY_TOKEN }}
5873 # stable is still pretty bleeding edge at this point
5974 - name : Build and push Docker image
60- uses : docker/build-push-action@v4
75+ uses : docker/build-push-action@v6
6176 with :
62- file : Dockerfile
77+ context : .
78+ file : ${{ matrix.dockerfile }}
6379 tags : |
64- highcard/druidd-base:latest
65- highcard/druidd-base:stable
66- highcard/druidd-base:${{ needs.build.outputs.version }}
67- highcard/druidd-base:${{ needs.build.outputs.version_tag }}
80+ highcard/druid:latest${{ matrix.tag_suffix }}
81+ highcard/druid:stable${{ matrix.tag_suffix }}
82+ highcard/druid:${{ needs.build.outputs.version }}${{ matrix.tag_suffix }}
83+ highcard/druid:${{ needs.build.outputs.version_tag }}${{ matrix.tag_suffix }}
84+ artifacts.druid.gg/druid-team/druid:latest${{ matrix.tag_suffix }}
85+ artifacts.druid.gg/druid-team/druid:stable${{ matrix.tag_suffix }}
86+ artifacts.druid.gg/druid-team/druid:${{ needs.build.outputs.version }}${{ matrix.tag_suffix }}
87+ artifacts.druid.gg/druid-team/druid:${{ needs.build.outputs.version_tag }}${{ matrix.tag_suffix }}
6888 push : true
6989 build-args : |
7090 VERSION=${{ needs.build.outputs.version }}
7191 GIT_COMMIT=${{ github.sha }}
7292 GIT_BRANCH=${{ github.ref_name }}
93+
94+ docker-nix :
95+ runs-on : ubuntu-latest
96+ needs : [build, docker-base]
97+ strategy :
98+ matrix :
99+ include :
100+ - base_tag_suffix : " "
101+ tag_suffix : " -nix"
102+ - base_tag_suffix : " -steamcmd"
103+ tag_suffix : " -nix-steamcmd"
104+ steps :
105+ - uses : actions/checkout@v4
106+ with :
107+ fetch-depth : 0
108+ - name : Set up Docker Buildx
109+ uses : docker/setup-buildx-action@v3
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 : Login to Artifacts Registry
116+ uses : docker/login-action@v3
117+ with :
118+ registry : artifacts.druid.gg
119+ username : ${{ vars.DRUID_ARTIFACTS_REGISTRY_USERNAME }}
120+ password : ${{ secrets.DRUID_ARTIFACTS_REGISTRY_TOKEN }}
121+ - name : Build and push Nix Docker image
122+ uses : docker/build-push-action@v6
123+ with :
124+ context : .
125+ file : Dockerfile.nix
126+ tags : |
127+ highcard/druid:latest${{ matrix.tag_suffix }}
128+ highcard/druid:stable${{ matrix.tag_suffix }}
129+ highcard/druid:${{ needs.build.outputs.version }}${{ matrix.tag_suffix }}
130+ highcard/druid:${{ needs.build.outputs.version_tag }}${{ matrix.tag_suffix }}
131+ artifacts.druid.gg/druid-team/druid:latest${{ matrix.tag_suffix }}
132+ artifacts.druid.gg/druid-team/druid:stable${{ matrix.tag_suffix }}
133+ artifacts.druid.gg/druid-team/druid:${{ needs.build.outputs.version }}${{ matrix.tag_suffix }}
134+ artifacts.druid.gg/druid-team/druid:${{ needs.build.outputs.version_tag }}${{ matrix.tag_suffix }}
135+ push : true
136+ build-args : |
137+ VERSION=${{ needs.build.outputs.version }}${{ matrix.base_tag_suffix }}
0 commit comments