use_compute_credits: true macos_instance: image: ghcr.io/cirruslabs/macos-runner:tahoe env: PATH: "$PATH:$HOME/.cargo/bin" task: name: Lint install_rust_script: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y rustfmt_script: cargo fmt --check clippy_script: cargo clippy --all-targets --all-features -- -D warnings task: alias: Test matrix: - name: Test on macOS Sequoia macos_instance: image: ghcr.io/cirruslabs/macos-runner:sequoia - name: Test on macOS Tahoe macos_instance: image: ghcr.io/cirruslabs/macos-runner:tahoe install_rust_script: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y test_script: cargo test task: name: Release (Dry Run) only_if: $CIRRUS_TAG == '' depends_on: - Lint - Test install_rust_script: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y install_script: brew install go install_goreleaser_script: brew install --cask goreleaser/tap/goreleaser-pro build_script: goreleaser build --snapshot goreleaser_artifacts: path: "dist/**" task: name: Release only_if: $CIRRUS_TAG != '' depends_on: - Lint - Test env: GITHUB_TOKEN: ENCRYPTED[!98ace8259c6024da912c14d5a3c5c6aac186890a8d4819fad78f3e0c41a4e0cd3a2537dd6e91493952fb056fa434be7c!] GORELEASER_KEY: ENCRYPTED[!9b80b6ef684ceaf40edd4c7af93014ee156c8aba7e6e5795f41c482729887b5c31f36b651491d790f1f668670888d9fd!] SENTRY_ORG: cirrus-labs SENTRY_PROJECT: persistent-workers SENTRY_AUTH_TOKEN: ENCRYPTED[!c16a5cf7da5f856b4bc2f21fe8cb7aa2a6c981f851c094ed4d3025fd02ea59a58a86cee8b193a69a1fc20fa217e56ac3!] install_rust_script: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y install_script: brew install go getsentry/tools/sentry-cli install_goreleaser_script: brew install --cask goreleaser/tap/goreleaser-pro release_script: goreleaser upload_sentry_debug_files_script: - cd target/aarch64-apple-darwin/release/ # Generate and upload symbols - dsymutil softnet - sentry-cli debug-files upload -o $SENTRY_ORG -p $SENTRY_PROJECT softnet.dSYM/ # Bundle and upload sources - sentry-cli debug-files bundle-sources softnet.dSYM/ - sentry-cli debug-files upload -o $SENTRY_ORG -p $SENTRY_PROJECT softnet.src.zip create_sentry_release_script: - export SENTRY_RELEASE="softnet@$CIRRUS_TAG" - sentry-cli releases new $SENTRY_RELEASE - sentry-cli releases set-commits $SENTRY_RELEASE --auto - sentry-cli releases finalize $SENTRY_RELEASE