Skip to content

Commit

Permalink
chore: Simplify PR lint trigger (#1309)
Browse files Browse the repository at this point in the history
Signed-off-by: Dave Skender <[email protected]>
  • Loading branch information
DaveSkender authored Jan 4, 2025
1 parent 73fd1a7 commit db1128d
Showing 1 changed file with 37 additions and 26 deletions.
63 changes: 37 additions & 26 deletions .github/workflows/lint-pull-request.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
name: Pull request

on:
pull_request_target:
pull_request:
types:
- opened
- edited
- synchronize
- unlabeled

permissions:
pull-requests: write
Expand All @@ -21,49 +21,60 @@ jobs:
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}**" in pull request "*{title}*"
needs to start 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: |
### ⚠️ Pull Request title needs adjustment
### ⚠️ Invalid Pull Request title
Your PR title doesn't match our naming convention: `type: Subject`
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
> [!CAUTION]
> ${{ steps.lint_pr_title.outputs.error_message }}
#### Valid examples
- `feat: Add new RSI indicator`
- `fix: Correct MACD calculation`
- `chore: Update documentation`
- `test: Add unit tests for EMA`
- `refactor: Optimize moving average logic`
- `feat: Add API endpoint for market data`
- `fix: Resolve WebSocket connection issues`
- `chore: Update NuGet dependencies`
<details>
<summary>see more valid examples</summary>
#### Features & fixes
- `feat: Add API endpoint for market data`
- `fix: Resolve WebSocket connection issues`
#### 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 the [Conventional Commits specification](https://www.conventionalcommits.org) for more information.
See [Conventional Commits](https://www.conventionalcommits.org) for more details.
</details>
# Delete a previous comment when the issue has been resolved
- if: ${{ steps.lint_pr_title.outputs.error_message == null }}
Expand Down

0 comments on commit db1128d

Please sign in to comment.