Skip to content

feature: present-locked capture #171

feature: present-locked capture

feature: present-locked capture #171

Workflow file for this run

name: Build
on:
push:
branches:
- "main"
workflow_dispatch:
jobs:
build-push-and-release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and Push Docker image
uses: docker/build-push-action@v6
with:
push: true
tags: |
ghcr.io/${{ github.repository_owner }}/game-streamer:latest
ghcr.io/${{ github.repository_owner }}/game-streamer:${{ github.sha }}
# Registry-backed cache: a dedicated :buildcache tag on ghcr stores
# the layer cache across runs (no 10GB GHA-cache ceiling, survives
# branch/PR boundaries). First build is a full rebuild; every
# subsequent build reuses unchanged apt/steamcmd/CS2 layers.
cache-from: |
type=registry,ref=ghcr.io/${{ github.repository_owner }}/game-streamer:buildcache
cache-to: |
type=registry,ref=ghcr.io/${{ github.repository_owner }}/game-streamer:buildcache,mode=max
- name: Delete Package Versions
uses: actions/delete-package-versions@v5
with:
package-name: game-streamer
package-type: container
min-versions-to-keep: 8
ignore-versions: '^buildcache-*'