mirror of
https://github.com/pi-hole/docker-pi-hole.git
synced 2026-04-23 02:10:01 +01:00
Introduce additional docker tags for the debian version.
* Added new docker tag variations to specify the debian version ('stretch', and 'buster').
* Arch images are alway as specific as possible: pihole/pihole:master-amd64-stretch
* Multiarch images have both the specific debian version tags as well as the generic non-debian tags: pihole/pihole:master-stretch & pihole/pihole:master
* Currently, the non-specific tags point to the 'stretch' images. Eventaully it can be migrated to 'buster'.
* Use GitHub actions to do the builds. Although the script names include 'gh-actions' to differentiate them from the 'circle' scripts, there is zero logic that is specific to Github (ie. no Github environment variables).
* 'armhf:buster' & 'arm64:buster' has an issue with `ip route get`. I think the issue is related to 'qemu', but I'm not sure. Update the `validate_env` function to only use `ip route get` if `nc` reports something strange.
Signed-off-by: Daniel <daniel@developerdan.com>
This commit is contained in:
62
.github/workflows/test-and-build.yaml
vendored
Normal file
62
.github/workflows/test-and-build.yaml
vendored
Normal file
@@ -0,0 +1,62 @@
|
||||
name: Test & Build
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- dev
|
||||
- v*
|
||||
- beta-v*
|
||||
pull_request:
|
||||
|
||||
#env:
|
||||
# DOCKER_HUB_REPO: pihole
|
||||
|
||||
jobs:
|
||||
test-and-build:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
ARCH: [amd64, armhf, arm64]
|
||||
DEBIAN_VERSION: [stretch, buster]
|
||||
env:
|
||||
ARCH: ${{matrix.ARCH}}
|
||||
DEBIAN_VERSION: ${{matrix.DEBIAN_VERSION}}
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v2
|
||||
- name: Run Tests
|
||||
run: |
|
||||
echo "Building ${ARCH}-${DEBIAN_VERSION}"
|
||||
./gh-actions-test.sh
|
||||
- name: Push the ARCH image
|
||||
if: github.event_name != 'pull_request'
|
||||
run: |
|
||||
. gh-actions-vars.sh
|
||||
echo "${{ secrets.DOCKERHUB_PASS }}" | docker login --username="${{ secrets.DOCKERHUB_USER }}" --password-stdin
|
||||
docker push "${ARCH_IMAGE}"
|
||||
- name: Upload gh-workspace
|
||||
if: github.event_name != 'pull_request'
|
||||
uses: actions/upload-artifact@v1
|
||||
with:
|
||||
name: gh-workspace
|
||||
path: .gh-workspace
|
||||
|
||||
publish:
|
||||
if: github.event_name != 'pull_request'
|
||||
runs-on: ubuntu-latest
|
||||
needs: test-and-build
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v2
|
||||
- name: Download workspace files
|
||||
uses: actions/download-artifact@v1
|
||||
with:
|
||||
name: gh-workspace
|
||||
path: .gh-workspace
|
||||
- name: Tag and Publish multi-arch images
|
||||
env:
|
||||
DOCKERHUB_PASS: ${{ secrets.DOCKERHUB_PASS }}
|
||||
DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }}
|
||||
run: |
|
||||
./gh-actions-deploy.sh
|
||||
Reference in New Issue
Block a user