# 'master' - rolling, rolling-classic
# 'development' - development, development-classic
-name: Build and push docker (commit)
+name: Build and push docker (push/pull request)
on:
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
NQPTP_BRANCH: main
jobs:
- main:
+ test-build-on-pull-request:
+ if: github.event_name == 'pull_request'
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout Repo
+ uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+ ref: ${{github.event.pull_request.head.ref}}
+ repository: ${{github.event.pull_request.head.repo.full_name}}
+
+ - name: Set SHAIRPORT_SYNC_BRANCH env
+ run: |
+ SHAIRPORT_SYNC_BRANCH=$(git rev-parse --abbrev-ref HEAD)
+ echo "Current SHAIRPORT_SYNC_BRANCH set to ${SHAIRPORT_SYNC_BRANCH}"
+ echo "SHAIRPORT_SYNC_BRANCH=${SHAIRPORT_SYNC_BRANCH}" >> $GITHUB_ENV
+
+ - name: Set up QEMU
+ uses: docker/setup-qemu-action@v2.1.0
+
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v2.5.0
+
+ - name: Build (classic)
+ uses: docker/build-push-action@v4.0.0
+ with:
+ context: ./
+ file: ./docker/classic/Dockerfile
+ push: false
+ build-args: |
+ SHAIRPORT_SYNC_BRANCH=${{ env.SHAIRPORT_SYNC_BRANCH }}
+
+ - name: Build
+ uses: docker/build-push-action@v4.0.0
+ with:
+ context: ./
+ file: ./docker/Dockerfile
+ push: false
+ build-args: |
+ SHAIRPORT_SYNC_BRANCH=${{ env.SHAIRPORT_SYNC_BRANCH }}
+ NQPTP_BRANCH=${{ env.NQPTP_BRANCH }}
+
+ build-and-publish:
+ if: github.event_name != 'pull_request'
runs-on: ubuntu-latest
steps:
- name: Checkout