Skip to content

OSCAL Content Release Checklist

Michaela Iorga edited this page Jun 5, 2025 · 3 revisions
  • Complete the review of all PRs that need to be merged into the release.
  • Ensure all desired features are merged into develop
  • Ensure develop is not behind main
  • PR develop to main. This is important for oscal-content so the artifacts get generated in main too.
  • Verify no CI errors.
  • Merge develop into main after approval. Can use the clone and git:
git checkout main
git pull --ff-only origin main
git pull -r origin develop
git push --force-with-lease origin
  • Verify no CI errors occurred during merge.
  • Tag the release. It is important to note that after the artifacts are generated and committed, the branch needs to be tagged with the version so that when the release is generated on the GitHub, the tag can be selected which will automatically generate the source code assets for the release.
git checkout main
git submodule update --init --recursive
git tag -a v1.X.0                     # needed to generate the assets release (*.zip and *tar.gz)
git push --follow-tags                # needed to generate the assets release (*.zip and *tar.gz)
  • Create release branch release-1.3 from main - NOTE: A branch was created for the 1.2.1 patch release when we should have used release-1.2 branch and just tag it with 1.2.1. In the future, this should be avoided.

  • Create the release notes directly on HackMD or local.

  • Execute the commend below to get the list of commits to include in the release notes.

git log origin/release-1.2.1..origin/release-1.3.0 --pretty=oneline --abbrev-commit
  • Generate the draft release In the GH repo and include the notes. Save as draft and review it.
  • Publish the release
  • Delete develop and recreate it.
    • NOTES:
      • When merging develop into main, all commits get recreated, and develop gets same number of commits behind and ahead, because the branches are protected - so it needs to:
        • be deleted immediate after the release and BEFORE new work is pushed to the existing develop. Develop is protected, and only members or OSCAL-admins can delete the protection rule in Settings, delete the branch and recreate it. OR - use change the order of the branch creation and create the release-x.x branch from develop, and then merge the release-x.x onto main and tag the main:
git checkout develop
git pull --ff-only origin develop
git checkout -b release-2.0
git push --force-with-lease origin ###should create the release-2.0 in GH
git checkout main
git pull --ff-only origin main
git merge --no-ff release-2.0
git tag -a v2.0
git push --follow-tags

Clone this wiki locally