Skip to content

Release

Release #29

Workflow file for this run

---
name: "Release"
# Careful! This pushes a git tag to GitHub! The release itself is private.
on:
workflow_dispatch:
inputs:
tag:
description: >
Tag, which is set by the this GitHub workflow.
Should follow SemVer and is not allowed to exist already.
required: true
type: string
jobs:
tests:
uses: ./.github/workflows/tests.yaml
rcc:
uses: ./.github/workflows/rcc.yaml
system_tests:
needs: rcc
uses: ./.github/workflows/system_tests.yaml
with:
rcc_artifact_id: ${{ needs.rcc.outputs.artifact_id }}
build_robotmk:
uses: ./.github/workflows/robotmk_build.yaml
release:
runs-on: ubuntu-latest
needs: [tests, system_tests, rcc, build_robotmk]
steps:
- uses: actions/checkout@v4 # Determines the ref, which is used for the
# release. For setting a different ref, all `needs` jobs need to be
# adjusted. Currently, everything uses the default branch.
- uses: actions/download-artifact@v4
with:
path: artifact/
run-id: ${{ needs.rcc.outputs.artifact_id }}
- uses: actions/download-artifact@v4
with:
path: artifact/
run-id: ${{ needs.build_robotmk.outputs.artifact_id }}
- run: zip -r executables.zip artifact
- name: "Push release tag"
# This is publicly visible and needs to be manually fixed if any
# consecutive step fails.
run: |
git tag ${{ inputs.tag }} # Fails, if tag exists.
git push origin ${{ inputs.tag }}
- uses: ncipollo/[email protected]
with:
allowUpdates: false
artifacts: "executables.zip,assets/robotmk_core-1.0.0.mkp"
replacesArtifacts: true
removeArtifacts: true
prerelease: true
draft: true
body: ""
artifactErrorsFailBuild: true
updateOnlyUnreleased: true
makeLatest: false
tag: ${{ inputs.tag }}