name: E2E Test on: push: branches: - master - release-* workflow_dispatch: {} pull_request: branches: - master - release-* env: # Common versions GO_VERSION: '1.17' GOLANGCI_VERSION: 'v1.38' KIND_VERSION: 'v0.7.0' jobs: detect-noop: runs-on: ubuntu-20.04 outputs: noop: ${{ steps.noop.outputs.should_skip }} steps: - name: Detect No-op Changes id: noop uses: fkirc/skip-duplicate-actions@v3.3.0 with: github_token: ${{ secrets.GITHUB_TOKEN }} paths_ignore: '["**.md", "**.mdx", "**.png", "**.jpg"]' do_not_skip: '["workflow_dispatch", "schedule", "push"]' concurrent_skipping: false e2e-tests: runs-on: aliyun needs: detect-noop if: needs.detect-noop.outputs.noop != 'true' steps: - name: Check out code into the Go module directory uses: actions/checkout@v2 - name: Setup Go uses: actions/setup-go@v2 with: go-version: ${{ env.GO_VERSION }} - name: Get dependencies run: | go get -v -t -d ./... - name: Setup Kind uses: engineerd/setup-kind@v0.5.0 with: version: ${{ env.KIND_VERSION }} skipClusterCreation: true - name: Setup Kind Cluster run: | kind delete cluster kind create cluster --image kindest/node:v1.18.15@sha256:5c1b980c4d0e0e8e7eb9f36f7df525d079a96169c8a8f20d8bd108c0d0889cc4 kubectl version kubectl cluster-info - name: Load Image to kind cluster run: make kind-load - name: Run Make run: make - name: Run Make Manager run: make manager - name: Prepare for e2e tests run: | make e2e-cleanup make e2e-setup helm lint ./charts/vela-core helm test -n vela-system kubevela --timeout 5m - name: Run api e2e tests run: make e2e-api-test - name: Run addons e2e tests run: make e2e-addon-test - name: Run e2e tests run: make e2e-test - name: Stop kubevela, get profile run: make end-e2e - name: Upload coverage report uses: codecov/codecov-action@v1 with: token: ${{ secrets.CODECOV_TOKEN }} files: /tmp/e2e-profile.out flags: e2etests name: codecov-umbrella - name: Clean e2e profile run: rm /tmp/e2e-profile.out - name: Cleanup image if: ${{ always() }} run: make image-cleanup