name: release
on:
workflow_dispatch:
inputs:
level:
type: choice
description: Which number to bump
default: patch
options:
- major
- minor
- patch
env:
CARGO_TERM_COLOR: always
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: write
id-token: write
steps:
- uses: actions/checkout@v4
- uses: Swatinem/rust-cache@v2
- uses: actions/setup-node@v4
with:
cache: npm
cache-dependency-path: wasm-test/package-lock.json
registry-url: https://registry.npmjs.org
- run: cargo install cargo-release wasm-pack
if: steps.rust-cache.outputs.cache-hit != 'true'
- run: |
git config user.name "GitHub Release Action"
git config user.email "119665497+lvlvllvlvllvlvl@users.noreply.github.com"
cargo login ${{ secrets.CRATES_IO_API_TOKEN }}
cargo release ${{ github.event.inputs.level }} --execute --no-confirm
wasm-pack build --target web --features wasm
npx -y wasm-pack-inline pkg --dir pkg
- run: npm publish --provenance
working-directory: pkg