build_on_wreadsb_update #21
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: Deploy wreadsb | |
on: | |
# Enable manual running of action if necessary | |
workflow_dispatch: | |
inputs: | |
reason: | |
required: true | |
description: "Reason for running this workflow" | |
disable_upstream_triggers: | |
required: false | |
type: boolean | |
description: "Rebuild the base images but don't trigger downstream builds" | |
default: false | |
repository_dispatch: | |
types: build_on_wreadsb_update | |
env: | |
REGISTRY: ghcr.io | |
IMAGE_NAME: ${{ github.repository }} | |
jobs: | |
deploy_wreadsb: | |
name: Deploy wreadsb to ghcr.io | |
runs-on: ubuntu-latest | |
permissions: | |
contents: read | |
packages: write | |
steps: | |
# Check out our code | |
- name: Checkout | |
uses: actions/checkout@v4.2.2 | |
with: | |
fetch-depth: 2 | |
# Log into ghcr (so we can push images) | |
- name: Login to ghcr.io | |
uses: docker/login-action@v3.3.0 | |
with: | |
registry: ${{ env.REGISTRY }} | |
username: ${{ github.repository_owner }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
# Get metadata from repo | |
- name: Extract metadata (tags, labels) for Docker | |
id: meta | |
uses: docker/metadata-action@v5.5.1 | |
with: | |
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} | |
# Set up QEMU for multi-arch builds | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3.2.0 | |
# Set up buildx for multi platform builds | |
- name: Set up Docker Buildx | |
id: buildx | |
uses: docker/setup-buildx-action@v3.7.1 | |
# Build & Push Dockerfile (only push if this action was NOT triggered by a PR) | |
- name: Build & Push ghcr.io/sdr-enthusiasts/docker-baseimage:wreadsb | |
uses: docker/build-push-action@v6.9.0 | |
with: | |
context: . | |
file: ./Dockerfile.wreadsb | |
no-cache: true | |
platforms: linux/amd64,linux/arm/v7,linux/arm64 | |
push: ${{ github.event_name != 'pull_request' }} | |
tags: ghcr.io/sdr-enthusiasts/docker-baseimage:wreadsb | |
labels: ${{ steps.meta.outputs.labels }} | |
deploy_ghcr_mlat_client: | |
name: Deploy MLAT client image to ghcr.io | |
runs-on: ubuntu-latest | |
permissions: | |
contents: read | |
packages: write | |
steps: | |
# Check out our code | |
- name: Checkout | |
uses: actions/checkout@v4.2.2 | |
with: | |
fetch-depth: 2 | |
# Log into ghcr (so we can push images) | |
- name: Login to ghcr.io | |
uses: docker/login-action@v3.3.0 | |
with: | |
registry: ${{ env.REGISTRY }} | |
username: ${{ github.repository_owner }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
# Get metadata from repo | |
- name: Extract metadata (tags, labels) for Docker | |
id: meta | |
uses: docker/metadata-action@v5.5.1 | |
with: | |
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} | |
# Set up QEMU for multi-arch builds | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3.2.0 | |
# Set up buildx for multi platform builds | |
- name: Set up Docker Buildx | |
id: buildx | |
uses: docker/setup-buildx-action@v3.7.1 | |
# Build & Push Dockerfile (only push if this action was NOT triggered by a PR) | |
- name: Build & Push ghcr.io/sdr-enthusiasts/docker-baseimage:mlatclient | |
uses: docker/build-push-action@v6.9.0 | |
with: | |
context: . | |
file: ./Dockerfile.mlatclient | |
no-cache: true | |
platforms: linux/amd64,linux/arm/v7,linux/arm64 | |
push: ${{ github.event_name != 'pull_request' }} | |
tags: ghcr.io/sdr-enthusiasts/docker-baseimage:mlatclient | |
labels: ${{ steps.meta.outputs.labels }} | |
trigger_build_sdr-enthusiasts_docker-tar1090: | |
name: Trigger deploy of sdr-enthusiasts/docker-tar1090 | |
needs: [deploy_wreadsb, deploy_ghcr_mlat_client] | |
runs-on: ubuntu-latest | |
if: ${{ github.event.inputs.disable_upstream_triggers != 'true' }} | |
env: | |
WORKFLOW_AUTH_TOKEN: ${{ secrets.GH_PAT_MIKENYE }} | |
WORKFLOW_REPO: sdr-enthusiasts/docker-tar1090 | |
WORKFLOW_FILE: deploy.yml | |
WORKFLOW_REASON: "triggered via deploy_ghcr.yml in sdr-enthusiasts/docker-baseimage" | |
steps: | |
- name: Trigger ${{ env.WORKFLOW_FILE }} in ${{ env.WORKFLOW_REPO }} | |
run: | | |
echo "$WORKFLOW_AUTH_TOKEN" | gh auth login --with-token | |
gh workflow run --ref main --repo "$WORKFLOW_REPO" "$WORKFLOW_FILE" -f reason="$WORKFLOW_REASON" |