From 4815189d7544ece1cf03dcc93a322689d552bdb7 Mon Sep 17 00:00:00 2001 From: Martin Buchleitner Date: Thu, 18 Apr 2024 08:00:02 +0200 Subject: [PATCH] feat: refactoring to reusable workflows Signed-off-by: Martin Buchleitner --- .github/workflows/changelog.yml | 15 ++++ .github/workflows/pr-validation.yml | 15 ++++ .../changelog-automation.yml | 1 + workflows/pr-validation.yml | 71 +++++++++++++++++++ 4 files changed, 102 insertions(+) create mode 100644 .github/workflows/changelog.yml create mode 100644 .github/workflows/pr-validation.yml rename {.github/workflows => workflows}/changelog-automation.yml (99%) create mode 100644 workflows/pr-validation.yml diff --git a/.github/workflows/changelog.yml b/.github/workflows/changelog.yml new file mode 100644 index 0000000..e1eecae --- /dev/null +++ b/.github/workflows/changelog.yml @@ -0,0 +1,15 @@ +--- +name: Infralovers Changelog Automation + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + + +jobs: + changelog-automation: + uses: ./workflows/changelog-automation.yml + secrets: inherit + \ No newline at end of file diff --git a/.github/workflows/pr-validation.yml b/.github/workflows/pr-validation.yml new file mode 100644 index 0000000..b0726f4 --- /dev/null +++ b/.github/workflows/pr-validation.yml @@ -0,0 +1,15 @@ +name: 'Validate PR title' + +on: + pull_request_target: + types: + - opened + - edited + - synchronize + + +jobs: + changelog-automation: + uses: ./workflows/pre-validation.yml + secrets: inherit + \ No newline at end of file diff --git a/.github/workflows/changelog-automation.yml b/workflows/changelog-automation.yml similarity index 99% rename from .github/workflows/changelog-automation.yml rename to workflows/changelog-automation.yml index 955c12a..839d41e 100644 --- a/.github/workflows/changelog-automation.yml +++ b/workflows/changelog-automation.yml @@ -1,3 +1,4 @@ +--- name: Infralovers Changelog Automation on: diff --git a/workflows/pr-validation.yml b/workflows/pr-validation.yml new file mode 100644 index 0000000..fcfff55 --- /dev/null +++ b/workflows/pr-validation.yml @@ -0,0 +1,71 @@ +--- +name: 'Validate PR title' + +on: + pull_request_target: + types: + - opened + - edited + - synchronize + + workflow_call: + +permissions: + pull-requests: write + statuses: write + +jobs: + main: + name: Validate PR title + runs-on: ubuntu-latest + steps: + # Please look up the latest version from + # https://github.com/amannn/action-semantic-pull-request/releases + - uses: amannn/action-semantic-pull-request@v5.4.0 + env: + GITHUB_TOKEN: ${{ secrets.BOT_ACCESS_TOKEN }} + with: + # Configure which types are allowed. + # Default: https://github.com/commitizen/conventional-commit-types + # + # The following terminology helps to understand the configuration options: + # + # feat(ui): Add `Button` component + # ^ ^ ^ + # | | |__ Subject + # | |_______ Scope + # |____________ Type + types: | + fix + feat + docs + ci + chore + # Configure which scopes are allowed (newline-delimited). + # These are regex patterns auto-wrapped in `^ $`. + # scopes: | + # EXAMPLE-\d+ + # Configure that a scope must always be provided. + requireScope: false + # Configure additional validation for the subject based on a regex. + # This example ensures the subject doesn't start 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. + # For work-in-progress PRs you can typically use draft pull requests + # from Github. However, private repositories on the free plan don't have + # this option and therefore this action allows you to opt-in to using the + # special "[WIP]" prefix to indicate this state. This will avoid the + # validation of the PR title and the pull request checks remain pending. + # Note that a second check will be reported if this is enabled. + wip: true + # When using "Squash and merge" on a PR with only one commit, GitHub + # will suggest using that commit message instead of the PR title for the + # merge commit, and it's easy to commit this by mistake. Enable this option + # to also validate the commit message for one commit PRs. + validateSingleCommit: false \ No newline at end of file