fix: 🐝 Fix an issue where IMAGE was not being properly passed to … #102
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Publish Docker Images 🐋 📦 | |
on: | |
push: | |
branches: | |
- main | |
jobs: | |
version: | |
runs-on: ubuntu-latest | |
outputs: | |
version: ${{ steps.create_tag.outputs.new_tag }} | |
steps: | |
- name: Checkout 🛎️ | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: "0" | |
- name: Bump Version and Create Tag 🏷️ | |
id: create_tag | |
uses: anothrNick/github-tag-action@1.70.0 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
WITH_V: true | |
DRY_RUN: true | |
build: | |
needs: version | |
runs-on: ubuntu-latest | |
permissions: | |
packages: write | |
contents: write | |
attestations: write | |
id-token: write | |
strategy: | |
matrix: | |
game: | |
[ | |
cstrike, | |
cstrike-legacy, | |
valve, | |
valve-legacy, | |
czero, | |
czero-legacy, | |
dmc, | |
gearbox, | |
ricochet, | |
dod, | |
tfc, | |
] | |
steps: | |
- name: Checkout 🛎️ | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: "0" | |
- name: Set up Docker Buildx 🛠️ | |
uses: docker/setup-buildx-action@v3 | |
- name: Login to DockerHub 🐳 | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
- name: Login to GitHub Container Registry 🐳 | |
uses: docker/login-action@v3 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Set GAME environment variable 🎮 | |
working-directory: ./container | |
run: | | |
GAME=${{ matrix.game }} | |
GAME=${GAME%-legacy} | |
echo "GAME=$GAME" >> $GITHUB_ENV | |
- name: Replace fallback value in Dockerfile and entrypoint.sh | |
working-directory: ./container | |
run: | | |
sed -i "s/\${GAME:-valve}/\${GAME:-${{ env.GAME }}}/g" Dockerfile | |
sed -i "s/\${GAME:-valve}/\${GAME:-${{ env.GAME }}}/g" entrypoint.sh | |
- name: Configure SteamCMD to install the legacy engine version 🚒 | |
if: contains(matrix.game, 'legacy') | |
run: echo "FLAG=-beta steam_legacy" >> $GITHUB_ENV | |
- name: Build and Push Docker Image to DockerHub 🐳 | |
uses: docker/build-push-action@v6 | |
env: | |
GAME: ${{ env.GAME }} | |
FLAG: ${{ env.FLAG }} | |
VERSION: ${{ needs.version.outputs.version }} | |
IMAGE: jives/hlds:${{ matrix.game }}-${{ needs.version.outputs.version }} | |
with: | |
context: ./container | |
push: true | |
tags: | | |
jives/hlds:${{ matrix.game }} | |
jives/hlds:${{ matrix.game }}-${{ needs.version.outputs.version }} | |
build-args: | | |
GAME=${{ env.GAME}} | |
FLAG=${{ env.FLAG }} | |
VERSION=${{ needs.version.outputs.version }} | |
IMAGE=jives/hlds:${{ matrix.game }}-${{ needs.version.outputs.version }} | |
- name: Set repo owner to lowercase | |
id: repo_owner | |
run: echo "::set-output name=repo_owner::$(echo ${{ github.repository_owner }} | awk '{print tolower($0)}')" | |
- name: Build and Push Docker Image to GitHub Container Registry 🐳 | |
uses: docker/build-push-action@v6 | |
env: | |
GAME: ${{ matrix.game }} | |
FLAG: ${{ env.FLAG }} | |
VERSION: ${{ needs.version.outputs.version }} | |
IMAGE: ghcr.io/${{ steps.repo_owner.outputs.repo_owner }}/hlds:${{ matrix.game }}-${{ needs.version.outputs.version }} | |
with: | |
context: ./container | |
push: true | |
tags: | | |
ghcr.io/${{ steps.repo_owner.outputs.repo_owner }}/hlds:${{ matrix.game }} | |
ghcr.io/${{ steps.repo_owner.outputs.repo_owner }}/hlds:${{ matrix.game }}-${{ needs.version.outputs.version }} | |
build-args: | | |
GAME=${{ env.GAME }} | |
FLAG=${{ env.FLAG }} | |
VERSION=${{ needs.version.outputs.version }} | |
IMAGE=ghcr.io/${{ steps.repo_owner.outputs.repo_owner }}/hlds:${{ matrix.game }}-${{ needs.version.outputs.version }} | |
publish: | |
needs: build | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
steps: | |
- name: Checkout 🛎️ | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: "0" | |
- name: Bump Version and Create Tag 🏷️ | |
id: create_tag | |
if: github.ref == 'refs/heads/main' | |
uses: anothrNick/github-tag-action@1.70.0 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
WITH_V: true | |
DEFAULT_BUMP: patch | |
- name: Create Release 🚀 | |
id: create_release | |
if: github.ref == 'refs/heads/main' | |
uses: softprops/action-gh-release@v2 | |
with: | |
tag_name: ${{ steps.create_tag.outputs.new_tag }} | |
name: ${{ steps.create_tag.outputs.new_tag }} | |
draft: false | |
prerelease: false | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |