Skip to content

Docker Publish

Docker Publish #378

name: Docker Publish
on:
workflow_dispatch:
push:
branches: "main"
paths:
- Dockerfile*
schedule:
- cron: "0 1 * * 6"
jobs:
build-ubuntu-2404:
name: Build Ubuntu 24.04
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup QEMU
uses: docker/setup-qemu-action@v3
- name: Setup Docker Buildx
uses: docker/[email protected]
- name: Build
run: docker build -t gameservermanagers/steamcmd:ubuntu-24.04 -f ./Dockerfile.ubuntu-2404 .
- name: Login to DockerHub
uses: docker/[email protected]
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Login to GitHub Container Registry
uses: docker/[email protected]
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push (Ubuntu 24.04)
uses: docker/[email protected]
with:
context: .
file: ./Dockerfile.ubuntu-2404
platforms: linux/amd64
push: true
tags: |
gameservermanagers/steamcmd:latest
gameservermanagers/steamcmd:ubuntu
gameservermanagers/steamcmd:ubuntu-24.04
ghcr.io/gameservermanagers/steamcmd:latest
ghcr.io/gameservermanagers/steamcmd:ubuntu
ghcr.io/gameservermanagers/steamcmd:ubuntu-24.04
build-ubuntu-2204:
name: Build Ubuntu 22.04
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup QEMU
uses: docker/setup-qemu-action@v3
- name: Setup Docker Buildx
uses: docker/[email protected]
- name: Build
run: docker build -t gameservermanagers/steamcmd:ubuntu-22.04 -f ./Dockerfile.ubuntu-2204 .
- name: Login to DockerHub
uses: docker/[email protected]
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Login to GitHub Container Registry
uses: docker/[email protected]
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push (Ubuntu 22.04)
uses: docker/[email protected]
with:
context: .
file: ./Dockerfile.ubuntu-2204
platforms: linux/amd64
push: true
tags: |
gameservermanagers/steamcmd:ubuntu-22.04
ghcr.io/gameservermanagers/steamcmd:ubuntu-22.04
build-ubuntu-2004:
name: Build Ubuntu 20.04
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup QEMU
uses: docker/setup-qemu-action@v3
- name: Setup Docker Buildx
uses: docker/[email protected]
- name: Build
run: docker build -t gameservermanagers/steamcmd:ubuntu-20.04 -f ./Dockerfile.ubuntu-2004 .
- name: Login to DockerHub
uses: docker/[email protected]
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Login to GitHub Container Registry
uses: docker/[email protected]
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push (Ubuntu 20.04)
uses: docker/[email protected]
with:
context: .
file: ./Dockerfile.ubuntu-2004
platforms: linux/amd64
push: true
tags: |
gameservermanagers/steamcmd:ubuntu-20.04
ghcr.io/gameservermanagers/steamcmd:ubuntu-20.04
build-ubuntu-1804:
name: Build Ubuntu 18.04
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup QEMU
uses: docker/setup-qemu-action@v3
- name: Setup Docker Buildx
uses: docker/[email protected]
- name: Build
run: docker build -t gameservermanagers/steamcmd:ubuntu-18.04 -f ./Dockerfile.ubuntu-1804 .
- name: Login to DockerHub
uses: docker/[email protected]
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Login to GitHub Container Registry
uses: docker/[email protected]
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push (Ubuntu 18.04)
uses: docker/[email protected]
with:
context: .
file: ./Dockerfile.ubuntu-1804
platforms: linux/amd64
push: true
tags: |
gameservermanagers/steamcmd:ubuntu-18.04
ghcr.io/gameservermanagers/steamcmd:ubuntu-18.04
package-cleanup:
name: Cleanup Old GitHub Packages
needs: [ build-ubuntu-1804, build-ubuntu-2004, build-ubuntu-2204, build-ubuntu-2404 ]
runs-on: ubuntu-latest
steps:
- name: Delete Package Versions
uses: actions/delete-package-versions@v5
with:
package-name: steamcmd
package-type: container
min-versions-to-keep: 1
delete-only-untagged-versions: true