name: "Build and Test" on: push: branches: [ main ] pull_request: branches: ["*"] jobs: lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-go@v3 with: go-version: 1.19 # There are too many lint errors in current code bases # uncomment when we decide what lint should be addressed or ignored. # - run: make lint coverage-test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 # test - name: Run Coverage Tests run: GOPROXY="https://proxy.golang.org,direct" make go.test.coverage - name: Upload coverage to Codecov uses: codecov/codecov-action@v3 with: fail_ci_if_error: true files: ./coverage.xml verbose: true build: # The type of runner that the job will run on runs-on: ubuntu-latest needs: [lint,coverage-test] steps: - name: "Setup Go" uses: actions/setup-go@v3 with: go-version: 1.19 - name: "checkout ${{ github.ref }}" uses: actions/checkout@v3 with: fetch-depth: 2 - name: "Build Higress Binary" run: GOPROXY="https://proxy.golang.org,direct" make build - name: Upload Higress Binary uses: actions/upload-artifact@v3 with: name: higress path: out/ gateway-conformance-test: runs-on: ubuntu-latest needs: [build] steps: - uses: actions/checkout@v3 ingress-conformance-test: runs-on: ubuntu-latest needs: [build] steps: - name: "Setup Go" uses: actions/setup-go@v3 with: go-version: 1.19 - uses: actions/checkout@v3 - name: "Run Ingress Conformance Tests" run: GOPROXY="https://proxy.golang.org,direct" make ingress-conformance-test publish: runs-on: ubuntu-latest needs: [ingress-conformance-test,gateway-conformance-test] steps: - uses: actions/checkout@v3