feat: initial commit

This commit is contained in:
Wanjohi
2024-03-29 08:55:02 +03:00
commit 601c268a39
10 changed files with 1077 additions and 0 deletions

88
.github/workflows/autolabeller.yml vendored Normal file
View File

@@ -0,0 +1,88 @@
name: Pull request auto-labeller
on:
pull_request:
types:
- labeled
- opened
- synchronize
- reopened
- ready_for_review
- edited
jobs:
validate:
name: Validate PR title
runs-on: ubuntu-latest
permissions:
pull-requests: write
steps:
- uses: amannn/action-semantic-pull-request@e9fabac35e210fea40ca5b14c0da95a099eff26f
id: lint_pr_title
env:
GITHUB_TOKEN: ${{ secrets.GIT_MASTER_TOKEN }}
with:
#TODO: fix all emojis
types: |-
✨ feat
🐛 fix
🔨 chore
📝 docs
✅ test
🕵🏽‍♂️ security
🚮 remove
♻️ revert
🏎️ perf
💫 style
deprecate
refactor
ci
build
requireScope: false
# Ensures the subject start with an uppercase character.
subjectPattern: ^([A-Z]).+$
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
- uses: marocchino/sticky-pull-request-comment@331f8f5b4215f0445d3c07b4967662a32a2d3e31
# 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! 👋🏼
We require pull request titles to follow the [Conventional Commits specification](https://www.conventionalcommits.org/en/v1.0.0/) and it looks like your proposed title needs to be adjusted.
Additionally, the subject of the title must start with an uppercase character (e.g. feat: New `search` component).
```
${{ steps.lint_pr_title.outputs.error_message }}
```
# Delete a previous comment when the issue has been resolved
- if: ${{ steps.lint_pr_title.outputs.error_message == null }}
uses: marocchino/sticky-pull-request-comment@331f8f5b4215f0445d3c07b4967662a32a2d3e31
with:
header: pr-title-lint-error
delete: true
label:
needs: [ validate ]
runs-on: ubuntu-latest
name: Add labels
permissions:
contents: read
pull-requests: write
steps:
- name: Checkout your code
uses: actions/checkout@v4
- uses: srvaroa/labeler@v1
with:
config_path: .github/labeler.yml
use_local_config: true #FIXME:
fail_on_error: true
env:
GITHUB_TOKEN: "${{ secrets.GIT_MASTER_TOKEN }}"

33
.github/workflows/labels.yml vendored Normal file
View File

@@ -0,0 +1,33 @@
name: GH labels maintainer
on:
push:
branches:
- 'main'
paths:
- '.github/labels.yml'
- '.github/workflows/labels.yml'
pull_request:
paths:
- '.github/labels.yml'
- '.github/workflows/labels.yml'
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
labeler:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v4
-
name: Run Labeler
uses: crazy-max/ghaction-github-labeler@v5
env:
GITHUB_TOKEN: "${{ secrets.GIT_MASTER_TOKEN }}"
with:
dry-run: ${{ github.event_name == 'pull_request' }}
github-token: ${{ secrets.GIT_MASTER_TOKEN }}

16
.github/workflows/release-drafter.yml vendored Normal file
View File

@@ -0,0 +1,16 @@
name: Release drafter
on:
push:
branches: [ main ]
jobs:
update_release_draft:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
steps:
- uses: release-drafter/release-drafter@v6
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}