Skip to content

Creating a Release of the SAF CLI

George M. Dias edited this page May 9, 2023 · 49 revisions
  • Make sure you're on the most recent commit on the SAF CLI
  • Bump the version number in the VERSION file and package.json (probably a good idea to up the version of any of the monorepo/MITRE dependencies in here as well)
  • Run npm install
  • Validate that everything still works
    • Run npm pack
      • Does a fresh build, checks for type issues, etc.
    • Run npm run test
  • Add these changes, commit this change, associate a version tag with the commit (for example, "1.0.0"), and push them up
    • git add the relevant files
    • git commit --signoff -m "[version]"
    • git tag -a -m "brief description of change" [version]
    • git push --atomic origin main [version]
  • Github actions will fire to produce executable versions of the SAF CLI for several OSes. Wait for the workflows for the Windows/Linux builds and for the macOS builds. Download and rename the artifacts:
    • saf-v[version]-amd64.deb
    • saf-v[version]-arm64.pkg
    • saf-v[version]-armel.deb
    • saf-v[version]-x64.exe
    • saf-v[version]-x64.pkg
    • saf-v[version]-x86.exe
  • Associate the tags with the drafted release (remove"## New Features", include "## What's New" in the description)
  • Attach the aforementioned, renamed artifacts to the draft release
  • Publish release
  • Wait for push-to-npm on release to complete
  • Update the SAF Github Action Dependency
  • Validate that the Homebrew Formula at https://github.com/mitre/homebrew-saf was automatically updated