name: Release
on:
push:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+'
jobs:
release-github:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd with:
persist-credentials: false
- name: Install dependencies
run: sudo apt-get install --no-install-recommends -y libdbus-1-dev dbus
- name: Build
run: cargo build --release --verbose
- name: Get release notes
run: |
awk "/^## $GITHUB_REF_NAME/{found=1; next} found && /^## /{exit} found{print}" CHANGELOG.md >changes.txt
- name: Create release
uses: softprops/action-gh-release@a06a81a03ee405af7f2048a818ed3f03bbf83c7b with:
body_path: changes.txt
files: target/release/rescrobbled
discussion_category_name: announcements
release-cratesio:
runs-on: ubuntu-latest
permissions:
id-token: write
steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd with:
persist-credentials: false
- name: Install dependencies
run: sudo apt-get install --no-install-recommends -y libdbus-1-dev dbus
- uses: rust-lang/crates-io-auth-action@b7e9a28eded4986ec6b1fa40eeee8f8f165559ec id: auth
- name: Release on crates.io
run: |
cargo publish --dry-run
sed -i 's/publish = false/publish = true/' Cargo.toml
cargo publish --allow-dirty
env:
CARGO_REGISTRY_TOKEN: ${{ steps.auth.outputs.token }}