v1.0.3 #107
Workflow file for this run
This file contains hidden or 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
# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created | |
# For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages | |
name: Publish | |
on: | |
release: | |
types: | |
- created | |
jobs: | |
build-test: | |
name: Build and test (${{ matrix.os }}) | |
strategy: | |
matrix: | |
os: [ubuntu-latest, macos-latest, windows-latest] | |
runs-on: ${{ matrix.os }} | |
env: | |
MAESTRO_API_KEY: ${{ secrets.MAESTRO_API_KEY }} | |
BLOCKFROST_PREPROD_PROJECT_ID: ${{ secrets.BLOCKFROST_PREPROD_PROJECT_ID }} | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: swatinem/rust-cache@v2 | |
- name: Build whisky-common | |
run: > | |
cd packages/whisky-common && | |
cargo build | |
--locked | |
--verbose | |
- uses: actions/checkout@v3 | |
- uses: swatinem/rust-cache@v2 | |
- name: Build whisky-csl | |
run: > | |
cd packages/whisky-csl && | |
cargo build | |
--locked | |
--verbose | |
- uses: actions/checkout@v3 | |
- uses: swatinem/rust-cache@v2 | |
- name: Build whisky-js | |
run: > | |
cd packages/whisky-js && | |
cargo build | |
--locked | |
--verbose | |
- uses: actions/checkout@v3 | |
- uses: swatinem/rust-cache@v2 | |
- name: Build whisky-provider | |
run: > | |
cd packages/whisky-provider && | |
cargo build | |
--locked | |
--verbose | |
- uses: actions/checkout@v3 | |
- uses: swatinem/rust-cache@v2 | |
- name: Build whisky-wallet | |
run: > | |
cd packages/whisky-wallet && | |
cargo build | |
--locked | |
--verbose | |
- uses: actions/checkout@v3 | |
- uses: swatinem/rust-cache@v2 | |
- name: Build whisky | |
run: > | |
cd packages/whisky && | |
cargo build | |
--locked | |
--verbose | |
- name: Create .env file | |
run: | | |
echo "MAESTRO_API_KEY=${MAESTRO_API_KEY}" >> packages/whisky/.env | |
echo "BLOCKFROST_PREPROD_PROJECT_ID=${BLOCKFROST_PREPROD_PROJECT_ID}" >> packages/whisky/.env | |
- name: Run all tests (without coverage) | |
if: matrix.os != 'ubuntu-latest' | |
run: > | |
cd packages && | |
cargo test | |
--verbose | |
publish-npm: | |
needs: [build-test] | |
name: Publish NPM wasm package | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
registry-url: https://registry.npmjs.org/ | |
- name: Install dependencies | |
run: npm install && cargo install wasm-pack | |
- run: npm run js:publish-nodejs && npm run js:publish-browser | |
env: | |
MAESTRO_API_KEY: ${{ secrets.MAESTRO_API_KEY }} | |
BLOCKFROST_PREPROD_PROJECT_ID: ${{ secrets.BLOCKFROST_PREPROD_PROJECT_ID }} | |
NODE_AUTH_TOKEN: ${{secrets.npm_token}} | |
publish-common-crate: | |
needs: [build-test] | |
name: Publish whisky-common crate | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Install stable toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- run: cd packages/whisky-common && cargo publish --token ${PUBLISH_KEY} | |
env: | |
PUBLISH_KEY: ${{ secrets.PUBLISH_KEY }} | |
publish-csl-crate: | |
needs: [build-test, publish-common-crate] | |
name: Publish whisky-csl crate | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Install stable toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- run: cd packages/whisky-csl && cargo publish --token ${PUBLISH_KEY} | |
env: | |
PUBLISH_KEY: ${{ secrets.PUBLISH_KEY }} | |
publish-wallet-crate: | |
needs: [build-test, publish-common-crate, publish-csl-crate] | |
name: Publish whisky-wallet crate | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Install stable toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- run: cd packages/whisky-wallet && cargo publish --token ${PUBLISH_KEY} | |
env: | |
PUBLISH_KEY: ${{ secrets.PUBLISH_KEY }} | |
publish-provider-crate: | |
needs: [build-test, publish-common-crate, publish-csl-crate] | |
name: Publish whisky-provider crate | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Install stable toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- run: cd packages/whisky-provider && cargo publish --token ${PUBLISH_KEY} | |
env: | |
PUBLISH_KEY: ${{ secrets.PUBLISH_KEY }} | |
publish-whisky-crate: | |
needs: | |
[ | |
build-test, | |
publish-common-crate, | |
publish-csl-crate, | |
publish-provider-crate, | |
publish-wallet-crate, | |
] | |
name: Publish whisky crate | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Install stable toolchain | |
uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- run: cd packages/whisky && cargo publish --token ${PUBLISH_KEY} | |
env: | |
PUBLISH_KEY: ${{ secrets.PUBLISH_KEY }} |