compliant-financial-infrastructure icon indicating copy to clipboard operation
compliant-financial-infrastructure copied to clipboard

Automate releases in the top level CFI repo

Open eddie-knight opened this issue 1 year ago • 0 comments

Feature Request

Description of Problem:

The OpenSSF Scorecard has several requirements that are best achieved by automated releases.

The badge checks relating to releases are listed below:

  • To enable collaborative review, the project's source repository MUST include interim versions for review between releases; it MUST NOT include only final releases.
  • The project results MUST have a unique version identifier for each release intended to be used by users
  • It is SUGGESTED that the Semantic Versioning (SemVer) or Calendar Versioning (CalVer) version numbering format be used for releases. It is SUGGESTED that those who use CalVer include a micro level value.
  • It is SUGGESTED that projects identify each release within their version control system. For example, it is SUGGESTED that those using git identify each release using git tags.
  • The project MUST provide, in each release, release notes that are a human-readable summary of major changes in that release to help users determine if they should upgrade and what the upgrade impact will be. The release notes MUST NOT be the raw output of a version control log (e.g., the "git log" command results are not release notes). Projects whose results are not intended for reuse in multiple locations (such as the software for a single website or service) AND employ continuous delivery MAY select "N/A". (URL required)
  • The release notes MUST identify every publicly known run-time vulnerability fixed in this release that already had a CVE assignment or similar when the release was created. This criterion may be marked as not applicable (N/A) if users typically cannot practically update the software themselves (e.g., as is often true for kernel updates). This criterion applies only to the project results, not to its dependencies. If there are no release notes or there have been no publicly known vulnerabilities, choose N/A.

Potential Solutions:

This process can largely be automated following examples set by other open source repositories. Alternatively, the GitHub Releases UI can be supplemented with an option for configurable auto-generated release notes.

Option 1 references:

Option 2 docs:

  • https://docs.github.com/en/repositories/releasing-projects-on-github/automatically-generated-release-notes#configuring-automatically-generated-release-notes

eddie-knight avatar Oct 10 '22 18:10 eddie-knight