From 0c455a64ca276158489f9704437beeb3ee64cb5d Mon Sep 17 00:00:00 2001 From: Niall Quinn Date: Fri, 6 Oct 2023 15:57:06 +0200 Subject: [PATCH] Adds Danger. Disables tag flow --- .github/workflows/danger.yml | 21 +++++++++++++++++++++ .github/workflows/post-release-merge.yml | 12 ++++++------ Dangerfile.swift | 19 +++++++++++++++++++ 3 files changed, 46 insertions(+), 6 deletions(-) create mode 100644 .github/workflows/danger.yml create mode 100644 Dangerfile.swift diff --git a/.github/workflows/danger.yml b/.github/workflows/danger.yml new file mode 100644 index 0000000..58b14d5 --- /dev/null +++ b/.github/workflows/danger.yml @@ -0,0 +1,21 @@ +name: Danger + +on: + pull_request: + types: + - opened + - edited + - synchronize + +jobs: + danger: + runs-on: ubuntu-latest + name: "Run Danger" + steps: + - uses: actions/checkout@v1 + - name: Danger + uses: docker://ghcr.io/danger/danger-swift:3.13.0 + with: + args: --failOnErrors --no-publish-check --remove-previous-comments + env: + GITHUB_TOKEN: ${{ github.token }} diff --git a/.github/workflows/post-release-merge.yml b/.github/workflows/post-release-merge.yml index 29b58a5..cd95504 100644 --- a/.github/workflows/post-release-merge.yml +++ b/.github/workflows/post-release-merge.yml @@ -1,11 +1,11 @@ name: Post PR Merge -on: - pull_request: - # Patterns matched against refs/heads - branches: - - release/next - types: [ closed ] +on: workflow_dispatch + # pull_request: + # # Patterns matched against refs/heads + # branches: + # - release/next + # types: [ closed ] jobs: release_merge: diff --git a/Dangerfile.swift b/Dangerfile.swift new file mode 100644 index 0000000..0016d26 --- /dev/null +++ b/Dangerfile.swift @@ -0,0 +1,19 @@ +import Danger +import Foundation + +let danger = Danger() +let pr = danger.github.pullRequest +let isReleasePr = pr.head.ref.hasPrefix("release") + +func isConventionalCommitTitle() -> Bool { + // Commitizen-compatible conventional commit titles + pr.title.hasPrefix("BREAKING CHANGE:") || + pr.title.hasPrefix("chore:") || + pr.title.hasPrefix("fix:") || + pr.title.hasPrefix("feat:") +} + +if !isReleasePr && !isConventionalCommitTitle() { + fail("Please use a conventional commit title for this PR. See [Conventional Commits and SemVer](https://www.notion.so/primerio/Automating-Version-Bumping-and-Changelog-Creation-c13e32fea11447069dea76f966f4b0fb?pvs=4#c55764aa2f2748eb988d581a456e61e7)") +} +