Release #102
Workflow file for this run
This file contains 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
name: Release | |
on: | |
create: | |
tags: | |
- 'v*' # Version tag | |
workflow_dispatch: | |
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 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 wasm-pack | |
- name: Build | |
run: | | |
yarn install | |
cd kalk | |
wasm-pack build --scope paddim8 -- --no-default-features | |
cd .. | |
- uses: JS-DevTools/npm-publish@v1 | |
with: | |
token: ${{ secrets.NPM_TOKEN }} | |
package: ./kalk/pkg/package.json | |
access: public | |
publish_kalk_web: | |
name: publish kalk_web | |
if: always() | |
runs-on: ubuntu-latest | |
needs: [publish_npm] | |
steps: | |
- uses: actions/checkout@master | |
- uses: actions/setup-node@v1 | |
with: | |
node-version: 14 | |
registry-url: https://registry.npmjs.org/ | |
- name: build | |
run: | | |
cd web | |
npm install | |
cd .. | |
- uses: JS-DevTools/npm-publish@v1 | |
with: | |
token: ${{ secrets.NPM_TOKEN }} | |
package: ./web/package.json | |
access: public | |
release_linux: | |
name: release linux | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@master | |
- uses: Swatinem/rust-cache@v1.0.1 | |
- name: Compile | |
run: | | |
cargo build --release --verbose | |
mkdir build | |
cp target/release/kalker build/kalker-linux | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: linux | |
path: build/kalker-linux | |
release_mac: | |
name: release mac | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@master | |
- uses: actions/cache@v2 | |
with: | |
path: | | |
~/.cargo/registry/index | |
~/.cargo/registry/cache | |
target | |
key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }} | |
- name: Compile | |
run: | | |
cargo build --release --verbose | |
mkdir build | |
zip -r build/kalker-macOS.zip target/release/kalker | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: macOS | |
path: build/kalker-macOS.zip | |
release_windows: | |
name: release windows | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@master | |
- uses: actions/cache@v2 | |
with: | |
key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }} | |
path: | | |
C:\Users\runneradmin\.cargo\bin\cargo-wix | |
C:\Users\runneradmin\.cargo\registry\index | |
C:\Users\runneradmin\.cargo\registry\cache | |
C:\Users\runneradmin\.cargo\registry\cache | |
{FOLDERID_LocalAppData}\gmp-mpfr-sys | |
D:\a\kalker\kalker\target | |
C:\msys64\home\paddi\kalker\target | |
- uses: msys2/setup-msys2@v2 | |
with: | |
update: true | |
install: >- | |
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 --version 0.3.1 | |
cd cli | |
cargo wix --no-build --nocapture | |
mkdir ../build | |
mv target/wix/*.msi ../build/kalker-windows.msi | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: win64 | |
path: build/kalker-windows.msi | |
release_android: | |
name: release android | |
if: false | |
runs-on: ubuntu-latest | |
needs: [publish_kalk_web] | |
defaults: | |
run: | |
working-directory: ./mobile | |
steps: | |
- uses: actions/checkout@master | |
- uses: actions/cache@v2 | |
with: | |
path: | | |
mobile/android/.gradle | |
mobile/android/build | |
mobile/android/app/build | |
key: ${{ runner.os }}-${{ hashFiles('**/lockfiles') }} | |
- name: npm | |
run: | | |
npm install | |
npm run build | |
- name: build app | |
run: | | |
npx cap sync | |
cd android | |
version=$(cat ../../web/package.json | grep version | head -1 | awk -F: '{ print $2 }' | sed 's/[",]//g' | tr -d '[[:space:]]') | |
APP_VERSION_NAME=$version ./gradlew assembleRelease | |
- name: Setup build tool version variable | |
shell: bash | |
run: | | |
BUILD_TOOL_VERSION=$(ls /usr/local/lib/android/sdk/build-tools/ | tail -n 1) | |
echo "BUILD_TOOL_VERSION=$BUILD_TOOL_VERSION" >> $GITHUB_ENV | |
echo Last build tool version is: $BUILD_TOOL_VERSION | |
- uses: r0adkll/sign-android-release@v1 | |
name: sign apk | |
with: | |
releaseDirectory: mobile/android/app/build/outputs/apk/release | |
signingKeyBase64: ${{ secrets.SIGNING_KEY }} | |
alias: ${{ secrets.ALIAS }} | |
keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }} | |
keyPassword: ${{ secrets.KEY_PASSWORD }} | |
env: | |
BUILD_TOOLS_VERSION: ${{ env.BUILD_TOOL_VERSION }} | |
- run: | | |
mkdir ../build | |
mv $(ls -Art android/app/build/outputs/apk/release/*.apk | tail -n 1) ../build/kalker-android.apk | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: android | |
path: build/kalker-android.apk | |
create_release: | |
name: Create Release | |
if: always() | |
needs: [release_linux, release_mac, release_windows] | |
runs-on: ubuntu-latest | |
permissions: write-all | |
steps: | |
- name: Download Artifact | |
uses: actions/download-artifact@v4 | |
with: | |
path: build | |
merge-multiple: true | |
- name: Upload Assets | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: gh release create ${{ github.ref_name }} build/* |