name: release
permissions:
contents: write
on:
push:
tags:
- 'v*'
workflow_dispatch:
jobs:
publish:
runs-on: ubuntu-latest
steps:
- name: Setup | Checkout
uses: actions/checkout@v6
- name: Setup | Rust
uses: dtolnay/rust-toolchain@stable
- name: Build | Publish
run: cargo publish --token ${{ secrets.CRATES_IO_TOKEN }}
release:
needs: publish
runs-on: ubuntu-latest
steps:
- name: Setup | Checkout
uses: actions/checkout@v6
- name: Setup | Create Release Log
run: cat CHANGELOG.md | tail -n +7 | head -n 25 > RELEASE_LOG.md
- name: Create Release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: ${{ github.ref }}
body_path: RELEASE_LOG.md
draft: true
prerelease: false