@@ -49,33 +49,42 @@ runs:
4949 run : |
5050 cd ${{ inputs.path }}/docker
5151
52+ start=$SECONDS
5253 docker build \
5354 --build-arg="GMOD_BRANCH=${{ inputs.gmod_branch }}" \
5455 --build-arg="GAME_VERSION=${{ inputs.game_version }}" \
5556 --build-arg="GLUA_DEV_TAG=${{ inputs.tag_name }}" \
5657 --tag glua_dev_fat:latest \
5758 .
59+ echo "::notice::Docker build took $((SECONDS - start))s"
5860
59- - name : Make slim image
61+ - name : Determine base image name
62+ id : base
6063 shell : bash
6164 run : |
62- cd ${{ inputs.path }}/docker
63-
6465 if [ "${{ inputs.gmod_branch }}" = "x86-64" ]; then
65- BASE =ghcr.io/cfc-servers/glua.dev/64bit
66+ echo "name =ghcr.io/cfc-servers/glua.dev/64bit" >> "$GITHUB_OUTPUT"
6667 elif [ "${{ inputs.gmod_branch }}" = "dev" ]; then
67- BASE =ghcr.io/cfc-servers/glua.dev/dev
68+ echo "name =ghcr.io/cfc-servers/glua.dev/dev" >> "$GITHUB_OUTPUT"
6869 elif [ "${{ inputs.gmod_branch }}" = "prerelease" ]; then
69- BASE =ghcr.io/cfc-servers/glua.dev/prerelease
70+ echo "name =ghcr.io/cfc-servers/glua.dev/prerelease" >> "$GITHUB_OUTPUT"
7071 else
71- BASE =ghcr.io/cfc-servers/glua.dev
72+ echo "name =ghcr.io/cfc-servers/glua.dev" >> "$GITHUB_OUTPUT"
7273 fi
7374
75+ - name : Make slim image
76+ shell : bash
77+ run : |
78+ cd ${{ inputs.path }}/docker
79+
80+ BASE=${{ steps.base.outputs.name }}
7481 rawVersionTag=${{ inputs.tag_name }}
7582 id=${{ inputs.game_version }}
7683
84+ start=$SECONDS
7785 $GITHUB_WORKSPACE/docker-slim build \
7886 --target glua_dev_fat:latest \
87+ --http-probe-off \
7988 --continue-after 30 \
8089 --show-clogs --show-blogs \
8190 --include-bin "/usr/bin/date" \
@@ -84,10 +93,14 @@ runs:
8493 --include-bin "/usr/bin/screen" \
8594 --include-path "/www" \
8695 --include-path "/home/steam/metadata" \
96+ --include-bin "/home/steam/gmodserver/bin/libbass.so" \
97+ --include-bin "/home/steam/gmodserver/bin/linux64/libbass.so" \
98+ --include-bin "/home/steam/gmodserver/bin/gmod_audio.so" \
8799 --include-shell \
88100 --expose 8080 \
89101 --tag $BASE:$rawVersionTag \
90102 --tag $BASE:gamebuild-$id
103+ echo "::notice::Docker slim took $((SECONDS - start))s"
91104
92105 # Tag image with "0.27" if we push tag "0.27.5"
93106 # but not if we push tag "0.27-pre5"
@@ -109,27 +122,24 @@ runs:
109122 username : ${{ github.actor }}
110123 password : ${{ inputs.github_token }}
111124
112- - name : Tag and push slim image
125+ - name : Push to GitHub Container Registry
113126 shell : bash
114127 run : |
115- if [ "${{ inputs.gmod_branch }}" = "x86-64" ]; then
116- BASE=ghcr.io/cfc-servers/glua.dev/64bit
117- elif [ "${{ inputs.gmod_branch }}" = "dev" ]; then
118- BASE=ghcr.io/cfc-servers/glua.dev/dev
119- elif [ "${{ inputs.gmod_branch }}" = "prerelease" ]; then
120- BASE=ghcr.io/cfc-servers/glua.dev/prerelease
121- else
122- BASE=ghcr.io/cfc-servers/glua.dev
123- fi
128+ start=$SECONDS
129+ docker push "${{ steps.base.outputs.name }}" --all-tags
130+ echo "::notice::GHCR push took $((SECONDS - start))s"
124131
125- docker push "$BASE" --all-tags
132+ - name : Logout from GHCR
133+ shell : bash
134+ run : docker logout ghcr.io
126135
127136 - name : Push to Cloudflare Container Registry
128137 shell : bash
129138 env :
130139 CLOUDFLARE_API_TOKEN : ${{ inputs.cloudflare_token }}
131140 CLOUDFLARE_ACCOUNT_ID : ${{ inputs.cloudflare_account_id }}
132141 run : |
142+ start=$SECONDS
133143 if [ "${{ inputs.gmod_branch }}" = "x86-64" ]; then
134144 docker tag "ghcr.io/cfc-servers/glua.dev/64bit:latest" "glua-dev-sixtyfour:cf"
135145 npx wrangler containers push "glua-dev-sixtyfour:cf"
@@ -146,6 +156,7 @@ runs:
146156 docker tag "ghcr.io/cfc-servers/glua.dev:latest" "glua-dev-public:cf"
147157 npx wrangler containers push "glua-dev-public:cf"
148158 fi
159+ echo "::notice::Cloudflare push took $((SECONDS - start))s"
149160
150161 - name : Deploy Worker to roll out new container image
151162 shell : bash
0 commit comments