Make our ship_it.yml GHA workflow resilient #288
Workflow file for this run
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: "Ship It!" | |
concurrency: | |
# There should only be able one running job per repository / branch combo. | |
# We do not want multiple deploys running in parallel. | |
group: ${{ github.repository }}-${{ github.ref_name }} | |
on: | |
push: | |
branches: | |
- '**' | |
tags-ignore: | |
- '**' | |
pull_request: | |
workflow_dispatch: | |
# All jobs have the same outcome. We define multiple for resiliency reasons. | |
jobs: | |
# In thechangelog/changelog repository (a.k.a. upstream), | |
# this is the preferred default: | |
dagger-on-fly-docker: | |
if: ${{ contains(vars.RUNS_ON, 'fly') }} | |
uses: ./.github/workflows/dagger_on_fly_docker.yml | |
secrets: inherit | |
# When our Fly.io setup misbehaves, we want a fallback: | |
dagger-on-github-fallback: | |
needs: dagger-on-fly-docker | |
if: ${{ failure() }} | |
uses: ./.github/workflows/dagger_on_github.yml | |
secrets: inherit | |
# As forks will not have access to our Fly.io, | |
# we fallback to GitHub default: | |
dagger-on-github: | |
if: ${{ !contains(vars.RUNS_ON, 'fly') }} | |
uses: ./.github/workflows/dagger_on_github.yml | |
secrets: inherit | |
# This is an experimental job which only runs the CI part of our pipeline. | |
# In other words, this does not run CD, it does not deploy our app. | |
dagger-on-k8s: | |
if: ${{ contains(vars.RUNS_ON, 'k8s') }} | |
uses: ./.github/workflows/dagger_on_k8s.yml | |
secrets: inherit |