github.com/eagleql/xray-core@v1.4.4/.github/workflows/test.yml (about) 1 name: Test 2 3 on: 4 push: 5 branches: 6 - main 7 paths: 8 - "**/*.go" 9 - "go.mod" 10 - "go.sum" 11 - ".github/workflows/*.yml" 12 pull_request: 13 types: [opened, synchronize, reopened] 14 paths: 15 - "**/*.go" 16 - "go.mod" 17 - "go.sum" 18 - ".github/workflows/*.yml" 19 20 jobs: 21 test: 22 runs-on: ${{ matrix.os }} 23 strategy: 24 fail-fast: false 25 matrix: 26 os: [windows-latest, ubuntu-latest, macos-latest] 27 steps: 28 - name: Set up Go 29 uses: actions/setup-go@v2 30 with: 31 go-version: ^1.16 32 - name: Checkout codebase 33 uses: actions/checkout@v2 34 35 - name: Prepare geo*dat 36 if: ${{ matrix.os != 'windows-latest' }} 37 run: | 38 mkdir resources 39 wget -O ./resources/geoip.dat https://github.com/v2fly/geoip/releases/latest/download/geoip.dat 40 wget -O ./resources/geosite.dat https://github.com/v2fly/domain-list-community/releases/latest/download/dlc.dat 41 - name: Prepare geo*dat for Windows 42 if: ${{ matrix.os == 'windows-latest' }} 43 run: | 44 mkdir resources 45 Invoke-WebRequest -Uri "https://github.com/v2fly/geoip/releases/latest/download/geoip.dat" -OutFile "./resources/geoip.dat" 46 Invoke-WebRequest -Uri "https://github.com/v2fly/domain-list-community/releases/latest/download/dlc.dat" -OutFile "./resources/geosite.dat" 47 - name: Test 48 run: go test -timeout 1h -v ./...