github.com/sagernet/sing-box@v1.9.0-rc.20/.github/workflows/debug.yml (about)

     1  name: Debug build
     2  
     3  on:
     4    push:
     5      branches:
     6        - stable-next
     7        - main-next
     8        - dev-next
     9      paths-ignore:
    10        - '**.md'
    11        - '.github/**'
    12        - '!.github/workflows/debug.yml'
    13    pull_request:
    14      branches:
    15        - stable-next
    16        - main-next
    17        - dev-next
    18  
    19  jobs:
    20    build:
    21      name: Debug build
    22      runs-on: ubuntu-latest
    23      steps:
    24        - name: Checkout
    25          uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4
    26          with:
    27            fetch-depth: 0
    28        - name: Setup Go
    29          uses: actions/setup-go@v5
    30          with:
    31            go-version: ^1.22
    32          continue-on-error: true
    33        - name: Run Test
    34          run: |
    35            go test -v ./...
    36    build_go118:
    37      name: Debug build (Go 1.18)
    38      runs-on: ubuntu-latest
    39      steps:
    40        - name: Checkout
    41          uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4
    42          with:
    43            fetch-depth: 0
    44        - name: Setup Go
    45          uses: actions/setup-go@v5
    46          with:
    47            go-version: ~1.18
    48        - name: Cache go module
    49          uses: actions/cache@v4
    50          with:
    51            path: |
    52              ~/go/pkg/mod
    53            key: go118-${{ hashFiles('**/go.sum') }}
    54        - name: Run Test
    55          run: make ci_build_go118
    56    build_go120:
    57      name: Debug build (Go 1.20)
    58      runs-on: ubuntu-latest
    59      steps:
    60        - name: Checkout
    61          uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4
    62          with:
    63            fetch-depth: 0
    64        - name: Setup Go
    65          uses: actions/setup-go@v5
    66          with:
    67            go-version: ~1.20
    68        - name: Cache go module
    69          uses: actions/cache@v4
    70          with:
    71            path: |
    72              ~/go/pkg/mod
    73            key: go120-${{ hashFiles('**/go.sum') }}
    74        - name: Run Test
    75          run: make ci_build_go120
    76    build_go121:
    77      name: Debug build (Go 1.21)
    78      runs-on: ubuntu-latest
    79      steps:
    80        - name: Checkout
    81          uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4
    82          with:
    83            fetch-depth: 0
    84        - name: Setup Go
    85          uses: actions/setup-go@v5
    86          with:
    87            go-version: ~1.21
    88        - name: Cache go module
    89          uses: actions/cache@v4
    90          with:
    91            path: |
    92              ~/go/pkg/mod
    93            key: go121-${{ hashFiles('**/go.sum') }}
    94        - name: Run Test
    95          run: make ci_build
    96    cross:
    97      strategy:
    98        matrix:
    99          include:
   100            # windows
   101            - name: windows-amd64
   102              goos: windows
   103              goarch: amd64
   104              goamd64: v1
   105            - name: windows-amd64-v3
   106              goos: windows
   107              goarch: amd64
   108              goamd64: v3
   109            - name: windows-386
   110              goos: windows
   111              goarch: 386
   112            - name: windows-arm64
   113              goos: windows
   114              goarch: arm64
   115            - name: windows-arm32v7
   116              goos: windows
   117              goarch: arm
   118              goarm: 7
   119            
   120            # linux
   121            - name: linux-amd64
   122              goos: linux
   123              goarch: amd64
   124              goamd64: v1
   125            - name: linux-amd64-v3
   126              goos: linux
   127              goarch: amd64
   128              goamd64: v3
   129            - name: linux-386
   130              goos: linux
   131              goarch: 386
   132            - name: linux-arm64
   133              goos: linux
   134              goarch: arm64
   135            - name: linux-armv5
   136              goos: linux
   137              goarch: arm
   138              goarm: 5
   139            - name: linux-armv6
   140              goos: linux
   141              goarch: arm
   142              goarm: 6
   143            - name: linux-armv7
   144              goos: linux
   145              goarch: arm
   146              goarm: 7
   147            - name: linux-mips-softfloat
   148              goos: linux
   149              goarch: mips
   150              gomips: softfloat
   151            - name: linux-mips-hardfloat
   152              goos: linux
   153              goarch: mips
   154              gomips: hardfloat
   155            - name: linux-mipsel-softfloat
   156              goos: linux
   157              goarch: mipsle
   158              gomips: softfloat
   159            - name: linux-mipsel-hardfloat
   160              goos: linux
   161              goarch: mipsle
   162              gomips: hardfloat
   163            - name: linux-mips64
   164              goos: linux
   165              goarch: mips64
   166            - name: linux-mips64el
   167              goos: linux
   168              goarch: mips64le
   169            - name: linux-s390x
   170              goos: linux
   171              goarch: s390x
   172            # darwin
   173            - name: darwin-amd64
   174              goos: darwin
   175              goarch: amd64
   176              goamd64: v1
   177            - name: darwin-amd64-v3
   178              goos: darwin
   179              goarch: amd64
   180              goamd64: v3
   181            - name: darwin-arm64
   182              goos: darwin
   183              goarch: arm64
   184            # freebsd
   185            - name: freebsd-amd64
   186              goos: freebsd
   187              goarch: amd64
   188              goamd64: v1
   189            - name: freebsd-amd64-v3
   190              goos: freebsd
   191              goarch: amd64
   192              goamd64: v3
   193            - name: freebsd-386
   194              goos: freebsd
   195              goarch: 386
   196            - name: freebsd-arm64
   197              goos: freebsd
   198              goarch: arm64
   199        fail-fast: true
   200      runs-on: ubuntu-latest
   201      env:
   202        GOOS: ${{ matrix.goos }}
   203        GOARCH: ${{ matrix.goarch }}
   204        GOAMD64: ${{ matrix.goamd64 }}
   205        GOARM: ${{ matrix.goarm }}
   206        GOMIPS: ${{ matrix.gomips }}
   207        CGO_ENABLED: 0
   208        TAGS: with_clash_api,with_quic
   209      steps:
   210        - name: Checkout
   211          uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4
   212          with:
   213            fetch-depth: 0
   214        - name: Setup Go
   215          uses: actions/setup-go@v5
   216          with:
   217            go-version: ^1.21
   218        - name: Build
   219          id: build
   220          run: make