docker-pi-hole/.github/workflows/workflow_dispatch.yml

83 lines
2.4 KiB
YAML

name: Build & Deploy custom image manually
on:
workflow_dispatch:
inputs:
branch:
description: "Name of Branch to base build on"
required: false
default: dev
name:
description: 'Name of tag'
required: true
core:
description: 'Branch or tag of core repo'
required: true
web:
description: 'Branch or tag of web repo'
required: true
ftl:
description: 'Branch or tag of ftl repo'
required: true
jobs:
test-and-build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
ARCH: [amd64, armhf, arm64, i386]
DEBIAN_VERSION: [buster]
env:
ARCH: ${{matrix.ARCH}}
DEBIAN_VERSION: ${{matrix.DEBIAN_VERSION}}
CORE_VERSION: ${{ github.event.inputs.core }}
WEB_VERSION: ${{ github.event.inputs.web }}
FTL_VERSION: ${{ github.event.inputs.ftl }}
steps:
- name: Checkout Repo
uses: actions/checkout@v2
with:
ref: ${{ github.event.inputs.branch }}
- name: Checkout Dummy Branch to set image name
run: |
git checkout -b ${{ github.event.inputs.name }}
- 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:
runs-on: ubuntu-latest
needs: test-and-build
steps:
- name: Checkout Repo
uses: actions/checkout@v2
with:
ref: dev
- name: Checkout Dummy Branch to set image name
run: |
git checkout -b ${{ github.event.inputs.name }}
- 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