github.com/oam-dev/kubevela@v1.9.11/.github/workflows/unit-test.yml (about) 1 name: Unit-Test 2 3 on: 4 push: 5 branches: 6 - master 7 - release-* 8 workflow_dispatch: { } 9 pull_request: 10 branches: 11 - master 12 - release-* 13 14 permissions: 15 contents: read 16 17 env: 18 # Common versions 19 GO_VERSION: '1.19' 20 21 jobs: 22 23 detect-noop: 24 permissions: 25 actions: write # for fkirc/skip-duplicate-actions to skip or stop workflow runs 26 runs-on: ubuntu-22.04 27 outputs: 28 noop: ${{ steps.noop.outputs.should_skip }} 29 steps: 30 - name: Detect No-op Changes 31 id: noop 32 uses: fkirc/skip-duplicate-actions@f75f66ce1886f00957d99748a42c724f4330bdcf 33 with: 34 github_token: ${{ secrets.GITHUB_TOKEN }} 35 paths_ignore: '["**.md", "**.mdx", "**.png", "**.jpg"]' 36 do_not_skip: '["workflow_dispatch", "schedule", "push"]' 37 continue-on-error: true 38 39 unit-tests: 40 runs-on: ubuntu-22.04 41 needs: detect-noop 42 if: needs.detect-noop.outputs.noop != 'true' 43 44 steps: 45 - name: Set up Go 46 uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 47 with: 48 go-version: ${{ env.GO_VERSION }} 49 50 - name: Check out code into the Go module directory 51 uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 52 with: 53 submodules: true 54 55 - name: Cache Go Dependencies 56 uses: actions/cache@704facf57e6136b1bc63b828d79edcd491f0ee84 57 with: 58 path: .work/pkg 59 key: ${{ runner.os }}-pkg-${{ hashFiles('**/go.sum') }} 60 restore-keys: ${{ runner.os }}-pkg- 61 62 - name: Install ginkgo 63 run: | 64 sudo sed -i 's/azure\.//' /etc/apt/sources.list 65 sudo apt-get update 66 sudo apt-get install -y golang-ginkgo-dev 67 68 - name: Setup KinD 69 run: | 70 go install sigs.k8s.io/kind@v0.19.0 71 kind create cluster 72 73 - name: install Kubebuilder 74 uses: RyanSiu1995/kubebuilder-action@7170cb0476187070ae04cbb6cee305e809de2693 75 with: 76 version: 3.9.1 77 kubebuilderOnly: false 78 kubernetesVersion: v1.26.2 79 80 - name: Run Make test 81 run: make test 82 83 - name: Upload coverage report 84 uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d 85 with: 86 token: ${{ secrets.CODECOV_TOKEN }} 87 file: ./coverage.txt 88 flags: core-unittests 89 name: codecov-umbrella