Browse Source

build: update Dockerfile for Ubuntu 22.04, 20.04, and 18.04

- Updated the Dockerfile for Ubuntu 22.04 to build gameservermanagers/steamcmd:ubuntu-22.04 image.
- Updated the Dockerfile for Ubuntu 20.04 to build gameservermanagers/steamcmd:ubuntu-20.04 image.
- Updated the Dockerfile for Ubuntu 18.04 to build gameservermanagers/steamcmd:ubuntu-18.04 image.

The changes include setting up QEMU and Docker Buildx, logging in to DockerHub and GitHub Container Registry, and building and pushing the images to their respective registries.

Closes #123
pull/29/head
Daniel Gibbs 2 years ago
parent
commit
eec7fc5047
  1. 51
      .github/workflows/docker-publish.yml

51
.github/workflows/docker-publish.yml

@ -3,37 +3,42 @@ name: Docker Publish
on: on:
workflow_dispatch: workflow_dispatch:
push: push:
branches: ["main", "master"] branches: "main"
paths: paths:
- Dockerfile* - Dockerfile*
schedule: schedule:
- cron: "0 22 * * *" - cron: "0 1 * * 6"
jobs: jobs:
ubuntu-2204: build-ubuntu-2204:
name: Build Ubuntu 22.04
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v3 uses: actions/checkout@v3
- name: Set up QEMU
- name: Setup QEMU
uses: docker/setup-qemu-action@v2 uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
- name: Setup Docker Buildx
uses: docker/[email protected] uses: docker/[email protected]
- name: Build - name: Build
run: docker build -t gameservermanagers/steamcmd:ubuntu-22.04 -f ./Dockerfile.ubuntu-2204 . run: docker build -t gameservermanagers/steamcmd:ubuntu-22.04 -f ./Dockerfile.ubuntu-2204 .
- name: Test
run: docker run --rm gameservermanagers/steamcmd:ubuntu-22.04 steamcmd +quit
- name: Login to DockerHub - name: Login to DockerHub
uses: docker/[email protected] uses: docker/[email protected]
with: with:
username: ${{ secrets.DOCKER_HUB_USERNAME }} username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Login to GitHub Container Registry - name: Login to GitHub Container Registry
uses: docker/[email protected] uses: docker/[email protected]
with: with:
registry: ghcr.io registry: ghcr.io
username: ${{ github.actor }} username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }} password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push (Ubuntu 22.04) - name: Build and push (Ubuntu 22.04)
uses: docker/[email protected] uses: docker/[email protected]
with: with:
@ -49,30 +54,35 @@ jobs:
ghcr.io/gameservermanagers/steamcmd:ubuntu ghcr.io/gameservermanagers/steamcmd:ubuntu
ghcr.io/gameservermanagers/steamcmd:ubuntu-22.04 ghcr.io/gameservermanagers/steamcmd:ubuntu-22.04
ubuntu-2004: build-ubuntu-2004:
name: Build Ubuntu 20.04
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v3 uses: actions/checkout@v3
- name: Set up QEMU
- name: Setup QEMU
uses: docker/setup-qemu-action@v2 uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
- name: Setup Docker Buildx
uses: docker/[email protected] uses: docker/[email protected]
- name: Build - name: Build
run: docker build -t gameservermanagers/steamcmd:ubuntu-20.04 -f ./Dockerfile.ubuntu-2004 . run: docker build -t gameservermanagers/steamcmd:ubuntu-20.04 -f ./Dockerfile.ubuntu-2004 .
- name: Test
run: docker run --rm gameservermanagers/steamcmd:ubuntu-20.04 steamcmd +quit
- name: Login to DockerHub - name: Login to DockerHub
uses: docker/[email protected] uses: docker/[email protected]
with: with:
username: ${{ secrets.DOCKER_HUB_USERNAME }} username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Login to GitHub Container Registry - name: Login to GitHub Container Registry
uses: docker/[email protected] uses: docker/[email protected]
with: with:
registry: ghcr.io registry: ghcr.io
username: ${{ github.actor }} username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }} password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push (Ubuntu 20.04) - name: Build and push (Ubuntu 20.04)
uses: docker/[email protected] uses: docker/[email protected]
with: with:
@ -84,31 +94,36 @@ jobs:
gameservermanagers/steamcmd:ubuntu-20.04 gameservermanagers/steamcmd:ubuntu-20.04
ghcr.io/gameservermanagers/steamcmd:ubuntu-20.04 ghcr.io/gameservermanagers/steamcmd:ubuntu-20.04
ubuntu-1804: build-ubuntu-1804:
name: Build Ubuntu 18.04
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v3 uses: actions/checkout@v3
- name: Set up QEMU
- name: Setup QEMU
uses: docker/setup-qemu-action@v2 uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
- name: Setup Docker Buildx
uses: docker/[email protected] uses: docker/[email protected]
- name: Build - name: Build
run: docker build -t gameservermanagers/steamcmd:ubuntu-18.04 -f ./Dockerfile.ubuntu-1804 . run: docker build -t gameservermanagers/steamcmd:ubuntu-18.04 -f ./Dockerfile.ubuntu-1804 .
- name: Test
run: docker run --rm gameservermanagers/steamcmd:ubuntu-18.04 steamcmd +quit
- name: Login to DockerHub - name: Login to DockerHub
uses: docker/[email protected] uses: docker/[email protected]
with: with:
username: ${{ secrets.DOCKER_HUB_USERNAME }} username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Login to GitHub Container Registry - name: Login to GitHub Container Registry
uses: docker/[email protected] uses: docker/[email protected]
with: with:
registry: ghcr.io registry: ghcr.io
username: ${{ github.actor }} username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }} password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push (Ubuntu 20.04)
- name: Build and push (Ubuntu 18.04)
uses: docker/[email protected] uses: docker/[email protected]
with: with:
context: . context: .

Loading…
Cancel
Save