feat: implement apiToken failover mechanism (#1256) #23
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "Build and Test" | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: ["*"] | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-go@v5 | |
with: | |
go-version: 1.21.5 | |
# 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@v4 | |
- name: "Setup Go" | |
uses: actions/setup-go@v5 | |
with: | |
go-version: 1.21.5 | |
- name: Setup Golang Caches | |
uses: actions/cache@v4 | |
with: | |
path: |- | |
~/.cache/go-build | |
~/go/pkg/mod | |
key: ${{ runner.os }}-go-${{ github.run_id }} | |
restore-keys: ${{ runner.os }}-go | |
- run: git stash # restore patch | |
# test | |
- name: Run Coverage Tests | |
run: |- | |
go version | |
GOPROXY="https://proxy.golang.org,direct" make go.test.coverage | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v4 | |
with: | |
fail_ci_if_error: false | |
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: "Checkout ${{ github.ref }}" | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 2 | |
- name: "Setup Go" | |
uses: actions/setup-go@v5 | |
with: | |
go-version: 1.21.5 | |
- name: Setup Golang Caches | |
uses: actions/cache@v4 | |
with: | |
path: |- | |
~/.cache/go-build | |
~/go/pkg/mod | |
key: ${{ runner.os }}-go-${{ github.run_id }} | |
restore-keys: ${{ runner.os }}-go | |
- run: git stash # restore patch | |
- name: "Build Higress Binary" | |
run: GOPROXY="https://proxy.golang.org,direct" make build | |
- name: Upload Higress Binary | |
uses: actions/upload-artifact@v4 | |
with: | |
name: higress | |
path: out/ | |
gateway-conformance-test: | |
runs-on: ubuntu-latest | |
needs: [build] | |
steps: | |
- uses: actions/checkout@v3 | |
higress-conformance-test: | |
runs-on: ubuntu-latest | |
needs: [build] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Free Up GitHub Actions Ubuntu Runner Disk Space 🔧 | |
uses: jlumbroso/free-disk-space@main | |
with: | |
tool-cache: false | |
android: true | |
dotnet: true | |
haskell: true | |
large-packages: true | |
swap-storage: true | |
- name: "Setup Go" | |
uses: actions/setup-go@v5 | |
with: | |
go-version: 1.21.5 | |
- name: Setup Golang Caches | |
uses: actions/cache@v4 | |
with: | |
path: |- | |
~/.cache/go-build | |
~/go/pkg/mod | |
key: ${{ runner.os }}-go-${{ github.run_id }} | |
restore-keys: ${{ runner.os }}-go | |
- run: git stash # restore patch | |
- name: "Run Higress E2E Conformance Tests" | |
run: GOPROXY="https://proxy.golang.org,direct" make higress-conformance-test | |
publish: | |
runs-on: ubuntu-latest | |
needs: [higress-conformance-test,gateway-conformance-test] | |
steps: | |
- uses: actions/checkout@v4 |