From 912d3a851abafccdab0c21f259023549603f8030 Mon Sep 17 00:00:00 2001 From: johnlanni Date: Fri, 1 Dec 2023 15:06:37 +0800 Subject: [PATCH] optimize ci --- .github/workflows/build-and-test-plugin.yaml | 71 ++++++++++++++++++++ .github/workflows/build-and-test.yaml | 42 +----------- 2 files changed, 72 insertions(+), 41 deletions(-) create mode 100644 .github/workflows/build-and-test-plugin.yaml diff --git a/.github/workflows/build-and-test-plugin.yaml b/.github/workflows/build-and-test-plugin.yaml new file mode 100644 index 0000000000..6faf494f78 --- /dev/null +++ b/.github/workflows/build-and-test-plugin.yaml @@ -0,0 +1,71 @@ +name: "Build and Test Plugins" + +on: + push: + branches: [ main ] + paths: + - plugins/** + - test/** + pull_request: + branches: ["*"] + paths: + - plugins/** + - test/** + +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 + + higress-wasmplugin-test: + runs-on: ubuntu-latest + needs: [build] + strategy: + matrix: + # TODO(Xunzhuo): Enable C WASM Filters in CI + wasmPluginType: [ GO ] + 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 + .git/modules + key: ${{ runner.os }}-submodules-new-${{ github.run_id }} + restore-keys: ${{ runner.os }}-submodules-new + + - run: git stash # restore patch + + - name: "Run Ingress WasmPlugins Tests" + run: GOPROXY="https://proxy.golang.org,direct" PLUGIN_TYPE=${{ matrix.wasmPluginType }} make higress-wasmplugin-test + + publish: + runs-on: ubuntu-latest + needs: [higress-wasmplugin-test] + steps: + - uses: actions/checkout@v3 diff --git a/.github/workflows/build-and-test.yaml b/.github/workflows/build-and-test.yaml index 91b9150ce4..18566938b0 100644 --- a/.github/workflows/build-and-test.yaml +++ b/.github/workflows/build-and-test.yaml @@ -141,48 +141,8 @@ jobs: - 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] - strategy: - matrix: - # TODO(Xunzhuo): Enable C WASM Filters in CI - wasmPluginType: [ GO ] - 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 - .git/modules - key: ${{ runner.os }}-submodules-new-${{ github.run_id }} - restore-keys: ${{ runner.os }}-submodules-new - - - run: git stash # restore patch - - - name: "Run Ingress WasmPlugins Tests" - run: GOPROXY="https://proxy.golang.org,direct" PLUGIN_TYPE=${{ matrix.wasmPluginType }} make higress-wasmplugin-test - publish: runs-on: ubuntu-latest - needs: [higress-conformance-test,gateway-conformance-test,higress-wasmplugin-test] + needs: [higress-conformance-test,gateway-conformance-test] steps: - uses: actions/checkout@v3