mirror of
https://github.com/alibaba/higress.git
synced 2026-02-24 04:30:51 +08:00
83 lines
1.9 KiB
YAML
83 lines
1.9 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
|
|
|
|
# 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
|