webiny / action-conventional-commits

Ensures that all commits are following the conventional-commits standard.
50 stars 29 forks source link

No commits to check on all `pull_request` event #8

Open weizhangfd opened 1 year ago

weizhangfd commented 1 year ago

Hello,

Thank you for the super useful action! We have used multiple event triggers, and for pull_request, the git action always says there is no commit to check. See example below. image

The definition is

name: 'Enforce conventional commits on all commit push'

on: [create, push, pull_request, pull_request_review, pull_request_target]

jobs:
  build:
    name: Conventional Commits
    runs-on: ubuntu-latest
    steps:
      - id: checkout
        uses: actions/checkout@v2

      - id: enforce-commit-msg-style
        uses: webiny/action-conventional-commits@v1.1.0

Can you advise? Thank you!

JossWhittle commented 1 year ago

@weizhangfd did you ever find a solution to this?

lyager commented 1 year ago

.. just hit the same issue..

pallabpain commented 1 year ago

Hitting the same issue with one of my repos. Albeit, it seems to work on a test repo that I created for the purpose of testing the action. I have a main branch and dev branch my action looks something like this

name: Check Commit Hygiene 💬

on:
  pull_request:
    branches:
      - main
      - dev

jobs:
  verify:
    name: Conventional Commits
    runs-on: ubuntu-22.04
    steps:
    - uses: actions/checkout@v3
      name: Checkout code

    - uses: webiny/action-conventional-commits@v1.1.0
      name: Check if commit messages are compliant
lyager commented 1 year ago

@pallabpain So, a PR from dev->main triggers an error if the commit messages are not convetional? My setup looks somewhat similar - but the error triggers on the main branch, when it's too late.

pallabpain commented 1 year ago

@pallabpain So, a PR from dev->main triggers an error if the commit messages are not convetional? My setup looks somewhat similar - but the error triggers on the main branch, when it's too late.

You can take a look at this test repo that I created: https://github.com/pallabpain/conventional-commits-action

The main doesn't yet have the .github/workflows directory yet. Only devel has it and I raised a pull_request against devel. (https://github.com/pallabpain/conventional-commits-action/pull/1) and the action is detecting the commits.

However, with another repository with a similar branch structure, it's not detecting the commits.

Edit: FYI, I have deleted the test repo.

JobaDiniz commented 1 year ago

I have a private repo and It's not working for me, and I get this warning:

Warning: Unexpected input(s) 'GITHUB_TOKEN', valid inputs are ['']

Run webiny/action-conventional-commits@v1.1.0
  with:
    GITHUB_TOKEN: ***
ℹ️ Checking if commit messages are following the Conventional Commits specification...
No commits to check, skipping...
name: commit

on:
  pull_request:
    branches: [ develop ]

jobs:
  commits:
    name: check commit message
    runs-on: ubuntu-latest
    steps:
    - name: Checkout
      uses: actions/checkout@v3
    - name: Check message commit message
      uses: webiny/action-conventional-commits@v1.1.0
      with:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  label:
    needs: commits
    runs-on: ubuntu-latest
    steps:
      - uses: bcoe/conventional-release-labels@v1
pallabpain commented 1 year ago

I have a private repo and It's not working for me, and I get this warning:

Warning: Unexpected input(s) 'GITHUB_TOKEN', valid inputs are ['']

Run webiny/action-conventional-commits@v1.1.0
  with:
    GITHUB_TOKEN: ***
ℹ️ Checking if commit messages are following the Conventional Commits specification...
No commits to check, skipping...
name: commit

on:
  pull_request:
    branches: [ develop ]

jobs:
  commits:
    name: check commit message
    runs-on: ubuntu-latest
    steps:
    - name: Checkout
      uses: actions/checkout@v3
    - name: Check message commit message
      uses: webiny/action-conventional-commits@v1.1.0
      with:
        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  label:
    needs: commits
    runs-on: ubuntu-latest
    steps:
      - uses: bcoe/conventional-release-labels@v1

@JobaDiniz The fix was recently pushed to master. You are using the tag v1.1.0 which doesn't have the change.

raimund-schluessler commented 1 year ago

I do use the latest commit of this repo, but I still get the No commits to check, skipping... message with this actions file:

name: Conventional Commits

on:
  pull_request:
    branches: [ main ]

jobs:
  build:
    name: Check conventional commits
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3

      - uses: webiny/action-conventional-commits@8b3a60d2b73588beb378929c08f1a12116312bad
        # optional, required for private repos
        with:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
JobaDiniz commented 1 year ago

And it seems this library only check for type on the message.

I'm using this other gsactions/commit-message-checker@v2 lib that I can specify a regex. Would be good that this lib support regex or applied regex to the verification process.

check-commit-message:
    name: check commit message
    runs-on: ubuntu-latest
    steps:
    - name: Check message against regex
      uses: gsactions/commit-message-checker@v2
      with:
        pattern: '(?:build|docs|refactor|test|fix|perf|chore|feat)(?:\(\w+\))?:\s[a-z]{1,2}.+'
        error: "The commit message must follow the commit messages guidelines"
        excludeDescription: 'true' # optional: this excludes the description body of a pull request
        excludeTitle: 'true' # optional: this excludes the title of a pull request
        checkAllCommitMessages: 'true' # optional: this checks all commits associated with a pull request
        accessToken: ${{ secrets.GITHUB_TOKEN }} # github access token is only required if checkAllCommitMessages is true
nathan-weinberg commented 1 year ago

I believe I have this working as some folks in this thread want it to: https://github.com/transitmatters/mbta-slow-zone-bot/actions/workflows/commit.yml

Can see how I set it up here: https://github.com/transitmatters/mbta-slow-zone-bot/blob/main/.github/workflows/commit.yml