name: Test CI on: workflow_dispatch: inputs: os: description: "Runs on OS" required: true default: windows-latest type: choice options: - windows-latest - ubuntu-latest - macos-latest - ubuntu-18.04 - ubuntu-20.04 - ubuntu-22.04 - macos-10.15 - macos-11 - macos-12 - windows-2019 - windows-2022 env: CARGO_INCREMENTAL: 0 RUST_BACKTRACE: short jobs: release: runs-on: ${{ github.event.inputs.os }} if: startsWith(github.repository, 'zzzgydi') steps: - name: Checkout repository uses: actions/checkout@v2 - name: Install Rust uses: actions-rs/toolchain@v1 with: toolchain: stable profile: minimal override: true - name: Rust Cache uses: Swatinem/rust-cache@v1 with: working-directory: src-tauri - name: Install Node uses: actions/setup-node@v1 with: node-version: 14 - name: Install Dependencies (ubuntu only) if: startsWith(github.event.inputs.os, 'ubuntu-') run: | sudo apt-get update sudo apt-get install -y libwebkit2gtk-4.0-dev build-essential curl wget libssl-dev libgtk-3-dev libappindicator3-dev librsvg2-dev libayatana-appindicator3-dev - name: Install ARM64 toolchain (windows only) if: startsWith(github.event.inputs.os, 'windows-') run: | rustup target add aarch64-pc-windows-msvc - name: Get yarn cache dir path id: yarn-cache-dir-path run: echo "::set-output name=dir::$(yarn cache dir)" - name: Yarn Cache uses: actions/cache@v2 id: yarn-cache with: path: ${{ steps.yarn-cache-dir-path.outputs.dir }} key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} restore-keys: | ${{ runner.os }}-yarn- - name: Yarn install and check run: | yarn install --network-timeout 1000000 yarn run check - name: Tauri build uses: tauri-apps/tauri-action@0e558392ccadcb49bcc89e7df15a400e8f0c954d env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }} TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }} - name: Tauri build arm64 (windows only) if: startsWith(github.event.inputs.os, 'windows-') uses: tauri-apps/tauri-action@0e558392ccadcb49bcc89e7df15a400e8f0c954d # enable cache even though failed # continue-on-error: true env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }} TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }} with: args: --target aarc64-pc-windows-msvc