name: Release Crate
on:
workflow_call:
jobs:
release:
name: Semantic Release
runs-on: ubuntu-latest
permissions:
contents: write issues: write pull-requests: write
steps:
- name: Checkout Code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Set up Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
- name: Install Dependencies
run: |
npm install semantic-release @semantic-release/changelog @semantic-release/commit-analyzer @semantic-release/github @semantic-release/release-notes-generator @semantic-release/git @semantic-release/exec conventional-changelog-conventionalcommits
- name: Run Semantic Release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CARGO_REGISTRY_TOKEN: ${{ secrets.CRATES_IO_TOKEN }}
run: |
# Use the corrected configuration file
npm install
npx semantic-release --extends "./.releaserc.json"