add 'htnn' as the subdomain of CRD group #864
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: test | |
on: | |
push: | |
branches: [ "main" ] | |
paths-ignore: | |
- "site/**" | |
- "**/*.md" | |
pull_request: | |
branches: [ "main" ] | |
paths-ignore: | |
- "site/**" | |
- "**/*.md" | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref == 'refs/heads/main' && github.run_number || github.ref }} | |
cancel-in-progress: true | |
env: | |
IN_CI: true | |
jobs: | |
unit-test: | |
timeout-minutes: 10 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: '1.21' | |
- name: Test | |
run: make unit-test | |
- name: Upload artifact | |
if: always() # always upload coverage, so the coverage percents won't affect by the failed tests | |
uses: actions/upload-artifact@v4 | |
with: | |
name: unit-test-cover | |
path: ./cover.out | |
plugins-integration-test: | |
timeout-minutes: 10 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: '1.21' | |
- name: Set up services | |
run: | | |
make start-service | |
- name: Build | |
run: make build-test-so | |
- name: Test | |
run: make plugins-integration-test | |
- name: Upload logs | |
uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
# upload artifact can be found in https://github.com/mosn/htnn/actions/runs/$id | |
name: ci-logs | |
path: ./test-envoy | |
- name: Generate coverage | |
if: always() | |
run: | | |
go tool covdata textfmt -i=/tmp/htnn_coverage -o plugins/tests/integration/cover.out -v 2 | |
- name: Upload artifact | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: plugins-integration-test-cover | |
path: plugins/tests/integration/cover.out | |
controller-test: | |
timeout-minutes: 10 | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
working-directory: ./controller | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: '1.21' | |
- name: binary cache | |
uses: actions/cache@v4 | |
with: | |
path: ./controller/bin | |
key: ${{ runner.os }}-${{ hashFiles('./controller/Makefile') }} | |
- name: Set up services | |
run: | | |
make start-controller-service | |
- name: Test | |
run: make test | |
- name: Upload artifact | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: controller-test-cover | |
path: ./controller/cover.out | |
coverage: | |
timeout-minutes: 10 | |
runs-on: ubuntu-latest | |
needs: [unit-test, plugins-integration-test, controller-test] | |
if: always() | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Download artifact | |
uses: actions/download-artifact@v4 | |
- name: Upload to codecov | |
uses: codecov/[email protected] | |
with: | |
fail_ci_if_error: true | |
files: ./unit-test-cover/cover.out, | |
./plugins-integration-test-cover/cover.out, | |
./controller-test-cover/cover.out | |
token: ${{ secrets.CODECOV_TOKEN }} | |
verbose: true | |
misc-test: | |
timeout-minutes: 10 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: '1.21' | |
- name: Test | |
run: make verify-example | |
e2e-test: | |
timeout-minutes: 25 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: '1.21' | |
- name: binary cache | |
uses: actions/cache@v4 | |
with: | |
path: ./bin | |
key: ${{ runner.os }}-${{ hashFiles('./Makefile') }} | |
- name: binary cache (for controller) | |
uses: actions/cache@v4 | |
with: | |
path: ./controller/bin | |
key: ${{ runner.os }}-${{ hashFiles('./controller/Makefile') }} | |
- name: Prepare cluster | |
run: make delete-cluster create-cluster deploy-cert-manager e2e-prepare-data-plane-image deploy-istio | |
- name: Prepare controller | |
run: make e2e-build-controller-image deploy-controller | |
- name: Test | |
run: make run-e2e |