name: "release" on: release: types: [ created ] jobs: # Ensure version numbers in various places match up ensure-same-version: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 - name: install dependencies run: | pip install toml - name: Run check run: | python3 scripts/check_version_numbers.py --release ${{github.event.release.tag_name}} build: needs: ensure-same-version strategy: fail-fast: false matrix: platform: [ubuntu-22.04, windows-latest] runs-on: ${{ matrix.platform }} steps: - uses: actions/checkout@v3 - name: setup node uses: actions/setup-node@v3 with: node-version: 16 - name: install Rust stable uses: actions-rs/toolchain@v1 with: toolchain: stable - name: install dependencies (ubuntu only) if: matrix.platform == 'ubuntu-22.04' run: | sudo apt-get update sudo apt-get install -y libgtk-3-dev webkit2gtk-4.0 libappindicator3-dev librsvg2-dev patchelf - uses: Swatinem/rust-cache@v2 # Cache Rust build artifacts with: workspaces: | src-tauri - name: install app dependencies and build it env: TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }} run: | npm install cd src-vue && npm install && cd .. npm run tauri build - uses: tauri-apps/tauri-action@v0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }} - name: upload build artifact uses: actions/upload-artifact@v2 with: path: | src-tauri/target/release/bundle/appimage/*AppImage* src-tauri/target/release/bundle/msi/*msi* src-tauri/target/release/app.pdb - name: Release uses: softprops/action-gh-release@v1 with: files: | src-tauri/target/release/bundle/appimage/*AppImage* src-tauri/target/release/bundle/msi/*msi* create-release-file: needs: build runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v3 - uses: actions/download-artifact@v3 - name: Create release file run: | python3 scripts/create-release-file.py --version ${{github.event.release.tag_name}} - name: upload release file uses: softprops/action-gh-release@v1 with: files: | latest-release.json