Skip to content

creek-service/multi-module-template

Repository files navigation

License Coverage Status build

Maven Central CodeQL OpenSSF Scorecard OpenSSF Best Practices

Multi-module template Repo

Template repo used to create other multi-module repos.

Features

The template sets up the following:

Usage

Creating a new repo from the template

  1. Click the "Use this template" button on the main page and follow the instructions.
  2. Import the new repo into Coveralls.io, noting the repo token.
  3. Customise the repo in GitHub Settings->:
    1. General->
      1. Pull Requests:
        1. un-tick: Allow merge commits and Allow rebase merging.
        2. tick: Always suggest updating pull request branches, Allow auto-merging and Automatically delete head branches
    2. Collaborators and teams->
      1. Manage access: add code-reviews team with the Write role.
    3. Secrets->:
      1. Actions-> Add a new repository secret called COVERALLS_REPO_TOKEN, grabbing the value from Coveralls.io.,
      2. Dependabot-> Add the same COVERALLS_REPO_TOKEN repository secret here too
  4. Customise the files in the new repo:
    1. Replace the multi-module-template repo name with the name of the new project. Each place is marked with a ChangeMe comment.
    2. Replace the example module with the repos first module.
    3. Replace the creek.template.module.multi module name with a suitable module name. Each place is marked with a ChangeMe comment.
    4. Replace this README.md
    5. Commit changes as a PR (so you can test the PR build works!)
  5. Finish customising the repo in GitHub Settings->Branches and protect the main branch:
    1. Tick Require a pull request before merging
      1. With Require approvals set to 1.
    2. Tick Dismiss stale pull request approvals when new commits are pushed
    3. Tick Require status checks to pass before merging
      1. With Require branches to be up to date before merging
      2. With status checks:
        • build
        • codeQL
        • coverage/coveralls
    4. Click Create.
  6. Finish customising the repo in Coveralls.io Settings->Pull Request Alerts:
    1. Tick Leave comments
    2. Set COVERAGE THRESHOLD FOR FAILURE to 80%
    3. Set COVERAGE DECREASE THRESHOLD FOR FAILURE to 1%
    4. Save changes.
  7. Use the "Set next version" GitHub workflow to set the next version inline with other Creek repos.

Modules in this repository

Gradle commands

  • ./gradlew format will format the code using Spotless.
  • ./gradlew static will run static code analysis, i.e. Spotbugs and Checkstyle.
  • ./gradlew check will run all checks and tests.
  • ./gradlew coverage will generate a cross-module Jacoco coverage report.

About

A template used internally by Creek to bootstrap new multi-module repos.

Resources

License

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Languages