name: Release on: create: tags: - 'v*' # Version tag env: CARGO_TERM_COLOR: always jobs: publish: name: publish to crates.io runs-on: ubuntu-latest steps: - uses: actions/checkout@master - uses: Swatinem/rust-cache@v1.0.1 - name: Publish crate continue-on-error: true run: cargo publish --manifest-path kalk/Cargo.toml --token ${{ secrets.CARGO_REGISTRY_TOKEN }} --verbose - name: Publish CLI run: sleep 20 && cargo publish --manifest-path kalk_cli/Cargo.toml --token ${{ secrets.CARGO_REGISTRY_TOKEN }} --verbose publish_npm: name: publish to npm runs-on: ubuntu-latest steps: - uses: actions/checkout@master - uses: Swatinem/rust-cache@v1.0.1 - uses: actions/setup-node@v1 with: node-version: 14 registry-url: https://registry.npmjs.org/ - name: Install wasm-pack run: cargo install --git https://github.com/rustwasm/wasm-pack.git --rev d46d1c69b788956160deed5e4e603f4f2780ffcf #run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh - name: Build run: | yarn install cd kalk wasm-pack build --scope paddim8 -- --no-default-features - name: Publish run: | sudo apt install expect /usr/bin/expect <- base-devel pacman-mirrors diffutils m4 make mingw-w64-x86_64-gcc mingw-w64-x86_64-rust continue-on-error: true - shell: msys2 {0} run: | cargo build --release --verbose - uses: crazy-max/ghaction-chocolatey@v1 with: args: install wixtoolset -y - shell: msys2 {0} run: | [ ! -f /c/Users/runneradmin/.cargo/bin/cargo-wix.exe ] && cargo install cargo-wix cd kalk_cli cargo wix --no-build --nocapture mv target/wix/*.msi target/wix/kalk-windows.msi - uses: actions/upload-artifact@v2 with: name: binaries path: kalk_cli/target/wix/kalk-windows.msi create_release: name: Create Release if: always() needs: [release_linux, release_mac, release_windows] runs-on: ubuntu-latest steps: - name: Create Release id: create_release uses: actions/create-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ github.ref }} release_name: ${{ github.ref }} draft: false prerelease: false - name: Download Artifact uses: actions/download-artifact@v2 with: name: binaries - name: Upload Assets uses: softprops/action-gh-release@v1 with: files: ./* env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}