You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
synctv/.github/workflows/prepare-release.yml

64 lines
1.8 KiB
YAML

name: Prepare Release
on:
workflow_dispatch:
inputs:
version:
description: "Release version, for example 0.2.0"
required: true
type: string
concurrency:
group: ${{ github.workflow }}-${{ inputs.version }}
cancel-in-progress: false
permissions:
contents: write
pull-requests: write
jobs:
prepare:
name: Open Release PR
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v5
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@nightly
- name: Set up Helm
uses: azure/setup-helm@v4
- name: Install protobuf compiler
run: sudo apt-get update && sudo apt-get install -y protobuf-compiler
- name: Normalize release version
id: version
shell: bash
run: |
version="${{ inputs.version }}"
version="${version#v}"
echo "value=$version" >> "$GITHUB_OUTPUT"
- name: Synchronize release version
run: make set-release-version VERSION="${{ steps.version.outputs.value }}"
- name: Validate Helm chart
run: make validate-helm
- name: Create release preparation PR
uses: peter-evans/create-pull-request@v7
with:
commit-message: "release: prepare v${{ steps.version.outputs.value }}"
branch: "automation/release-v${{ steps.version.outputs.value }}"
delete-branch: true
title: "release: prepare v${{ steps.version.outputs.value }}"
body: |
Prepares release v${{ steps.version.outputs.value }}.
This updates:
- Cargo workspace version and Cargo.lock
- Helm chart version and appVersion
- Docker Compose and docs default app image version