From 022e5dd02e2e2d0f34f1995cfe8409e5ab011460 Mon Sep 17 00:00:00 2001 From: scottyhardy Date: Sat, 7 Dec 2024 13:36:13 +1100 Subject: [PATCH 1/4] feat: scrape end of life webpage for latest ubuntu lts version and codename --- .github/workflows/build.yml | 13 +++++++++++-- .github/workflows/test.yml | 8 +++++++- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 38c01d1..74befa7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -11,6 +11,15 @@ jobs: docker: runs-on: ubuntu-latest steps: + - + name: Get Latest Ubuntu LTS Version and Code Name + run: | + ubuntu_version=$(curl -s https://endoflife.date/ubuntu | awk '/LTS/ {print $1; exit}') + ubuntu_codename=$(curl -s https://endoflife.date/ubuntu | awk '/LTS/ {print tolower($2); exit}' | sed s/\'//) + echo "Latest Ubuntu LTS Version: $ubuntu_version" + echo "Latest Ubuntu LTS Code Name: $ubuntu_codename" + echo "::set-output name=ubuntu_version::$ubuntu_version" + echo "::set-output name=ubuntu_codename::$ubuntu_codename" - name: Checkout uses: actions/checkout@v2 @@ -31,8 +40,8 @@ jobs: id: docker_build uses: docker/build-push-action@v2 env: - ubuntu_codename: focal - ubuntu_version: 20.04 + ubuntu_codename: ${{ steps.docker.outputs.ubuntu_codename }} + ubuntu_version: ${{ steps.docker.outputs.ubuntu_version }} with: build-args: | TAG=${{ env.ubuntu_codename }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 151880d..a8e4b41 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -9,6 +9,12 @@ jobs: docker: runs-on: ubuntu-latest steps: + - + name: Get Latest Ubuntu LTS Code Name + run: | + ubuntu_codename=$(curl -s https://endoflife.date/ubuntu | awk '/LTS/ {print tolower($2); exit}' | sed s/\'//) + echo "Latest Ubuntu LTS Code Name: $ubuntu_codename" + echo "::set-output name=ubuntu_codename::$ubuntu_codename" - name: Checkout uses: actions/checkout@v2 @@ -23,7 +29,7 @@ jobs: id: docker_build uses: docker/build-push-action@v2 env: - ubuntu_codename: focal + ubuntu_codename: ${{ steps.docker.outputs.ubuntu_codename }} with: build-args: | TAG=${{ env.ubuntu_codename }} From dbf012e159f1c1eb6892bc8dab4fe971378a8854 Mon Sep 17 00:00:00 2001 From: scottyhardy Date: Sat, 7 Dec 2024 13:56:29 +1100 Subject: [PATCH 2/4] docs: use lts version for ubuntu instead of latest --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 936d7ef..86afc86 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Docker image with RDP server using [xrdp](http://xrdp.org) on Ubuntu with [XFCE](https://xfce.org). -Images are built weekly using the Ubuntu Docker image with the 'latest' tag. +Images are built weekly using the latest LTS version of the Ubuntu Docker image as its base. ## Running manually with `docker` commands From ea726f741c91eb80c8418e1898df8a6242be7027 Mon Sep 17 00:00:00 2001 From: scottyhardy Date: Sat, 7 Dec 2024 14:41:52 +1100 Subject: [PATCH 3/4] fix: use github environment files --- .github/workflows/build.yml | 7 ++----- .github/workflows/test.yml | 4 +--- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 74befa7..e9e5a5b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -18,8 +18,8 @@ jobs: ubuntu_codename=$(curl -s https://endoflife.date/ubuntu | awk '/LTS/ {print tolower($2); exit}' | sed s/\'//) echo "Latest Ubuntu LTS Version: $ubuntu_version" echo "Latest Ubuntu LTS Code Name: $ubuntu_codename" - echo "::set-output name=ubuntu_version::$ubuntu_version" - echo "::set-output name=ubuntu_codename::$ubuntu_codename" + echo "ubuntu_version=$ubuntu_version" >> "$GITHUB_ENV" + echo "ubuntu_codename=$ubuntu_codename" >> "$GITHUB_ENV" - name: Checkout uses: actions/checkout@v2 @@ -39,9 +39,6 @@ jobs: name: Build and push id: docker_build uses: docker/build-push-action@v2 - env: - ubuntu_codename: ${{ steps.docker.outputs.ubuntu_codename }} - ubuntu_version: ${{ steps.docker.outputs.ubuntu_version }} with: build-args: | TAG=${{ env.ubuntu_codename }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a8e4b41..6a4002a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -14,7 +14,7 @@ jobs: run: | ubuntu_codename=$(curl -s https://endoflife.date/ubuntu | awk '/LTS/ {print tolower($2); exit}' | sed s/\'//) echo "Latest Ubuntu LTS Code Name: $ubuntu_codename" - echo "::set-output name=ubuntu_codename::$ubuntu_codename" + echo "ubuntu_codename=$ubuntu_codename" >> "$GITHUB_ENV" - name: Checkout uses: actions/checkout@v2 @@ -28,8 +28,6 @@ jobs: name: Build id: docker_build uses: docker/build-push-action@v2 - env: - ubuntu_codename: ${{ steps.docker.outputs.ubuntu_codename }} with: build-args: | TAG=${{ env.ubuntu_codename }} From f51219a824a02454afcc7d12b7c86db84ea0668b Mon Sep 17 00:00:00 2001 From: scottyhardy Date: Sat, 7 Dec 2024 14:54:53 +1100 Subject: [PATCH 4/4] fix: use new sources file and format for ubuntu 24.04 noble --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 0c142fd..a648a31 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,7 @@ ARG TAG=latest FROM ubuntu:$TAG as builder -RUN sed -i -E 's/^# deb-src /deb-src /g' /etc/apt/sources.list \ +RUN sed -i 's/^Types: deb$/Types: deb deb-src/' /etc/apt/sources.list.d/ubuntu.sources \ && apt-get update \ && DEBIAN_FRONTEND="noninteractive" apt-get install -y --no-install-recommends \ build-essential \