diff --git a/.github/workflows/job_coverage.yml b/.github/workflows/job_coverage.yml new file mode 100644 index 0000000..3238e77 --- /dev/null +++ b/.github/workflows/job_coverage.yml @@ -0,0 +1,53 @@ +name: coverage + +on: + push: + branches: [ main, v3, v4 ] + paths-ignore: + - '.github/**' + - '.gitea/**' + pull_request: + branches: [ main, v3, v4 ] + +jobs: + + build: + if: github.server_url != 'https://github.com' + runs-on: ubuntu-latest + steps: + - name: checkout code + uses: actions/checkout@v4 + with: + filter: 'blob:none' + + - name: setup go + uses: actions/setup-go@v5 + with: + cache-dependency-path: "**/*.sum" + go-version: 'stable' + + - name: test coverage + run: | + go test -v -cover ./... -covermode=count -coverprofile coverage.out -coverpkg ./... + go tool cover -func coverage.out -o coverage.out + + - name: coverage badge + uses: tj-actions/coverage-badge-go@v2 + with: + green: 80 + filename: coverage.out + + - uses: stefanzweifel/git-auto-commit-action@v4 + name: autocommit + with: + commit_message: Apply Code Coverage Badge + skip_fetch: false + skip_checkout: false + file_pattern: ./README.md + + - name: push + if: steps.auto-commit-action.outputs.changes_detected == 'true' + uses: ad-m/github-push-action@master + with: + github_token: ${{ github.token }} + branch: ${{ github.ref }} diff --git a/.github/workflows/job_lint.yml b/.github/workflows/job_lint.yml index c1c8e47..1c104db 100644 --- a/.github/workflows/job_lint.yml +++ b/.github/workflows/job_lint.yml @@ -3,27 +3,27 @@ name: lint on: pull_request: types: [opened, reopened, synchronize] - branches: - - master - - v3 - - v4 + branches: [ master, v3, v4 ] + paths-ignore: + - '.github/**' + - '.gitea/**' jobs: lint: runs-on: ubuntu-latest steps: - - name: checkout code - uses: actions/checkout@v4 - with: - filter: 'blob:none' - - name: setup go - uses: actions/setup-go@v5 - with: - cache-dependency-path: "**/*.sum" - go-version: 'stable' - - name: setup deps - run: go get -v ./... - - name: run lint - uses: golangci/golangci-lint-action@v6 - with: - version: 'latest' + - name: checkout code + uses: actions/checkout@v4 + with: + filter: 'blob:none' + - name: setup go + uses: actions/setup-go@v5 + with: + cache-dependency-path: "**/*.sum" + go-version: 'stable' + - name: setup deps + run: go get -v ./... + - name: run lint + uses: golangci/golangci-lint-action@v6 + with: + version: 'latest' diff --git a/.github/workflows/job_test.yml b/.github/workflows/job_test.yml index f68cbca..59a95ae 100644 --- a/.github/workflows/job_test.yml +++ b/.github/workflows/job_test.yml @@ -3,15 +3,12 @@ name: test on: pull_request: types: [opened, reopened, synchronize] - branches: - - master - - v3 - - v4 + branches: [ master, v3, v4 ] push: - branches: - - master - - v3 - - v4 + branches: [ master, v3, v4 ] + paths-ignore: + - '.github/**' + - '.gitea/**' jobs: test: diff --git a/.github/workflows/job_tests.yml b/.github/workflows/job_tests.yml index 4072ee6..9af2291 100644 --- a/.github/workflows/job_tests.yml +++ b/.github/workflows/job_tests.yml @@ -3,51 +3,48 @@ name: test on: pull_request: types: [opened, reopened, synchronize] - branches: - - master - - v3 - - v4 + branches: [ master, v3, v4 ] push: - branches: - - master - - v3 - - v4 + branches: [ master, v3, v4 ] + paths-ignore: + - '.github/**' + - '.gitea/**' jobs: test: runs-on: ubuntu-latest steps: - - name: checkout code - uses: actions/checkout@v4 - with: - filter: 'blob:none' - - name: checkout tests - uses: actions/checkout@v4 - with: - ref: master - filter: 'blob:none' - repository: unistack-org/micro-tests - path: micro-tests - - name: setup go - uses: actions/setup-go@v5 - with: - cache-dependency-path: "**/*.sum" - go-version: 'stable' - - name: setup go work - env: - GOWORK: ${{ github.workspace }}/go.work - run: | - go work init - go work use . - go work use micro-tests - - name: setup deps - env: - GOWORK: ${{ github.workspace }}/go.work - run: go get -v ./... - - name: run tests - env: - INTEGRATION_TESTS: yes - GOWORK: ${{ github.workspace }}/go.work - run: | - cd micro-tests - go test -mod readonly -v ./... || true + - name: checkout code + uses: actions/checkout@v4 + with: + filter: 'blob:none' + - name: checkout tests + uses: actions/checkout@v4 + with: + ref: master + filter: 'blob:none' + repository: unistack-org/micro-tests + path: micro-tests + - name: setup go + uses: actions/setup-go@v5 + with: + cache-dependency-path: "**/*.sum" + go-version: 'stable' + - name: setup go work + env: + GOWORK: ${{ github.workspace }}/go.work + run: | + go work init + go work use . + go work use micro-tests + - name: setup deps + env: + GOWORK: ${{ github.workspace }}/go.work + run: go get -v ./... + - name: run tests + env: + INTEGRATION_TESTS: yes + GOWORK: ${{ github.workspace }}/go.work + run: | + cd micro-tests + go test -mod readonly -v ./... || true diff --git a/README.md b/README.md index 564d4bd..9286df1 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ # HTTP Client +![Coverage](https://img.shields.io/badge/Coverage-22.6%25-red) This plugin is a http client for micro. @@ -59,4 +60,3 @@ Json with content-type application/json ```go client.NewJsonRequest("service", "/path", jsonRequest{}) ``` -