1
0
Fork 0
mirror of https://github.com/sdr-enthusiasts/docker-adsb-ultrafeeder.git synced 2024-11-24 06:40:09 +00:00
docker-adsb-ultrafeeder/.github/workflows/deploy.yml

113 lines
4.2 KiB
YAML
Raw Normal View History

2023-03-21 19:56:02 +00:00
---
2023-03-22 16:23:54 +00:00
name: Deploy
2023-03-21 19:56:02 +00:00
on:
workflow_dispatch:
inputs:
reason:
2023-03-22 16:27:21 +00:00
required: false
2023-07-29 20:55:51 +00:00
description: "Reason for running this workflow"
use_test_image:
required: false
type: boolean
description: "Use base image testpr"
default: false
2023-03-21 19:56:02 +00:00
push:
branches:
- main
2023-03-22 16:27:21 +00:00
# Don't trigger if it's just a documentation update
2023-10-26 16:29:35 +00:00
paths:
- "rust/**"
- "Dockerfile"
- "Dockerfile.build_binary"
- "rootfs/**"
- "downloads/**"
- ".env"
2023-03-21 19:56:02 +00:00
2023-03-22 16:27:21 +00:00
# Set workflow-wide environment variables
# - REPO: repo name on dockerhub
# - IMAGE: image name on dockerhub
env:
2023-07-29 20:55:51 +00:00
# DOCKERHUB_REPO: sdr-enthusiasts
# DOCKERHUB_IMAGE: vrs
2023-03-23 17:26:10 +00:00
GHCR_IMAGE: sdr-enthusiasts/docker-adsb-ultrafeeder
2023-03-22 16:27:21 +00:00
GHCR_REGISTRY: ghcr.io
GH_LABEL: main
GHCR_TAG: latest
2023-03-21 19:56:02 +00:00
jobs:
workflow-dispatch:
name: Triggered via Workflow Dispatch?
# only run this step if workflow dispatch triggered
# log the reason the workflow dispatch was triggered
if: |
github.event_name == 'workflow_dispatch' &&
github.event.inputs.reason != ''
runs-on: ubuntu-latest
steps:
- name: Log dispatch reason
env:
INPUTS_REASON: ${{ github.event.inputs.reason }}
2023-07-29 20:55:51 +00:00
INPUTS_USE_TEST_IMAGE: ${{ github.event.inputs.use_test_image }}
2023-03-21 19:56:02 +00:00
run: |
echo "Workflow dispatch reason: $INPUTS_REASON"
2023-07-29 20:55:51 +00:00
echo "Use test image: $INPUTS_USE_TEST_IMAGE"
2023-03-21 19:56:02 +00:00
2023-03-22 16:27:21 +00:00
hadolint:
name: Run hadolint against docker files
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4.2.1
2023-03-22 16:27:21 +00:00
- name: Pull hadolint/hadolint:latest Image
run: docker pull hadolint/hadolint:latest
- name: Run hadolint against Dockerfiles
run: docker run --rm -i -v "$PWD":/workdir --workdir /workdir --entrypoint hadolint hadolint/hadolint --ignore DL3015 --ignore DL3003 --ignore DL3006 --ignore DL3010 --ignore DL4001 --ignore DL3007 --ignore DL3008 --ignore SC2068 --ignore DL3007 --ignore SC1091 --ignore DL3013 --ignore DL3010 $(find . -type f -iname "Dockerfile*")
2023-07-29 20:55:51 +00:00
deploy:
name: Deploy without telegraf
uses: sdr-enthusiasts/common-github-workflows/.github/workflows/build_and_push_image.yml@main
with:
push_enabled: true
push_destinations: ghcr.io
ghcr_repo_owner: ${{ github.repository_owner }}
ghcr_repo: ${{ github.repository }}
get_version_method: file_in_container:file=/CONTAINER_VERSION
# set build_latest to true if github.event.inputs.use_test_image is false
2023-08-26 20:53:06 +00:00
build_latest: ${{ github.event.inputs.use_test_image == 'false' || github.event.inputs.use_test_image == '' }}
2023-07-29 20:55:51 +00:00
build_baseimage_test: ${{ github.event.inputs.use_test_image == 'true' }}
# only build the entire stack if we are not using the test image
build_version_specific: false
build_platform_specific: false
build_nohealthcheck: false
build_baseimage_url: docker-tar1090:latest/docker-tar1090:baseimage-test
2023-07-29 20:55:51 +00:00
secrets:
ghcr_token: ${{ secrets.GITHUB_TOKEN }}
# unfortunately we can't use build_and_push_image.yml to build the telegraf label because
# that GH Action doesn't have the capability to build specific custom-named labels
deploy_with_telegraf:
name: Deploy with telegraf and healthcheck
uses: sdr-enthusiasts/common-github-workflows/.github/workflows/build_and_push_image.yml@main
with:
push_enabled: true
push_destinations: ghcr.io
ghcr_repo_owner: ${{ github.repository_owner }}
ghcr_repo: ${{ github.repository }}
get_version_method: file_in_container:file=/CONTAINER_VERSION
# set build_latest to true if github.event.inputs.use_test_image is false
2023-08-26 20:53:06 +00:00
build_latest: ${{ github.event.inputs.use_test_image == 'false' || github.event.inputs.use_test_image == '' }}
2023-07-29 20:55:51 +00:00
build_baseimage_test: ${{ github.event.inputs.use_test_image == 'true' }}
2023-08-26 23:25:51 +00:00
build_baseimage_url: docker-tar1090:telegraf/docker-tar1090:telegraf-baseimage-test
2023-07-29 20:55:51 +00:00
# only build the entire stack if we are not using the test image
build_version_specific: false
build_platform_specific: false
build_nohealthcheck: false
docker_latest_tag: telegraf
2023-08-26 23:25:51 +00:00
dockerfile_changes: |
docker-tar1090:latest/docker-tar1090:telegraf
2023-07-29 20:55:51 +00:00
secrets:
ghcr_token: ${{ secrets.GITHUB_TOKEN }}