steps:
- name: Checkout
uses: actions/checkout@v2
- - name: Set branch env.
- run: echo "BRANCH=${GITHUB_REF##*/}" >> $GITHUB_ENV
+ - name: Set SHAIRPORT_SYNC_BRANCH env.
+ run: echo "SHAIRPORT_SYNC_BRANCH=${GITHUB_REF##*/}" >> $GITHUB_ENV
- name: Set up ssh agent
uses: webfactory/ssh-agent@v0.5.2 # Can be removed when no longer pulling from private repos.
with:
file: ./docker/Dockerfile
platforms: linux/386,linux/amd64,linux/arm/v6,linux/arm64,linux/arm/v7
push: true
- tags: registry.nova.do/shairport-sync:unstable-${{ env.BRANCH }}
+ tags: registry.nova.do/shairport-sync:unstable-${{ env.SHAIRPORT_SYNC_BRANCH }}
build-args: |
- BRANCH=${{ env.BRANCH }}
+ SHAIRPORT_SYNC_BRANCH=${{ env.SHAIRPORT_SYNC_BRANCH }}
ssh: github=${{ env.SSH_AUTH_SOCK }} # Can be removed when no longer pulling from private repos.
\ No newline at end of file
# Shairport Sync Build System:
FROM builder-base AS builder-sps
-# This may be modified by the Github Action Workflow.
-ARG SHAIRPORT_SYNC_BRANCH=development
+# This will be modified by the Github Action Workflow and is required
+# to ensure the correct branch is being used.
+ARG SHAIRPORT_SYNC_BRANCH
+RUN test -n "$SHAIRPORT_SYNC_BRANCH"
COPY --from=builder-alac /usr/local/lib/libalac.* /usr/local/lib/
COPY --from=builder-alac /usr/local/lib/pkgconfig/alac.pc /usr/local/lib/pkgconfig/alac.pc
WORKDIR /shairport-sync
COPY . .
-RUN git status
+RUN git checkout $SHAIRPORT_SYNC_BRANCH
RUN git submodule init
RUN git submodule update
RUN autoreconf -fi
# Shairport Sync Docker Image
-https://hub.docker.com/r/mikebrady/shairport-sync
\ No newline at end of file
+Available at: https://hub.docker.com/r/mikebrady/shairport-sync
+
+## Build Example (for arm7 devices)
+
+TODO: remove `--ssh` when going public as this is only for private repos.
+```
+docker buildx build --ssh github=$SSH_AUTH_SOCK --platform linux/arm/v7 -f ./docker/Dockerfile --build-arg SHAIRPORT_SYNC_BRANCH=development -t registry.nova.do/shairport-sync:unstable-development .
+```
+
+`SHAIRPORT_SYNC_BRANCH` is required to ensure the image is built using the expected branch.
\ No newline at end of file