π Release #75
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: π Release | |
on: | |
workflow_dispatch: | |
inputs: | |
force-publish: | |
required: true | |
type: boolean | |
description: Publish Releases at Anytime | |
workflow_run: | |
workflows: [ π§ͺ Tests and Checks ] | |
branches: [main] | |
types: [ completed ] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
release-please: | |
runs-on: ubuntu-latest | |
if: > | |
github.ref == 'refs/heads/main' && | |
github.repository_owner == 'ucan-wg' && | |
github.event_name == 'workflow_dispatch' || github.event.workflow_run.conclusion == 'success' | |
outputs: | |
releases_created: ${{ steps.release.outputs['ucan--release_created'] || steps.release.outputs['ucan-key-support--release_created'] }} | |
steps: | |
- name: Run release-please | |
id: release | |
uses: google-github-actions/release-please-action@v3 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
default-branch: main | |
command: manifest | |
extra-files: | | |
README.md | |
publish-release: | |
runs-on: ubuntu-latest | |
needs: [ release-please ] | |
permissions: | |
contents: write | |
pull-requests: write | |
if: ${{ needs.release-please.outputs.releases_created || github.event.inputs.force-publish }} | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v3 | |
- name: Cache Project | |
uses: Swatinem/rust-cache@v2 | |
- name: Install Rust Toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
override: true | |
profile: minimal | |
toolchain: stable | |
- name: Install Cargo Workspaces | |
env: | |
RUSTFLAGS: '-Copt-level=1' | |
uses: actions-rs/cargo@v1 | |
with: | |
args: --force cargo-workspaces | |
command: install | |
- name: Verify Publishing of crate | |
uses: katyo/publish-crates@v1 | |
with: | |
dry-run: true | |
- name: Cargo Publish to crates.io | |
env: | |
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} | |
run: cargo workspaces publish --from-git --allow-dirty |