name: Unit-Test on: push: branches: - master - release-* workflow_dispatch: {} pull_request: branches: - master - release-* permissions: contents: read env: # Common versions GO_VERSION: "1.23.8" jobs: detect-noop: permissions: actions: write # for fkirc/skip-duplicate-actions to skip or stop workflow runs runs-on: ubuntu-22.04 outputs: noop: ${{ steps.noop.outputs.should_skip }} steps: - name: Detect No-op Changes id: noop uses: fkirc/skip-duplicate-actions@f75f66ce1886f00957d99748a42c724f4330bdcf with: github_token: ${{ secrets.GITHUB_TOKEN }} paths_ignore: '["**.md", "**.mdx", "**.png", "**.jpg"]' do_not_skip: '["workflow_dispatch", "schedule", "push"]' continue-on-error: true unit-tests: runs-on: ubuntu-22.04 needs: detect-noop if: needs.detect-noop.outputs.noop != 'true' steps: - name: Set up Go uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 with: go-version: ${{ env.GO_VERSION }} - name: Check out code into the Go module directory uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 with: submodules: true - name: Cache Go Dependencies uses: actions/cache@v4 with: path: .work/pkg key: ${{ runner.os }}-pkg-${{ hashFiles('**/go.sum') }} restore-keys: ${{ runner.os }}-pkg- - name: Install ginkgo run: | sudo sed -i 's/azure\.//' /etc/apt/sources.list sudo apt-get update sudo apt-get install -y golang-ginkgo-dev - name: Setup KinD run: | go install sigs.k8s.io/kind@v0.19.0 kind create cluster - name: Run Make test run: make test - name: Upload coverage report uses: codecov/codecov-action@eaaf4bedf32dbdc6b720b63067d99c4d77d6047d with: token: ${{ secrets.CODECOV_TOKEN }} file: ./coverage.txt flags: core-unittests name: codecov-umbrella