mirror of
https://github.com/alibaba/higress.git
synced 2026-02-25 05:01:19 +08:00
135 lines
3.2 KiB
YAML
135 lines
3.2 KiB
YAML
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
|