Zebra 1.6.1 #32
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
# This workflow is meant to trigger a build of Docker binaries when a release | |
# is published, it uses the existing `sub-build-docker-image.yml` workflow | |
# | |
# We use a separate action as we might want to trigger this under | |
# different circumstances than a Continuous Deployment, for example. | |
# | |
# This workflow is triggered if: | |
# - A release is published | |
# - A pre-release is changed to a release | |
name: Release binaries | |
on: | |
release: | |
types: | |
- released | |
jobs: | |
# Each time this workflow is executed, a build will be triggered to create a new image | |
# with the corresponding tags using information from git | |
# The image will be named `zebra:<semver>-experimental` | |
build-experimental: | |
name: Build Experimental Features Release Docker | |
uses: ./.github/workflows/sub-build-docker-image.yml | |
with: | |
dockerfile_path: ./docker/Dockerfile | |
dockerfile_target: runtime | |
image_name: zebra | |
tag_suffix: -experimental | |
features: ${{ format('{0} {1}', vars.RUST_PROD_FEATURES, vars.RUST_EXPERIMENTAL_FEATURES) }} | |
rust_log: ${{ vars.RUST_LOG }} | |
# This step needs access to Docker Hub secrets to run successfully | |
secrets: inherit | |
# The image will be named `zebra:<semver>` | |
# It should be built last, so tags with the same name point to the production build, not the experimental build. | |
build: | |
name: Build Release Docker | |
# Run this build last, regardless of whether experimental worked | |
needs: build-experimental | |
if: always() | |
uses: ./.github/workflows/sub-build-docker-image.yml | |
with: | |
dockerfile_path: ./docker/Dockerfile | |
dockerfile_target: runtime | |
image_name: zebra | |
latest_tag: true | |
features: ${{ vars.RUST_PROD_FEATURES }} | |
rust_log: ${{ vars.RUST_LOG }} | |
# This step needs access to Docker Hub secrets to run successfully | |
secrets: inherit | |
failure-issue: | |
name: Open or update issues for release binaries failures | |
# When a new job is added to this workflow, add it to this list. | |
needs: [ build, build-experimental ] | |
# Open tickets for any failed build in this workflow. | |
if: failure() || cancelled() | |
runs-on: ubuntu-latest | |
steps: | |
- uses: jayqi/failed-build-issue-action@v1 | |
with: | |
title-template: "{{refname}} branch CI failed: {{eventName}} in {{workflow}}" | |
# New failures open an issue with this label. | |
label-name: S-ci-fail-binaries-auto-issue | |
# If there is already an open issue with this label, any failures become comments on that issue. | |
always-create-new-issue: false | |
github-token: ${{ secrets.GITHUB_TOKEN }} |