From 85ea052bfe06555a1edbb4f956abb13e93f86d7a Mon Sep 17 00:00:00 2001 From: guangzhixu Date: Fri, 20 Oct 2023 11:54:39 +0800 Subject: [PATCH] add codev --- .github/workflows/rotom.yml | 102 +++++++++++------------------------- 1 file changed, 30 insertions(+), 72 deletions(-) diff --git a/.github/workflows/rotom.yml b/.github/workflows/rotom.yml index ec5623d..e15648f 100644 --- a/.github/workflows/rotom.yml +++ b/.github/workflows/rotom.yml @@ -1,77 +1,35 @@ -name: Run Tests +name: Test and Coverage -on: - push: - branches: - - master - pull_request: - branches: - - master - -permissions: - contents: read +on: [push] jobs: - lint: + build: runs-on: ubuntu-latest - steps: - - name: Setup go - uses: actions/setup-go@v4 - with: - go-version: '^1.18' - - name: Checkout repository - uses: actions/checkout@v4 - - name: Setup golangci-lint - uses: golangci/golangci-lint-action@v3.7.0 - with: - version: v1.52.2 - args: --verbose - test: - needs: lint - strategy: - matrix: - os: [ubuntu-latest, macos-latest] - go: ['1.18', '1.19', '1.20'] - test-tags: ['', '-tags nomsgpack', '-tags "sonic avx"', '-tags go_json'] - include: - - os: ubuntu-latest - go-build: ~/.cache/go-build - - os: macos-latest - go-build: ~/Library/Caches/go-build - name: ${{ matrix.os }} @ Go ${{ matrix.go }} ${{ matrix.test-tags }} - runs-on: ${{ matrix.os }} - env: - GO111MODULE: on - TESTTAGS: ${{ matrix.test-tags }} - GOPROXY: https://proxy.golang.org - steps: - - name: Set up Go ${{ matrix.go }} - uses: actions/setup-go@v4 - with: - go-version: ${{ matrix.go }} - - - name: Checkout Code - uses: actions/checkout@v4 - with: - ref: ${{ github.ref }} - - uses: actions/cache@v3 - with: - path: | - ${{ matrix.go-build }} - ~/go/pkg/mod - key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} - restore-keys: | - ${{ runner.os }}-go- - - - name: Run Tests - run: make test - - - name: Upload coverage to Codecov - uses: codecov/codecov-action@v3 - with: - flags: ${{ matrix.os }},go-${{ matrix.go }},${{ matrix.test-tags }} - - - name: Format - if: matrix.go-version == '1.20.x' - run: diff -u <(echo -n) <(gofmt -d .) \ No newline at end of file + steps: + - name: Set up Go + uses: actions/setup-go@v4 + with: + go-version: '^1.20' + + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup golangci-lint + uses: golangci/golangci-lint-action@v3.7.0 + with: + version: v1.52.2 + args: --verbose + + - name: Get dependencies + run: go mod download + + - name: Run tests with coverage + run: go test ./... -coverprofile=coverage.out + + - name: Upload coverage to Codecov + uses: codecov/codecov-action@v3 + with: + token: ${{ secrets.CODECOV_TOKEN }} + files: ./coverage.out + fail_ci_if_error: true \ No newline at end of file