Files
yolks/.github/workflows/steamcmd.yml
2025-09-22 11:39:28 -07:00

60 lines
1.9 KiB
YAML

name: build steamcmd
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * 1"
push:
branches:
- master
paths:
- steamcmd/**
permissions:
packages: write
jobs:
push:
name: "steamcmd:${{ matrix.distro }}"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
distro:
- debian
- ubuntu
- dotnet
- proton
- proton_8
- sniper
steps:
- uses: actions/checkout@v4
- uses: docker/setup-buildx-action@v3
with:
buildkitd-flags: --debug
- id: lower-repo
name: Repository to lowercase
run: |
echo "repository=${GITHUB_REPOSITORY_OWNER@L}" >> $GITHUB_OUTPUT
- uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ steps.lower-repo.outputs.repository }}
password: ${{ secrets.REGISTRY_TOKEN || secrets.GITHUB_TOKEN }}
- uses: docker/build-push-action@v6
with:
context: ./steamcmd
file: ./steamcmd/${{ matrix.distro }}/Dockerfile
platforms: linux/amd64
push: true
tags: |
ghcr.io/${{ steps.lower-repo.outputs.repository }}/steamcmd:${{ matrix.distro }}
${{ github.repository_owner == 'pelican-eggs' && format('ghcr.io/parkervcp/steamcmd:{0}', matrix.distro) || '' }}
# Enable caching for faster builds (reuses layers across runs)
cache-from: type=gha
cache-to: type=gha,mode=max
# Add build args if needed for multi-platform or custom vars (e.g., for TARGETOS/TARGETARCH)
build-args: |
TARGETOS=linux
TARGETARCH=amd64
# Optional: Disable push on failure for debugging (set to false to always push if build succeeds)
# outputs: type=image,name=image-${{ matrix.distro }},id=image-${{ matrix.distro }}-id