Project

General

Profile

action #95581

coordination #39719: [saga][epic] Detection of "known failures" for stable tests, easy test results review and easy tracking of known issues

coordination #19720: [epic] Simplify investigation of job failures

ci: Use a git commit message style checker size:S

Added by tinita 3 months ago. Updated about 1 month ago.

Status:
Resolved
Priority:
Low
Assignee:
Category:
Feature requests
Target version:
Start date:
2021-07-16
Due date:
2021-09-24
% Done:

0%

Estimated time:
Difficulty:

Description

We don't check commit messages, and even when looking at them in a Github PR, we might miss things.
For example when leaving out the blank line after the subject line, that's not visible in the Github UI.
But it is problematic when viewing the git log in a one-line mode (e.g. with --oneline, or with a tool like tig). Then the whole message is shown, not just the subject.

We could also check that the message starts with an uppercase letter, and optionally with something like t:, ci: etc.

Possible candidates:

The last one seems better.
My first try showed that it might not support everything that perl regexes support, e.g. \A did not work.

An alternative would be to implement it ourselves in a perl script, to be CI agnostic and to be able to call the check locally as well.

Acceptance Criteria

  • AC 1: Run in OpenQA
  • AC 2: A plan exists for the other repos

Related issues

Related to openQA Project - action #97454: Decide and implement predefined tags for the commit message checkerNew2021-08-24

Copied to openQA Project - action #99066: ci: Use a git commit message style checker in more reposNew

History

#1 Updated by tinita 3 months ago

  • Status changed from New to Workable
  • Target version changed from future to Ready

#2 Updated by tinita 3 months ago

  • Status changed from Workable to New

#3 Updated by okurz 3 months ago

  • Parent task set to #19720

This could be a good example of something that can be extended to other repos afterwards as well, e.g. os-autoinst-distri-opensuse, and such. As openQA can read the git log, e.g. for the "investigation" feature, having proper git commit messages makes sense and should be ensured.

#4 Updated by ilausuch 3 months ago

  • Subject changed from ci: Use a git commit message style checker to ci: Use a git commit message style checker size:S

#5 Updated by ilausuch 3 months ago

  • Description updated (diff)
  • Status changed from New to Workable

#6 Updated by VANASTASIADIS 3 months ago

  • Assignee set to VANASTASIADIS

#8 Updated by VANASTASIADIS 3 months ago

Open pr at https://github.com/os-autoinst/openQA/pull/4108.

Checks:

  • commit subject must begin either with a capital letter (A-Z) or with a tag ([A-Za-z0-9]:).
  • commit subject must be no longer than 72 characters
  • commit subject and commit body must be separated by at least one blank line
  • each line in commit body must be no longer than 80 characters

#9 Updated by tinita 2 months ago

  • Status changed from Workable to Resolved

The PR was already merged.

#10 Updated by tinita 2 months ago

  • Status changed from Resolved to Workable

Oh wait, AC 2 is still missing.

#11 Updated by VANASTASIADIS 2 months ago

  • Related to action #97454: Decide and implement predefined tags for the commit message checker added

#12 Updated by okurz 2 months ago

As next repos to add this to I suggest all repos within https://github.com/os-autoinst/

#13 Updated by okurz 2 months ago

  • Status changed from Workable to In Progress

#14 Updated by okurz 2 months ago

you added to os-autoinst. Please reference the according PR. I suggest to follow https://github.com/os-autoinst/os-autoinst/pull/1751#issuecomment-905437822 and commit the changes to github.com/os-autoinst/os-autoinst-common/ to be reused in multiple repos.

#15 Updated by cdywan about 2 months ago

VANASTASIADIS Is this still in progress?

#16 Updated by VANASTASIADIS about 2 months ago

It remains to follow okurz's advice in the last comment and this is ready to be resolved.

#17 Updated by cdywan about 2 months ago

VANASTASIADIS wrote:

It remains to follow okurz's advice in the last comment and this is ready to be resolved.

Can you please clarify what that means? Private chat doesn't count, we need it stated here and get the ticket resolved ;-)

#18 Updated by cdywan about 2 months ago

As mentioned in chat, I ran into a case where the check failed because of commits that didn't originate in my branch i.e. - failed: "Merge pull request #4153 from cfconrad/allow_limit_parameter_for_job_overview. tinita suggested we can only check one, or all commits via the action. I wonder, can't the upstream action be fixed if this is a limitation of the action?

#19 Updated by tinita about 2 months ago

I think next time this happens we should try to find out why the action included those commits.

#20 Updated by VANASTASIADIS about 2 months ago

  • Due date set to 2021-09-24
  • Status changed from In Progress to Feedback

Leaving this ticket open to investigate possible errors in checking older commit messages. Setting the due-date accordingly.

#21 Updated by cdywan about 1 month ago

Hit it again: failed: "Merge pull request #4187 from os-autoinst/pitfalls_add_common_error_message, see https://github.com/kalikiana/openQA/runs/3569165279

#22 Updated by cdywan about 1 month ago

Open PR still needs to be merged: https://github.com/os-autoinst/os-autoinst-common/pull/12

It's not clear if AC2 is fulfilled, though. Do we have a plan for other repos?

#23 Updated by okurz about 1 month ago

merged https://github.com/os-autoinst/os-autoinst-common/pull/12 . I agree that AC2 is still not fixed.

#24 Updated by VANASTASIADIS about 1 month ago

I'm not sure I clearly understand AC2. Enabling this in other repos is as simple as copying the workflow file to the .github/workflows dir of that repo. The file now exists in common (but since it's a subrepo, it will have to be manually copied to each project's workflow dir).

Should I bump the due date a few days and try to figure out a more straightforward way, or resolve it?

#25 Updated by okurz about 1 month ago

  • Copied to action #99066: ci: Use a git commit message style checker in more repos added

#26 Updated by okurz about 1 month ago

  • Status changed from Feedback to Resolved

I created #99066 which effectively is what we need to cover AC2 so no need to continue further here, resolving. Thanks!

Also available in: Atom PDF