mirror of
https://github.com/alibaba/higress.git
synced 2026-02-23 12:10:53 +08:00
189 lines
4.6 KiB
YAML
189 lines
4.6 KiB
YAML
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: |-
|
|
envoy
|
|
istio
|
|
external
|
|
.git/modules
|
|
key: ${{ runner.os }}-submodules-${{ github.run_id }}
|
|
restore-keys: ${{ runner.os }}-submodules
|
|
|
|
- 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: |-
|
|
envoy
|
|
istio
|
|
external
|
|
.git/modules
|
|
key: ${{ runner.os }}-submodules-${{ github.run_id }}
|
|
restore-keys: ${{ runner.os }}-submodules
|
|
|
|
- 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: |-
|
|
envoy
|
|
istio
|
|
external
|
|
.git/modules
|
|
key: ${{ runner.os }}-submodules-${{ github.run_id }}
|
|
restore-keys: ${{ runner.os }}-submodules
|
|
|
|
- run: git stash # restore patch
|
|
|
|
- name: "Run Higress E2E Conformance Tests"
|
|
run: GOPROXY="https://proxy.golang.org,direct" make higress-conformance-test
|
|
|
|
higress-wasmplugin-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: |-
|
|
envoy
|
|
istio
|
|
external
|
|
.git/modules
|
|
key: ${{ runner.os }}-submodules-${{ github.run_id }}
|
|
restore-keys: ${{ runner.os }}-submodules
|
|
|
|
- run: git stash # restore patch
|
|
|
|
- name: "Run Ingress WasmPlugins Tests"
|
|
run: GOPROXY="https://proxy.golang.org,direct" make higress-wasmplugin-test
|
|
|
|
publish:
|
|
runs-on: ubuntu-latest
|
|
needs: [higress-conformance-test,gateway-conformance-test,higress-wasmplugin-test]
|
|
steps:
|
|
- uses: actions/checkout@v3
|