| name: Go |
| |
| on: |
| push: |
| branches: [ master ] |
| pull_request: |
| branches: [ master ] |
| |
| jobs: |
| lint: |
| name: Lint files |
| runs-on: 'ubuntu-latest' |
| steps: |
| - uses: actions/checkout@v2 |
| - uses: actions/setup-go@v2 |
| with: |
| go-version: 1.16 |
| - name: golangci-lint |
| uses: golangci/golangci-lint-action@v2 |
| with: |
| version: latest |
| |
| test: |
| runs-on: ubuntu-latest |
| |
| steps: |
| - name: Set up Go |
| uses: actions/setup-go@v2 |
| with: |
| go-version: 1.16 |
| |
| - uses: actions/checkout@v2 |
| - name: Run Unit tests |
| run: go test -v -coverprofile=covprofile ./... |
| |
| - name: Install goveralls |
| env: |
| GO111MODULE: off |
| run: go get github.com/mattn/goveralls |
| |
| - name: Send coverage |
| env: |
| COVERALLS_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
| run: goveralls -coverprofile=covprofile -service=github |
| |
| build: |
| runs-on: ubuntu-latest |
| steps: |
| - uses: actions/checkout@v2 |
| |
| - name: Set up Go |
| uses: actions/setup-go@v2 |
| with: |
| go-version: 1.16 |
| |
| semantic-release: |
| needs: [test] |
| runs-on: ubuntu-latest |
| steps: |
| |
| - uses: actions/checkout@v2 |
| |
| - name: Run semantic-release |
| if: github.repository == 'casbin/k8s-authz' && github.event_name == 'push' |
| run: | |
| npm install --save-dev semantic-release@17.2.4 |
| npx semantic-release |
| env: |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
| |