From 397dcae5b2ab2ba8196367d4de20424460426aff Mon Sep 17 00:00:00 2001 From: Daniel Gibbs Date: Sun, 5 May 2024 23:41:45 +0100 Subject: [PATCH] feat: add Ubuntu 24.04 --- .github/workflows/docker-publish.yml | 48 +++++++++++++++++++++++++--- Dockerfile.ubuntu-2404 | 28 ++++++++++++++++ README.md | 1 + 3 files changed, 73 insertions(+), 4 deletions(-) create mode 100644 Dockerfile.ubuntu-2404 diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index d174e0a..32ff240 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -9,6 +9,50 @@ on: - 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/setup-buildx-action@v3.3.0 + + - name: Build + run: docker build -t gameservermanagers/steamcmd:ubuntu-24.04 -f ./Dockerfile.ubuntu-2404 . + + - name: Login to DockerHub + uses: docker/login-action@v3.1.0 + with: + username: ${{ secrets.DOCKER_HUB_USERNAME }} + password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} + + - name: Login to GitHub Container Registry + uses: docker/login-action@v3.1.0 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Build and push (Ubuntu 24.04) + uses: docker/build-push-action@v5.3.0 + 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 @@ -46,11 +90,7 @@ jobs: platforms: linux/amd64 push: true tags: | - gameservermanagers/steamcmd:latest - gameservermanagers/steamcmd:ubuntu gameservermanagers/steamcmd:ubuntu-22.04 - ghcr.io/gameservermanagers/steamcmd:latest - ghcr.io/gameservermanagers/steamcmd:ubuntu ghcr.io/gameservermanagers/steamcmd:ubuntu-22.04 build-ubuntu-2004: diff --git a/Dockerfile.ubuntu-2404 b/Dockerfile.ubuntu-2404 new file mode 100644 index 0000000..f609ed6 --- /dev/null +++ b/Dockerfile.ubuntu-2404 @@ -0,0 +1,28 @@ +FROM ubuntu:24.04 + +LABEL maintainer="LinuxGSM " +ARG DEBIAN_FRONTEND=noninteractive + +SHELL ["/bin/bash", "-o", "pipefail", "-c"] + +# Install SteamCMD +RUN echo "**** Install SteamCMD ****" \ + && echo steam steam/question select "I AGREE" | debconf-set-selections \ + && echo steam steam/license note '' | debconf-set-selections \ + && dpkg --add-architecture i386 \ + && apt-get update \ + && apt-get install -y --no-install-recommends ca-certificates locales lib32gcc-s1 libsdl2-2.0-0:i386 steamcmd \ + && ln -s /usr/games/steamcmd /usr/bin/steamcmd \ + && apt-get -y autoremove \ + && apt-get -y clean \ + && rm -rf /var/lib/apt/lists/* \ + && rm -rf /tmp/* \ + && rm -rf /var/tmp/* + +# Add unicode support +RUN locale-gen en_US.UTF-8 +ENV LANG 'en_US.UTF-8' +ENV LANGUAGE 'en_US:en' + +ENTRYPOINT ["steamcmd"] +CMD ["+help", "+quit"] diff --git a/README.md b/README.md index b97334f..9c0e490 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,7 @@ SteamCMD is a command-line version of the Steam client. It allows you to downloa ## Tags - `latest`, `ubuntu` - Latest Ubuntu LTS release +- `ubuntu-24.04` - Ubuntu 24.04 LTS 'Noble Numbat' - `ubuntu-22.04` - Ubuntu 22.04 LTS 'Jammy Jackalope' - `ubuntu-20.04` - Ubuntu 20.04 LTS 'Focal Fossa' - `ubuntu-18.04` - Ubuntu 18.04 LTS 'Bionic Beaver'