name: Deploy Workflow
on:
push:
tags:
- "*"
jobs:
build-crates:
name: Deploy crates.io
strategy:
matrix:
rust-version: ["1.61"]
runs-on: ubuntu-latest
container: rust:${{ matrix.rust-version }}-bullseye
steps:
- uses: actions/checkout@v1
- run: cargo build
- run: |
cargo login ${{ secrets.CRATES_TOKEN }}
cargo publish --no-verify
build-npm:
name: Deploy NPM
strategy:
matrix:
rust-version: ["1.61"]
runs-on: ubuntu-latest
container: rust:${{ matrix.rust-version }}-bullseye
steps:
- uses: actions/checkout@v1
- uses: actions/setup-node@v1
with:
node-version: "12"
- run: node --version
- run: cargo install wasm-pack
- run: |
wasm-pack build --release --target=bundler --out-name pconvert_rust_bundler -- --features wasm-extension
wasm-pack build --release --target=nodejs -- --features wasm-extension
sed -i 's/ "pconvert_rust_bg.wasm"/ "pconvert_rust_bg.wasm","pconvert_rust_bundler_bg.wasm"/g' pkg/package.json
sed -i 's/ "pconvert_rust.js"/ "pconvert_rust.js","pconvert_rust_bundler.js"/g' pkg/package.json
sed -i 's/ "pconvert_rust_bg.js"/ "pconvert_rust_bg.js","pconvert_rust_bundler_bg.js"/g' pkg/package.json
sed -i 's/ "pconvert_rust.d.ts"/ "pconvert_rust.d.ts","pconvert_rust_bundler.d.ts"/g' pkg/package.json
- run: |
echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc
cd pkg && npm publish
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
build-pypi:
name: Deploy PyPI
strategy:
matrix:
rust-version: ["1.61"]
runs-on: ubuntu-latest
container: rust:${{ matrix.rust-version }}-bullseye
steps:
- uses: actions/checkout@v1
- run: apt update && apt-get install -y -q python3.9 python3-pip
- run: cargo run version
- run: cargo build --features python-extension
- run: PYTHON3=$(which python3) PIP3="$(which python3) -m pip" ./deploy.sh
env:
PYPI_USERNAME: ${{ secrets.PYPI_USERNAME }}
PYPI_PASSWORD: ${{ secrets.PYPI_PASSWORD }}