name: PullLint on: pull_request_target: types: [assigned, opened, synchronize, reopened] jobs: # This workflow closes invalid PR close-pr: name: closepr # The type of runner that the job will run on runs-on: ubuntu-latest permissions: write-all # Steps represent a sequence of tasks that will be executed as part of the job steps: - name: Close PR if commit message contains ".go" if: contains(github.event.pull_request.title, '.go') uses: superbrothers/close-pull-request@v3 with: # Optional. Post a issue comment just before closing a pull request. comment: "非法PR. 请`fork`后修改自己的仓库, 而不是向主仓库提交更改. 如果您确信您的PR是为了给主仓库新增功能或修复bug, 请更改默认PR标题. **注意**: 如果您再次触发本提示, 则有可能导致账号被封禁." golangci: name: lint runs-on: ubuntu-latest steps: - name: Set up Go uses: actions/setup-go@master with: go-version: '1.25' - name: Check out code into the Go module directory uses: actions/checkout@v4 with: ref: ${{ github.event.pull_request.head.sha }} - name: Tidy Modules run: | go mod tidy go generate ./... - name: golangci-lint uses: golangci/golangci-lint-action@master with: # Optional: version of golangci-lint to use in form of v1.2 or v1.2.3 or `latest` to use the latest version version: latest # Optional: working directory, useful for monorepos # working-directory: somedir # Optional: golangci-lint command line arguments. # args: --issues-exit-code=0 # Optional: show only new issues if it's a pull request. The default value is `false`. # only-new-issues: true # Optional: if set to true then the action don't cache or restore ~/go/pkg. # skip-pkg-cache: true # Optional: if set to true then the action don't cache or restore ~/.cache/go-build. # skip-build-cache: true