Merge branch 'development'

Update Dockerfile and classic Dockerfile and update github workflows.
This commit is contained in:
Mike Brady
2025-01-31 14:01:17 +00:00
13 changed files with 48 additions and 42 deletions
@@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v4.2.2
- name: Install Dependencies
run: sudo apt-get -y --no-install-recommends install xmltoman libpopt-dev libconfig-dev libasound2-dev avahi-daemon libavahi-client-dev libsoxr-dev libplist-dev libsodium-dev libavutil-dev libavcodec-dev libavformat-dev
- name: Configure
+1 -1
View File
@@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v4.2.2
- name: Install Dependencies
run: sudo apt-get -y --no-install-recommends install xmltoman libpopt-dev libconfig-dev libasound2-dev libao-dev libjack-dev libmosquitto-dev avahi-daemon libavahi-client-dev libsoxr-dev libplist-dev libsodium-dev libavutil-dev libavcodec-dev libavformat-dev
- name: Configure
@@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3.5.2
- uses: actions/checkout@v4.2.2
- name: Install Dependencies
run: sudo apt-get -y --no-install-recommends install xmltoman libpopt-dev libconfig-dev libasound2-dev libao-dev libjack-dev libglib2.0-dev libmosquitto-dev avahi-daemon libavahi-client-dev libssl-dev libsoxr-dev libplist-dev libsodium-dev libavutil-dev libavcodec-dev libavformat-dev
- name: Configure
+1 -1
View File
@@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v4.2.2
- name: Install Dependencies
run: sudo apt-get -y --no-install-recommends install xmltoman libpopt-dev libdaemon-dev libconfig-dev libasound2-dev libao-dev libjack-dev libglib2.0-dev libmosquitto-dev avahi-daemon libavahi-client-dev libssl-dev libsoxr-dev libplist-dev libsodium-dev libavutil-dev libavcodec-dev libavformat-dev uuid-dev libgcrypt-dev
- name: Configure
@@ -13,7 +13,7 @@ jobs:
runs-on: macos-13
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v4.2.2
- name: Install Dependencies
run: |
brew install automake
@@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v4.2.2
- name: Install Dependencies
run: sudo apt-get -y --no-install-recommends install xmltoman libpopt-dev libconfig-dev libasound2-dev avahi-daemon libavahi-client-dev libssl-dev libsoxr-dev
- name: Configure
@@ -13,7 +13,7 @@ jobs:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v4.2.2
- name: Install Dependencies
run: sudo apt-get -y --no-install-recommends install xmltoman libpopt-dev libconfig-dev libasound2-dev libao-dev libjack-dev libglib2.0-dev libmosquitto-dev avahi-daemon libavahi-client-dev libssl-dev libsoxr-dev
- name: Configure
@@ -22,10 +22,10 @@ env:
jobs:
test-build-on-pull-request:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
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-latest
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
+9 -9
View File
@@ -1,9 +1,9 @@
# 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)
@@ -21,10 +21,10 @@ env:
jobs:
main:
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v3.5.2
uses: actions/checkout@v4.2.2
with:
fetch-depth: 0
@@ -47,20 +47,20 @@ jobs:
echo "NQPTP_BRANCH=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
@@ -73,7 +73,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
+1 -1
View File
@@ -11,7 +11,7 @@ jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v8.0.0
- uses: actions/stale@v9.1.0
with:
stale-issue-message: 'This issue has been inactive for 28 days so will be closed 7 days from now. To prevent this, please remove the "stale" label or post a comment.'
stale-pr-message: 'This PR has been inactive for 28 days so will be closed 7 days from now. To prevent this, please remove the "stale" label or post a comment.'
+1 -1
View File
@@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.50])
AC_INIT([shairport-sync], [4.3.6], [4265913+mikebrady@users.noreply.github.com])
AC_INIT([shairport-sync], [4.3.7], [4265913+mikebrady@users.noreply.github.com])
AM_INIT_AUTOMAKE([subdir-objects])
AC_CONFIG_SRCDIR([shairport.c])
AC_CONFIG_HEADERS([config.h])
+10 -7
View File
@@ -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 \
@@ -117,8 +117,11 @@ RUN apk -U add \
mandoc \
mosquitto \
popt \
soxr && \
rm -rfv /lib/apk/db/* && \
soxr \
curl \
dhclient
RUN rm -rfv /lib/apk/db/* && \
rm -rfv /etc/avahi/services/*.service && \
addgroup shairport-sync && \
adduser -D shairport-sync -G shairport-sync && \
+7 -4
View File
@@ -1,4 +1,6 @@
FROM alpine:3.17 AS builder
ARG SHAIRPORT_SYNC_BRANCH=.
FROM alpine:3.20 AS builder
# Classic (aka AirPlay 1) Build
@@ -29,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 #####
@@ -50,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
@@ -71,7 +73,8 @@ RUN apk -U add \
libcrypto3 \
mosquitto \
popt \
soxr
soxr \
curl
# Copy build files.
COPY --from=builder /shairport-sync/build/install/usr/local/bin/shairport-sync /usr/local/bin/shairport-sync