Skip to content

devlinjunker/example.cii

Repository files navigation

Version
0.6-SNAPSHOT

Example - CII 100%

GitHub License
GitHub release (latest SemVer) GitHub last commit
CII Best Practices Summary
GitHub issues GitHub priority issues

Intro

This is an example project with a goal of 100% passing Core Infrastructure Initiative Criteria status. It is based off of the GitHub Semver Project Template.

Contains the following improvements for passing status:

  • Automated Test Suite (for Bash Scripts)
  • Static Code Analysis (Linting)

Also contains:

Dependencies/Frameworks

  • Bulldozer - Github Application to Auto Squash and Merge feature PRs
  • Git-mkver - Binary that helps with determining next semantic version based on Git Tags
  • BATS - Automated Test Suite for Bash Scripts
  • ShellCheck - Linting Tool for Bash Scripts
  • PR Landmine Action - Mutation Testing Pull Requests

Quick Setup/Run

  • Review Wiki
  • Review documentation in GitHub Semver Project
  • Clone repo (with submodules)
    • git clone --recurse-submodules --remote-submodules https://github.com/devlinjunker/example.cii.git
    • If forking to a new project, follow the Steps for New Project before adding new code

Add Code

  • Create branch matching style <prefix>/<hyphenated-description>
  • Add changes to branch
  • Before push, if hooks are installed, should do the following (otherwise manual):
    • Run bash linting with ./scripts/bin/lint.sh
    • Run all unit tests with ./scripts/bin/test.sh
  • Create Pull Request against develop

Create Release

See full details in the Github Semver Project wiki

  • Must be after feature/* or feat/* branch is merged
  • Initiate release-cut GitHub Action
  • Merge the created release-* PR to main to start release
    • Avoid squash and merge

Links

Contributors