H23 t #1
Workflow file for this run
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@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 | |
- name: Setup Golang Caches | |
uses: actions/cache@v3 | |
with: | |
path: |- | |
~/.cache/go-build | |
~/go/pkg/mod | |
key: ${{ runner.os }}-go-${{ github.run_id }} | |
restore-keys: ${{ runner.os }}-go | |
- name: Setup Submodule Caches | |
uses: actions/cache@v3 | |
with: | |
path: |- | |
.git/modules | |
key: ${{ runner.os }}-submodules-cache-${{ github.run_id }} | |
restore-keys: ${{ runner.os }}-submodules-cache | |
- run: git stash # restore patch | |
# 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: "Checkout ${{ github.ref }}" | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 2 | |
- name: "Setup Go" | |
uses: actions/setup-go@v3 | |
with: | |
go-version: 1.19 | |
- name: Setup Golang Caches | |
uses: actions/cache@v3 | |
with: | |
path: |- | |
~/.cache/go-build | |
~/go/pkg/mod | |
key: ${{ runner.os }}-go-${{ github.run_id }} | |
restore-keys: ${{ runner.os }}-go | |
- name: Setup Submodule Caches | |
uses: actions/cache@v3 | |
with: | |
path: |- | |
.git/modules | |
key: ${{ runner.os }}-submodules-cache-${{ github.run_id }} | |
restore-keys: ${{ runner.os }}-submodules-cache | |
- 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@v3 | |
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@v3 | |
- name: "Setup Go" | |
uses: actions/setup-go@v3 | |
with: | |
go-version: 1.19 | |
- name: Setup Golang Caches | |
uses: actions/cache@v3 | |
with: | |
path: |- | |
~/.cache/go-build | |
~/go/pkg/mod | |
key: ${{ runner.os }}-go-${{ github.run_id }} | |
restore-keys: | | |
${{ runner.os }}-go | |
- name: Setup Submodule Caches | |
uses: actions/cache@v3 | |
with: | |
path: |- | |
.git/modules | |
key: ${{ runner.os }}-submodules-cache-${{ github.run_id }} | |
restore-keys: ${{ runner.os }}-submodules-cache | |
- 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@v3 |