From e0e3c45367614241f4745adf02e85edd2120040d Mon Sep 17 00:00:00 2001 From: Charles Date: Tue, 28 Jan 2025 18:55:35 +0000 Subject: [PATCH] Docker updates. Github action updates. Fix for github actions. --- ...docker-build-on-push_and_pull_request.yaml | 38 +++++++++---------- .github/workflows/docker-build-on-tag.yaml | 16 ++++---- docker/Dockerfile | 16 ++++---- docker/classic/Dockerfile | 6 +-- 4 files changed, 39 insertions(+), 37 deletions(-) diff --git a/.github/workflows/docker-build-on-push_and_pull_request.yaml b/.github/workflows/docker-build-on-push_and_pull_request.yaml index 9e5b4a6ef..f12fb88ee 100644 --- a/.github/workflows/docker-build-on-push_and_pull_request.yaml +++ b/.github/workflows/docker-build-on-push_and_pull_request.yaml @@ -8,12 +8,12 @@ name: Build and push docker (push/pull request) on: workflow_dispatch: - # push: - # branches: - # - master - # - development - # pull_request: - # types: [opened, synchronize, reopened, ready_for_review] + push: + branches: + - master + - development + pull_request: + types: [opened, synchronize, reopened, ready_for_review] env: DOCKER_PLATFORMS: linux/386,linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64 @@ -22,10 +22,10 @@ env: jobs: test-build-on-pull-request: if: github.event_name == 'pull_request' - runs-on: ubuntu-24.04-arm + runs-on: ubuntu-22.04 steps: - name: Checkout Repo - uses: actions/checkout@v3 + uses: actions/checkout@v4.2.2 with: fetch-depth: 0 ref: ${{github.event.pull_request.head.ref}} @@ -38,13 +38,13 @@ jobs: echo "SHAIRPORT_SYNC_BRANCH=${SHAIRPORT_SYNC_BRANCH}" >> $GITHUB_ENV - name: Set up QEMU - uses: docker/setup-qemu-action@v2.1.0 + uses: docker/setup-qemu-action@v3.3.0 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2.5.0 + uses: docker/setup-buildx-action@v3.8.0 - name: Build (classic) - uses: docker/build-push-action@v4.0.0 + uses: docker/build-push-action@v6.13.0 with: context: ./ file: ./docker/classic/Dockerfile @@ -53,7 +53,7 @@ jobs: SHAIRPORT_SYNC_BRANCH=${{ env.SHAIRPORT_SYNC_BRANCH }} - name: Build - uses: docker/build-push-action@v4.0.0 + uses: docker/build-push-action@v6.13.0 with: context: ./ file: ./docker/Dockerfile @@ -64,10 +64,10 @@ jobs: build-and-publish: if: github.event_name != 'pull_request' - runs-on: ubuntu-24.04-arm + runs-on: ubuntu-22.04 steps: - name: Checkout - uses: actions/checkout@v3.5.2 + uses: actions/checkout@v4.2.2 with: fetch-depth: 0 @@ -86,20 +86,20 @@ jobs: echo "IMAGE_TAG_BASE=development" >> $GITHUB_ENV - name: Set up QEMU - uses: docker/setup-qemu-action@v2.1.0 + uses: docker/setup-qemu-action@v3.3.0 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2.5.0 + uses: docker/setup-buildx-action@v3.8.0 - name: Login to Docker Registry - uses: docker/login-action@v2.1.0 + uses: docker/login-action@v3.3.0 with: registry: ${{ secrets.DOCKER_REGISTRY }} username: ${{ secrets.DOCKER_REGISTRY_USER }} password: ${{ secrets.DOCKER_REGISTRY_TOKEN }} - name: Build and push (classic) - uses: docker/build-push-action@v4.0.0 + uses: docker/build-push-action@v6.13.0 with: context: ./ file: ./docker/classic/Dockerfile @@ -110,7 +110,7 @@ jobs: SHAIRPORT_SYNC_BRANCH=${{ env.SHAIRPORT_SYNC_BRANCH }} - name: Build and push - uses: docker/build-push-action@v4.0.0 + uses: docker/build-push-action@v6.13.0 with: context: ./ file: ./docker/Dockerfile diff --git a/.github/workflows/docker-build-on-tag.yaml b/.github/workflows/docker-build-on-tag.yaml index ea69aa8bb..71c549ad4 100644 --- a/.github/workflows/docker-build-on-tag.yaml +++ b/.github/workflows/docker-build-on-tag.yaml @@ -1,19 +1,19 @@ -# Builds & pushes a docker image when a tag is created. +# Builds & pushes a docker image when a tag is created. # Tag pattern: '[tag]' & '[tag]-classic' # 'latest' & 'classic' also, when master tagged. # Only pushes the tag when it matches one of the following patterns: -# X, X.Y or X.Y.Z +# X, X.Y or X.Y.Z name: Build and push docker (tag) on: workflow_dispatch: - # push: - # tags: - # - '[0-9]+' # X - # - '[0-9]+\.[0-9]+' # X.Y - # - '[0-9]+\.[0-9]+\.[0-9]+' # X.Y.Z + push: + tags: + - '[0-9]+' # X + - '[0-9]+\.[0-9]+' # X.Y + - '[0-9]+\.[0-9]+\.[0-9]+' # X.Y.Z env: DOCKER_PLATFORMS: linux/386,linux/amd64,linux/arm/v6,linux/arm64,linux/arm/v7 @@ -21,7 +21,7 @@ env: jobs: main: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - name: Checkout uses: actions/checkout@v3.5.2 diff --git a/docker/Dockerfile b/docker/Dockerfile index aff083bd9..d432a7921 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,7 +1,7 @@ ARG NQPTP_BRANCH=main ARG SHAIRPORT_SYNC_BRANCH=. -FROM alpine:3.17 AS builder +FROM alpine:3.20 AS builder RUN apk -U add \ alsa-lib-dev \ @@ -32,7 +32,7 @@ RUN git clone --depth=1 https://github.com/mikebrady/alac WORKDIR /alac RUN autoreconf -i RUN ./configure -RUN make +RUN make -j $(nproc) RUN make install WORKDIR / ##### ALAC END ##### @@ -44,7 +44,7 @@ RUN git clone --depth=1 -b "$NQPTP_BRANCH" https://github.com/mikebrady/nqptp WORKDIR /nqptp RUN autoreconf -i RUN ./configure -RUN make +RUN make -j $(nproc) WORKDIR / ##### NQPTP END ##### @@ -90,7 +90,7 @@ COPY --from=shairport-sync /shairport-sync/build/install/etc/dbus-1/system.d/sha ##### END BUILD FILES ##### # Shairport Sync Runtime System -FROM crazymax/alpine-s6:3.17-3.1.1.2 +FROM crazymax/alpine-s6:3.20-3.2.0.2 ENV S6_CMD_WAIT_FOR_SERVICES=1 ENV S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0 @@ -108,7 +108,7 @@ RUN apk -U add \ libgcrypt \ libplist \ libpulse \ - libressl3.6-libcrypto \ + libressl3.8-libcrypto \ libsndfile \ libsodium \ libuuid \ @@ -118,8 +118,10 @@ RUN apk -U add \ mosquitto \ popt \ soxr \ - curl && \ - rm -rfv /lib/apk/db/* && \ + curl \ + dhclient + +RUN rm -rfv /lib/apk/db/* && \ rm -rfv /etc/avahi/services/*.service && \ addgroup shairport-sync && \ adduser -D shairport-sync -G shairport-sync && \ diff --git a/docker/classic/Dockerfile b/docker/classic/Dockerfile index f9b91d6a4..a37b37859 100644 --- a/docker/classic/Dockerfile +++ b/docker/classic/Dockerfile @@ -1,6 +1,6 @@ ARG SHAIRPORT_SYNC_BRANCH=. -FROM alpine:3.17 AS builder +FROM alpine:3.20 AS builder # Classic (aka AirPlay 1) Build @@ -31,7 +31,7 @@ RUN git clone https://github.com/mikebrady/alac WORKDIR /alac RUN autoreconf -i RUN ./configure -RUN make +RUN make -j $(nproc) RUN make install WORKDIR / ##### ALAC END ##### @@ -52,7 +52,7 @@ WORKDIR / ##### SPS END ##### # Shairport Sync Runtime System -FROM crazymax/alpine-s6:3.17-3.1.1.2 +FROM crazymax/alpine-s6:3.20-3.2.0.2 ENV S6_CMD_WAIT_FOR_SERVICES=1 ENV S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0