| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213 |
- name: Debug build
- on:
- push:
- branches:
- - main-next
- - dev-next
- paths-ignore:
- - '**.md'
- - '.github/**'
- - '!.github/workflows/debug.yml'
- pull_request:
- branches:
- - main-next
- - dev-next
- jobs:
- build:
- name: Debug build
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v3
- with:
- fetch-depth: 0
- - name: Get latest go version
- id: version
- run: |
- echo go_version=$(curl -s https://raw.githubusercontent.com/actions/go-versions/main/versions-manifest.json | grep -oE '"version": "[0-9]{1}.[0-9]{1,}(.[0-9]{1,})?"' | head -1 | cut -d':' -f2 | sed 's/ //g; s/"//g') >> $GITHUB_OUTPUT
- - name: Setup Go
- uses: actions/setup-go@v3
- with:
- go-version: ${{ steps.version.outputs.go_version }}
- - name: Cache go module
- uses: actions/cache@v3
- with:
- path: |
- ~/go/pkg/mod
- key: go-${{ hashFiles('**/go.sum') }}
- - name: Add cache to Go proxy
- run: |
- version=`git rev-parse HEAD`
- mkdir build
- pushd build
- go mod init build
- go get -v github.com/sagernet/sing-box@$version
- popd
- continue-on-error: true
- - name: Run Test
- run: |
- go test -v ./...
- build_go118:
- name: Debug build (Go 1.18)
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v3
- with:
- fetch-depth: 0
- - name: Setup Go
- uses: actions/setup-go@v3
- with:
- go-version: 1.18.7
- - name: Cache go module
- uses: actions/cache@v3
- with:
- path: |
- ~/go/pkg/mod
- key: go118-${{ hashFiles('**/go.sum') }}
- - name: Run Test
- run: |
- go test -v ./...
- 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: false
- 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@v3
- with:
- fetch-depth: 0
- - name: Get latest go version
- id: version
- run: |
- echo go_version=$(curl -s https://raw.githubusercontent.com/actions/go-versions/main/versions-manifest.json | grep -oE '"version": "[0-9]{1}.[0-9]{1,}(.[0-9]{1,})?"' | head -1 | cut -d':' -f2 | sed 's/ //g; s/"//g') >> $GITHUB_OUTPUT
- - name: Setup Go
- uses: actions/setup-go@v3
- with:
- go-version: ${{ steps.version.outputs.go_version }}
- - name: Cache go module
- uses: actions/cache@v3
- with:
- path: |
- ~/go/pkg/mod
- key: go-${{ hashFiles('**/go.sum') }}
- - name: Build
- id: build
- run: make
- - name: Upload artifact
- uses: actions/upload-artifact@v3
- with:
- name: sing-box-${{ matrix.name }}
- path: sing-box*
|