Draft new release #31
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: "Draft new release" | |
on: | |
workflow_dispatch: | |
inputs: | |
version: | |
description: "The new version in X.Y.Z format." | |
required: true | |
jobs: | |
draft-new-release: | |
name: "Draft a new release" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/[email protected] | |
with: | |
token: ${{ secrets.BOTTY_GITHUB_TOKEN }} | |
- name: Create release branch | |
run: git checkout -b release/${{ github.event.inputs.version }} | |
- name: Update changelog | |
uses: thomaseizinger/[email protected] | |
with: | |
version: ${{ github.event.inputs.version }} | |
changelogPath: CHANGELOG.md | |
- name: Initialize mandatory git config | |
run: | | |
git config user.name "${{ secrets.BOTTY_NAME }}" | |
git config user.email ${{ secrets.BOTTY_EMAIL }} | |
- name: Bump version in Cargo.toml | |
uses: thomaseizinger/[email protected] | |
with: | |
version: ${{ github.event.inputs.version }} | |
manifest: swap/Cargo.toml | |
- name: Bump version in Cargo.toml for GUI | |
uses: thomaseizinger/[email protected] | |
with: | |
version: ${{ github.event.inputs.version }} | |
manifest: src-tauri/Cargo.toml | |
- name: Update version in tauri.conf.json for GUI | |
run: | | |
sed -i 's/"version": "[^"]*"/"version": "${{ github.event.inputs.version }}"/' src-tauri/tauri.conf.json | |
- name: Update Cargo.lock | |
run: cargo update --workspace | |
- name: Commit changelog and manifest files | |
id: make-commit | |
env: | |
DPRINT_VERSION: "0.39.1" | |
RUST_TOOLCHAIN: "1.79" | |
run: | | |
rustup component add rustfmt --toolchain "$RUST_TOOLCHAIN-x86_64-unknown-linux-gnu" | |
curl -fsSL https://dprint.dev/install.sh | sh -s $DPRINT_VERSION | |
/home/runner/.dprint/bin/dprint fmt | |
git add CHANGELOG.md Cargo.lock swap/Cargo.toml src-tauri/Cargo.toml src-tauri/tauri.conf.json | |
git commit --message "Prepare release ${{ github.event.inputs.version }}" | |
echo "::set-output name=commit::$(git rev-parse HEAD)" | |
- name: Push new branch | |
run: git push origin release/${{ github.event.inputs.version }} --force | |
- name: Create pull request | |
uses: thomaseizinger/[email protected] | |
with: | |
GITHUB_TOKEN: ${{ secrets.BOTTY_GITHUB_TOKEN }} | |
head: release/${{ github.event.inputs.version }} | |
base: master | |
title: Release version ${{ github.event.inputs.version }} | |
reviewers: ${{ github.actor }} | |
body: | | |
Hi @${{ github.actor }}! | |
This PR was created in response to a manual trigger of the release workflow here: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}. | |
I've updated the changelog and bumped the versions in the manifest files in this commit: ${{ steps.make-commit.outputs.commit }}. | |
Merging this PR will create a GitHub release and upload any assets that are created as part of the release build. |