diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml deleted file mode 100644 index 37f54d9..0000000 --- a/.github/workflows/ci.yml +++ /dev/null @@ -1,94 +0,0 @@ -name: CI - -on: - push: - branches: [ main, develop ] - pull_request: - branches: [ main, develop ] - -jobs: - test: - name: Test - runs-on: ubuntu-latest - strategy: - matrix: - go-version: ['1.22', '1.23', 'stable'] - - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Set up Go - uses: actions/setup-go@v5 - with: - go-version: ${{ matrix.go-version }} - - - name: Download dependencies - run: go mod download - - - name: Run go fmt - run: | - if [ "$(gofmt -s -l . | wc -l)" -gt 0 ]; then - echo "Code is not formatted. Run: go fmt ./..." - gofmt -s -l . - exit 1 - fi - - - name: Run go vet - run: go vet ./... - - - name: Run tests - run: go test -v -race -coverprofile=coverage.out -covermode=atomic ./... - - - name: Upload coverage to Codecov - uses: codecov/codecov-action@v4 - if: matrix.go-version == 'stable' - with: - file: ./coverage.out - fail_ci_if_error: false - - - name: Check coverage - if: matrix.go-version == 'stable' - run: | - go tool cover -func=coverage.out | grep total | awk '{print "Total coverage: " $3}' - COVERAGE=$(go tool cover -func=coverage.out | grep total | awk '{print substr($3, 1, length($3)-1)}') - echo "Coverage: ${COVERAGE}%" - if (( $(echo "$COVERAGE < 95" | bc -l) )); then - echo "Coverage is below 95% (current: ${COVERAGE}%)" - exit 1 - fi - - lint: - name: Lint - runs-on: ubuntu-latest - - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Set up Go - uses: actions/setup-go@v5 - with: - go-version: stable - - - name: golangci-lint - uses: golangci/golangci-lint-action@v4 - with: - version: latest - args: --timeout=5m - - benchmark: - name: Benchmark - runs-on: ubuntu-latest - - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Set up Go - uses: actions/setup-go@v5 - with: - go-version: stable - - - name: Run benchmarks - run: go test -bench=. -benchmem -benchtime=5s ./...