-
Notifications
You must be signed in to change notification settings - Fork 37
Creating a Release of the SAF CLI
Shivani Karikar edited this page Oct 28, 2024
·
49 revisions
NOTE: If there aren't any Dependency Updates
when viewing the draft release, check the Actions and ensure that all dependabot
actions have executed successfully.
We are currently automating the release process. Steps 1 through 5 are now automated by invoking the
release-prep.sh
script located at the root of the repository
- Make sure you're on the most recent commit on the SAF CLI by running
git pull
. - Bump the SAF CLI version number in the
VERSION
file andpackage.json
- It is a good idea to manually check and update the version of any
@mitre
dependencies in thepackage.json
file.
- It is a good idea to manually check and update the version of any
- Run
npm install
- Validate the build and unit tests
- Run
npm pack
- Does a fresh build, checks for type issues, etc.
- Run
npm run test
- Run
- 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 (Do not add the .tgz file that may have been created by thenpm run prepack
step) git commit -sm "[version]"
git tag -am "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 macOS builds (.pkg), Windows builds (.exe), Apt-based build (.deb) and Dnf-based builds (.rpm) to finish. Download, and unzip the artifacts:
- Mac OS (zip file containing the following)
saf-v[version]-x64.pkg
saf-v[version]-arm64.pkg
- Windows (individual downloads - not zipped)
saf-v[version]-x64.exe
saf-v[version]-x86.exe
- Apt-based distros like Debian (zip file containing the following)
saf-v[version]-amd64.deb
saf-v[version]-arm64.deb
saf-v[version]-armel.deb
- Dnf-based distros like RHEL (single file)
saf-v[version]-noarch.rpm
- Associate the tags with the drafted release (Combine all updates, except for "## Dependency Updates", under a "## What's New" section in the description)
- Attach the aforementioned, renamed artifacts to the draft release (Note: Attaching files using the drag and drop feature is much slower than attaching files by clicking on the link directly to upload files)
- Make sure that the
Set as the latest release
checkbox is selected - Publish release
- Wait for push-to-npm on release to complete
- Update the SAF Github Action Dependency by creating a release:
- Validate that the Homebrew Formula at https://github.com/mitre/homebrew-saf was automatically updated
Streamline security automation for systems and DevOps pipelines with the SAF CLI
- Home
- How to create a release
- Splunk Configuration
- Supplement HDF Configuration
- Validation with Thresholds
- SAF CLI Delta Process
- Mapper Creation Guide for HDF Converters
- How to create a SAF CLI
- How to recommend development of a mapper
- Use unreleased version of a package from the Heimdall monorepo in the SAF CLI
- Troubleshooting