From 0456d9a2c053c01c482907cdb7c7b17e5379d21a Mon Sep 17 00:00:00 2001 From: Dave Skender <8432125+DaveSkender@users.noreply.github.com> Date: Sat, 4 Jan 2025 00:28:27 -0500 Subject: [PATCH] simplify linter Signed-off-by: Dave Skender <8432125+DaveSkender@users.noreply.github.com> --- .github/workflows/lint-pull-request.yml | 76 ++++++++++++++----------- 1 file changed, 42 insertions(+), 34 deletions(-) diff --git a/.github/workflows/lint-pull-request.yml b/.github/workflows/lint-pull-request.yml index 0be571ce..4e950780 100644 --- a/.github/workflows/lint-pull-request.yml +++ b/.github/workflows/lint-pull-request.yml @@ -1,11 +1,11 @@ -name: "Pull request" +name: Pull request on: - pull_request_target: + pull_request: types: - opened - edited - - synchronize + - unlabeled permissions: pull-requests: write @@ -14,59 +14,67 @@ jobs: main: name: lint PR title runs-on: ubuntu-latest + steps: - uses: amannn/action-semantic-pull-request@v5 id: lint_pr_title env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: - - # Configure additional validation for the subject based on a regex. - # We enforce that the subject starts with an uppercase character. subjectPattern: ^([A-Z]).+$ - - # If `subjectPattern` is configured, you can use this property to override - # the default error message that is shown when the pattern doesn't match. - # The variables `subject` and `title` can be used within the message. subjectPatternError: > - The subject "**{subject}**" found in the pull request title "*{title}*" - didn't match the configured pattern. Please ensure that the subject - starts with an uppercase character. - - # If the PR contains one of these newline-delimited labels, the - # validation is skipped. If you want to rerun the validation when - # labels change, you might want to use the `labeled` and `unlabeled` - # event triggers in your workflow. + The subject "**{subject}**" must start with an uppercase character. + Example: "Add feature" instead of "add feature" ignoreLabels: | bot dependencies - uses: marocchino/sticky-pull-request-comment@v2 - # When the previous steps fails, the workflow would stop. By adding this - # condition you can continue the execution with the populated error message. if: always() && (steps.lint_pr_title.outputs.error_message != null) with: header: pr-title-lint-error - message: > - ### Hey there and thank you for opening this pull request! ๐Ÿ‘‹๐Ÿผ + message: | + ### โš ๏ธ Invalid Pull Request title + + Your PR title must follow the format: `type: Subject` where: + - `type` is one of the conventional commit types (in lowercase) + - `Subject` starts with an uppercase letter - It looks like your proposed **_Pull request title_** needs to be adjusted. + > [!CAUTION] + > ${{ steps.lint_pr_title.outputs.error_message }} - >๐Ÿšฉ **Error** ยป ${{ steps.lint_pr_title.outputs.error_message }} + #### Valid examples - #### Pull request title naming convention + - `feat: Add API endpoint for market data` + - `fix: Resolve WebSocket connection issues` + - `chore: Update NuGet dependencies` - Our PR title name taxonomy is `type: Subject`, where **type** is typically - *feat*, *fix*, or *chore*, and **subject** is a phrase (proper noun) that starts - with a capitalized letter. The *chore* type usually has a subject that starts - with an action verb like *Add* or *Update*. Examples: +
+ see more valid examples - - _feat: Admin portal login_ - - _fix: Divide by zero bug in SMA_ - - _chore: Update packages_ - - _docs: Improve setup guidance_ + #### Features & fixes + - `feat: Add API endpoint for market data` + - `fix: Resolve WebSocket connection issues` - See the [Conventional Commits specification](https://www.conventionalcommits.org) for more information. + #### Code quality + - `style: Format trading strategy classes` + - `refactor: Restructure trading engine components` + - `perf: Optimize trade order execution flow` + + #### Documentation & testing + - `docs: Update API documentation` + - `test: Add unit tests for sign-in flow` + + #### Infrastructure + - `build: Update .NET SDK version to 8.0` + - `ci: Add workflow for performance testing` + - `chore: Update NuGet dependencies` + + #### Other + - `revert: Remove faulty market data provider` + + See [Conventional Commits](https://www.conventionalcommits.org) for more details. +
# Delete a previous comment when the issue has been resolved - if: ${{ steps.lint_pr_title.outputs.error_message == null }}