innoveit / play2-pdf

A PDF module for Play Framework 2
MIT License
77 stars 22 forks source link

Implement GitHub Actions to CI & CD #45

Open felipebonezi opened 1 year ago

felipebonezi commented 1 year ago

We need to improve our code validation using GHA to check, validate, test, and build our project before any new PR is merged into the master branch.

I have a suggestion to run the build/test action only if:

  1. The code is well formatted (using sbt-java-formatter);
  2. The code is binary compatible with the previous versions (using MiMa).

Other suggestions to consider as acceptable to merge are:

  1. Build must be completed successfully (no exceptions, nor even by admins);
  2. All the tests must pass successfully (no exceptions, nor even by admins);
  3. At least one review by an admin before the merge is available;
  4. Add a label (such as approved or merge-when-gtg) to the PR;
  5. We could use Mergify to set these rules to have an automatic way to merge PR.

Last but not least, about the merge strategy, I would prefer rebase/squad instead of merge to maintain the project with a linear history of change.

Does anyone have a different opinion? (cc @marcosinigaglia)

marcosinigaglia commented 1 year ago

Hi @felipebonezi , I never used the rebase/squad strategy but I don't think is a problem. The other suggestions are fine.