name: Debug build on: push: branches: - stable-next - main-next - dev-next paths-ignore: - '**.md' - '.github/**' - '!.github/workflows/debug.yml' pull_request: branches: - stable-next - main-next - dev-next jobs: build: name: Debug build runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4 with: fetch-depth: 0 - name: Setup Go uses: actions/setup-go@v5 with: go-version: ^1.23 - name: Run Test run: | go test -v ./... build_go120: name: Debug build (Go 1.20) runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4 with: fetch-depth: 0 - name: Setup Go uses: actions/setup-go@v5 with: go-version: ~1.20 - name: Cache go module uses: actions/cache@v4 with: path: | ~/go/pkg/mod key: go120-${{ hashFiles('**/go.sum') }} - name: Run Test run: make ci_build_go120 build_go121: name: Debug build (Go 1.21) runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4 with: fetch-depth: 0 - name: Setup Go uses: actions/setup-go@v5 with: go-version: ~1.21 - name: Cache go module uses: actions/cache@v4 with: path: | ~/go/pkg/mod key: go121-${{ hashFiles('**/go.sum') }} - name: Run Test run: make ci_build build_go122: name: Debug build (Go 1.22) runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4 with: fetch-depth: 0 - name: Setup Go uses: actions/setup-go@v5 with: go-version: ~1.22 - name: Cache go module uses: actions/cache@v4 with: path: | ~/go/pkg/mod key: go122-${{ hashFiles('**/go.sum') }} - name: Run Test run: make ci_build cross: strategy: matrix: include: # windows - name: windows-amd64 goos: windows goarch: amd64 goamd64: v1 - name: windows-amd64-v3 goos: windows goarch: amd64 goamd64: v3 - name: windows-386 goos: windows goarch: 386 - name: windows-arm64 goos: windows goarch: arm64 - name: windows-arm32v7 goos: windows goarch: arm goarm: 7 # linux - name: linux-amd64 goos: linux goarch: amd64 goamd64: v1 - name: linux-amd64-v3 goos: linux goarch: amd64 goamd64: v3 - name: linux-386 goos: linux goarch: 386 - name: linux-arm64 goos: linux goarch: arm64 - name: linux-armv5 goos: linux goarch: arm goarm: 5 - name: linux-armv6 goos: linux goarch: arm goarm: 6 - name: linux-armv7 goos: linux goarch: arm goarm: 7 - name: linux-mips-softfloat goos: linux goarch: mips gomips: softfloat - name: linux-mips-hardfloat goos: linux goarch: mips gomips: hardfloat - name: linux-mipsel-softfloat goos: linux goarch: mipsle gomips: softfloat - name: linux-mipsel-hardfloat goos: linux goarch: mipsle gomips: hardfloat - name: linux-mips64 goos: linux goarch: mips64 - name: linux-mips64el goos: linux goarch: mips64le - name: linux-s390x goos: linux goarch: s390x # darwin - name: darwin-amd64 goos: darwin goarch: amd64 goamd64: v1 - name: darwin-amd64-v3 goos: darwin goarch: amd64 goamd64: v3 - name: darwin-arm64 goos: darwin goarch: arm64 # freebsd - name: freebsd-amd64 goos: freebsd goarch: amd64 goamd64: v1 - name: freebsd-amd64-v3 goos: freebsd goarch: amd64 goamd64: v3 - name: freebsd-386 goos: freebsd goarch: 386 - name: freebsd-arm64 goos: freebsd goarch: arm64 fail-fast: true runs-on: ubuntu-latest env: GOOS: ${{ matrix.goos }} GOARCH: ${{ matrix.goarch }} GOAMD64: ${{ matrix.goamd64 }} GOARM: ${{ matrix.goarm }} GOMIPS: ${{ matrix.gomips }} CGO_ENABLED: 0 TAGS: with_clash_api,with_quic steps: - name: Checkout uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4 with: fetch-depth: 0 - name: Setup Go uses: actions/setup-go@v5 with: go-version: ^1.21 - name: Build id: build run: make