Skip to content

build_on_wreadsb_update #23

build_on_wreadsb_update

build_on_wreadsb_update #23

---
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"