Release Procedure
A guide for maintainers on how to create and publish new releases of Noir. This page outlines the manual and automated steps for releasing to platforms like Homebrew, Snapcraft, and Docker Hub.
This document outlines the process for creating and publishing a new release of Noir. It is intended for project maintainers.
Release Channels
Noir is distributed through several channels. Some are updated automatically via GitHub Actions, while others require manual intervention.
Channel | Package Name & Link | Release Process |
---|---|---|
Homebrew (Core) | noir | Manual |
Homebrew (Tap) | owasp-noir/noir | Automated |
Snapcraft | noir | Automated |
Docker Hub | ghcr.io/owasp-noir/noir | Automated |
OWASP Project Page | OWASP/www-project-noir | Manual |
General Procedure
- Update Version: Ensure the package version in the Noir source code and any relevant documentation has been updated.
- Create GitHub Release: Create a new release on the GitHub releases page. This will trigger the automated release workflows.
- Manual Releases: Follow the manual release procedures for any channels that are not automated.
Manual Release Instructions
Homebrew (Core)
To update the main Homebrew formula, you need to submit a pull request to the homebrew-core
repository.
-
Fork and Sync: Make sure you have a fork of the Homebrew/homebrew-core repository and that it is up-to-date.
-
Run the Bump Command: Use the
brew bump-formula-pr
command to automatically create a pull request with the new version.brew bump-formula-pr --strict --version <VERSION> noir # Example: brew bump-formula-pr --strict --version 0.22.0 noir
-
Style Check: (Optional) To ensure your changes meet Homebrew's style guidelines, you can run:
cd $(brew --repository)/Library/Taps/homebrew/homebrew-core/Formula brew style noir.rb
OWASP Project Page
To update the OWASP project page, you need to submit a pull request to the OWASP/www-project-noir
repository.
- Fork and Sync: Fork the OWASP/www-project-noir repository and make sure it is up-to-date.
- Update Content: Make any necessary changes to the content of the project page.
- Create Pull Request: Create a pull request to the main repository.