name: ci on: [push, pull_request] jobs: build: strategy: fail-fast: false matrix: # https://docs.github.com/en/actions/using-github-hosted-runners os: [ ubuntu-latest, ubuntu-24.04-arm, windows-latest, windows-11-arm, macos-latest, macos-26-intel, ] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v7 - uses: actions/setup-go@v7 with: go-version-file: go.mod - name: Test if: ${{ matrix.os != 'windows-11-arm' }} run: | go test -race -v ./... go test -race -v -tags no_spoof_tls_fingerprint ./... # -race is not supported on windows/arm64. - name: Test if: ${{ matrix.os == 'windows-11-arm' }} run: | go test -v ./... go test -v -tags no_spoof_tls_fingerprint ./... - name: Build run: go build -trimpath -ldflags=-s . - uses: actions/upload-artifact@v7 if: ${{ github.event_name == 'push' && github.ref == format('refs/heads/{0}', github.event.repository.default_branch) }} with: name: discordo_${{ runner.os }}_${{ runner.arch }} path: | discordo discordo.exe - name: Send repository dispatch if: ${{ runner.os == 'Windows' && github.event_name == 'push' && github.ref == format('refs/heads/{0}', github.event.repository.default_branch) }} env: GH_TOKEN: ${{ secrets.PAT }} run: | gh api --method POST -H "Accept: application/vnd.github+json" -f "event_type=discordo-ci-completed" /repos/vvirtues/bucket/dispatches