Some checks failed
Release Docker Image / Build linux-amd64 (release) (push) Has been cancelled
Release Docker Image / Build linux-arm64 (release) (push) Has been cancelled
Release Docker Image / Create Multi-arch Release Manifest (push) Has been cancelled
Release Docker Image / Build linux-amd64 (max-perf) (push) Has been cancelled
Release Docker Image / Build linux-arm64 (max-perf) (push) Has been cancelled
Release Docker Image / Create Max-Perf Manifest (push) Has been cancelled
Documentation / Build and Deploy Documentation (push) Has been skipped
Checks / Prek / Pre-commit & Formatting (push) Successful in 1m21s
Create release / release (push) Successful in 1m46s
Checks / Prek / Clippy and Cargo Tests (push) Successful in 7m48s
52 lines
1.4 KiB
YAML
52 lines
1.4 KiB
YAML
name: Create release
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- "v*"
|
|
|
|
jobs:
|
|
release:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v6
|
|
with:
|
|
ref: "main"
|
|
fetch-depth: 0
|
|
|
|
- name: Setup Rust nightly
|
|
uses: ./.forgejo/actions/setup-rust
|
|
with:
|
|
rust-version: nightly
|
|
|
|
- name: Setup towncrier
|
|
run: uv tool install towncrier
|
|
|
|
- name: Generate release notes
|
|
run: cargo run --package xtask --no-default-features -- generate-release-notes > /tmp/RELEASE.md
|
|
|
|
- name: Create release
|
|
run: |
|
|
set -euo pipefail
|
|
|
|
jq -n --rawfile body /tmp/RELEASE.md '{"body": $body, "tag_name": "${{ forgejo.ref_name }}", "name": "${{ forgejo.ref_name }}"}' \
|
|
| curl --fail-with-body \
|
|
--data-binary @- \
|
|
--header "Content-Type: application/json" \
|
|
--header "Accept: application/json" \
|
|
--header "Authorization: token ${{ forgejo.token }}" \
|
|
-X POST \
|
|
"${{ forgejo.server_url }}/api/v1/repos/${{ forgejo.repository }}/releases"
|
|
|
|
- name: Remove news fragments
|
|
run: git rm -r changelog.d/
|
|
|
|
- name: Commit changes
|
|
run: |
|
|
git config user.email "forgejo@mail.ellis.link"
|
|
git config user.name "Ellis Git"
|
|
|
|
git commit -am "chore: Post-release cleanup"
|
|
|
|
git push origin HEAD:refs/heads/main
|