name: Rust

concurrency:
    group: Rust-${{ github.workflow }}-${{ github.ref }}
    cancel-in-progress: true

permissions:
    security-events: write

on:
    workflow_dispatch:
    push:
        branches: [$Branch$]
    pull_request:
        branches: [$Branch$]
    workflow_call:

jobs:
    Build:
        runs-on: ubuntu-latest

        env:
            ADBLOCK: true
            ASTRO_TELEMETRY_DISABLED: 1
            AUTOMATEDLAB_TELEMETRY_OPTOUT: 1
            AZURE_CORE_COLLECT_TELEMETRY: 0
            CHOOSENIM_NO_ANALYTICS: 1
            DIEZ_DO_NOT_TRACK: 1
            DO_NOT_TRACK: 1
            DOTNET_CLI_TELEMETRY_OPTOUT: 1
            DOTNET_INTERACTIVE_CLI_TELEMETRY_OPTOUT: 1
            ET_NO_TELEMETRY: 1
            GATSBY_TELEMETRY_DISABLED: 1
            GATSBY_TELEMETRY_OPT_OUT: 1
            GATSBY_TELEMETRY_OPTOUT: 1
            GRIT_TELEMETRY_DISABLED: 1
            HASURA_GRAPHQL_ENABLE_TELEMETRY: false
            HINT_TELEMETRY: off
            HOMEBREW_NO_ANALYTICS: 1
            INFLUXD_REPORTING_DISABLED: true
            ITERATIVE_DO_NOT_TRACK: 1
            NEXT_TELEMETRY_DEBUG: 1
            NEXT_TELEMETRY_DISABLED: 1
            NG_CLI_ANALYTICS: false
            NUXT_TELEMETRY_DISABLED: 1
            PIN_DO_NOT_TRACK: 1
            POWERSHELL_TELEMETRY_OPTOUT: 1
            SAM_CLI_TELEMETRY: 0
            STNOUPGRADE: 1
            STRIPE_CLI_TELEMETRY_OPTOUT: 1
            TELEMETRY_DISABLED: 1
            TERRAFORM_TELEMETRY: 0
            VCPKG_DISABLE_METRICS: 1

        strategy:
            matrix:
                toolchain: ["stable", "nightly"]

        steps:
            - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

            - uses: actions-rs/toolchain@16499b5e05bf2e26879000db0c1d13f7e13fa3af # v1.0.7
              with:
                  profile: minimal
                  toolchain: ${{ matrix.toolchain }}
