name: Publish npm package on: release: types: [published] jobs: build-and-publish: name: Build and Publish runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 name: Checkout code - name: Setup node and npm uses: actions/setup-node@v3 with: node-version: "21.x" registry-url: "https://git.c0ntroller.de/api/packages/c0ntroller/npm/" scope: "@c0ntroller" - id: cache-rustup name: Cache Rust toolchain uses: actions/cache@v3 with: path: | ~/.cargo/bin/ ~/.cargo/registry/index/ ~/.cargo/registry/cache/ ~/.cargo/git/db/ ~/.rustup target/ key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} - name: Install rust uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true - if: ${{ steps.cache-rustup.outputs.cache-hit != 'true' }} name: Install wasm-pack run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh - name: Build run: wasm-pack build --target browser --release --scope c0ntroller - name: Publish run: wasm-pack publish env: NODE_AUTH_TOKEN: ${{ secrets.LOCAL_NPM }}