---
on:
workflow_call:
name: Semantic Release
env:
RUST_BACKTRACE: 1
SEMREL_RUST_VERSION: 2.1.53
concurrency:
group: ${{ github.workflow }}
jobs:
release:
name: Semantic Release
runs-on: ubuntu-latest
outputs:
new_release_version: ${{steps.semantic.outputs.new_release_version}}
new_release_published: ${{steps.semantic.outputs.new_release_published}}
new_release_notes: ${{steps.semantic.outputs.new_release_notes}}
new_release_channel: ${{steps.semantic.outputs.new_release_channel}}
steps:
- name: Checkout
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 with:
fetch-depth: 0
persist-credentials: false
- name: Import GPG key
uses: crazy-max/ghaction-import-gpg@01dd5d3ca463c7f10f7f4f7b4f177225ac661ee4 with:
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
passphrase: ${{ secrets.GPG_KEY_PASSPHRASE }}
fingerprint: ${{ secrets.GPG_SUBKEY_FINGERPRINT }}
trust_level: 5
git_user_signingkey: true
git_commit_gpgsign: true
git_tag_gpgsign: false
git_committer_name: ${{ vars.GIT_AUTHOR_NAME }}
git_committer_email: ${{ vars.GIT_AUTHOR_EMAIL }}
- name: Test GPG Key Import
run: gpg --list-keys --keyid-format LONG
- name: Install dependencies
run: sudo apt install tree
- name: Install semantic-release-cargo
uses: taiki-e/install-action@f2b65a3e67b2ba5ed3b4a631b5e460896e975708 with:
tool: semantic-release-cargo@${{env.SEMREL_RUST_VERSION}}
- name: Install Conventional Commit preset
run: npm install conventional-changelog-conventionalcommits
- name: Semantic Release
uses: cycjimmy/semantic-release-action@cb425203a562475bca039ba4dbf90c7f9ac790f4 id: semantic
with:
semantic_version: 24.0.0
extra_plugins: |
@semantic-release/exec@6
@semantic-release/git@10
env:
GITHUB_TOKEN: ${{secrets.ACTIONS_PAT_GITHUB}}
CARGO_REGISTRY_TOKEN: ${{secrets.SEMREL_CRATES_IO}}
GIT_AUTHOR_NAME: ${{vars.GIT_AUTHOR_NAME}}
GIT_AUTHOR_EMAIL: ${{vars.GIT_AUTHOR_EMAIL}}
GIT_COMMITTER_NAME: ${{vars.GIT_AUTHOR_NAME}}
GIT_COMMITTER_EMAIL: ${{vars.GIT_AUTHOR_EMAIL}}