feat(toolkit): task dumps in recipes, bugfixes (#380) #212
This file contains hidden or 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: Publish release | |
| permissions: | |
| pull-requests: write | |
| contents: write | |
| id-token: write | |
| on: | |
| push: | |
| branches: | |
| - main | |
| jobs: | |
| release-plz-release: | |
| name: Release-plz release | |
| runs-on: ubuntu-latest | |
| environment: release | |
| outputs: | |
| releases: ${{ steps.release-plz.outputs.releases }} | |
| releases_created: ${{ steps.release-plz.outputs.releases_created }} | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Authenticate to crates.io | |
| uses: rust-lang/crates-io-auth-action@v1 | |
| id: auth | |
| - name: Run release-plz | |
| id: release-plz | |
| uses: release-plz/action@v0.5.102 | |
| with: | |
| command: release | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| CARGO_REGISTRY_TOKEN: ${{ steps.auth.outputs.token }} | |
| build-viewer-binaries: | |
| name: Build dial9-viewer ${{ matrix.target }} | |
| needs: release-plz-release | |
| if: >- | |
| needs.release-plz-release.outputs.releases_created == 'true' && | |
| contains(needs.release-plz-release.outputs.releases, '"package_name":"dial9-viewer"') | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - target: x86_64-unknown-linux-gnu | |
| os: ubuntu-latest | |
| archive: tar.gz | |
| - target: aarch64-unknown-linux-gnu | |
| os: ubuntu-24.04-arm | |
| archive: tar.gz | |
| - target: x86_64-apple-darwin | |
| os: macos-latest | |
| archive: tar.gz | |
| - target: aarch64-apple-darwin | |
| os: macos-latest | |
| archive: tar.gz | |
| - target: x86_64-pc-windows-msvc | |
| os: windows-latest | |
| archive: zip | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| persist-credentials: false | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: ${{ matrix.target }} | |
| - run: cargo build --release --target ${{ matrix.target }} -p dial9-viewer -p dial9 | |
| env: | |
| RUSTFLAGS: "--cfg tokio_unstable" | |
| - name: Determine tag and version | |
| id: version | |
| shell: bash | |
| run: | | |
| TAG=$(echo '${{ needs.release-plz-release.outputs.releases }}' | jq -r '.[] | select(.package_name == "dial9-viewer") | .tag') | |
| VERSION=$(echo '${{ needs.release-plz-release.outputs.releases }}' | jq -r '.[] | select(.package_name == "dial9-viewer") | .version') | |
| echo "tag=${TAG}" >> "$GITHUB_OUTPUT" | |
| echo "version=v${VERSION}" >> "$GITHUB_OUTPUT" | |
| - name: Package (Unix) | |
| if: ${{ matrix.archive == 'tar.gz' }} | |
| shell: bash | |
| run: | | |
| cd target/${{ matrix.target }}/release | |
| tar -czvf ../../../dial9-viewer-${{ matrix.target }}-${{ steps.version.outputs.version }}.tar.gz dial9-viewer dial9 | |
| - name: Package (Windows) | |
| if: ${{ matrix.archive == 'zip' }} | |
| shell: pwsh | |
| run: | | |
| cd target/${{ matrix.target }}/release | |
| Compress-Archive -Path dial9-viewer.exe,dial9.exe -DestinationPath ../../../dial9-viewer-${{ matrix.target }}-${{ steps.version.outputs.version }}.zip | |
| - name: Upload release asset | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| tag_name: ${{ steps.version.outputs.tag }} | |
| files: dial9-viewer-${{ matrix.target }}-${{ steps.version.outputs.version }}.${{ matrix.archive }} |