Skip to content

Latest commit

 

History

History
45 lines (37 loc) · 3.43 KB

CONTRIBUTING.md

File metadata and controls

45 lines (37 loc) · 3.43 KB

CoseSignTool

Contributing

Welcome and thank you for your interest in contributing to the CoseSignTool project!

Issues and Feature Requests

Work items are tracked in Issues.

Style Guidelines

Please respect the current style in the code. See Stye.md for details.

Testing

All unit tests in the repo must pass in Windows, Linux, and MacOS environments to ensure compatitility.

Pull Request Process

Note: There was a bug in the pull request process which caused Github to lose track of running workflows when the CreateChangelog job completes. The work around is to close and re-open the pull request on the pull request page (https://github.com/microsoft/CoseSignTool/pull/[pull-request-number]) We beleive this is fixed as of version 1.1.1-pre1 so please log an issue if it reappears.

  1. Clone the repo.
  2. Create a user or feature branch off of main. Do not use the keyword "hotfix" or "develope" in your branch names as these will trigger incorrect release behavior.
  3. Make your changes, including adding or updating unit tests to ensure your changes work as intended.
  4. Make sure the solution still builds and all unit tests still pass locally.
  5. Update any documentation, user and contributor, that is impacted by your changes. See CoseSignTool.md for the CoseSignTool project, CoseHandler.md for the CoseHandler project, and Advanced.md for the CoseSign1 projects.
  6. Push your changes to origin and create a pull request into main from your branch. The pull request automation will re-run the unit tests in Windows, MacOS, and Linux environments.
  7. Fix any build or test failures or CodeQL warnings caught by the pull request automation and push the fixes to your branch.
  8. Address any code review comments.
  9. You may merge the pull request in once you have the sign-off of at least two Microsoft full-time employees, including at least one other developer. Do not modify CHANGELOG.md, as it is auto-generated.

Releases

Releases are created automatically on completion of a pull request into main, and have the pre-release flag set. Official releases are created manually by the repo owners and do not use the pre-release flag. In both cases, the built binaries and other assets for the release are made available in .zip files.

Creating a Manual Release (repo owners)

  1. From the Releases page, click Draft a new release
  2. Click Choose a tag and create a new, semantically versioned tag in the format v[Major.Minor.Patch], such as v0.3.2. In general, a Patch release represents a new feature or a group of important bug fixes. A Minor release represents a coherent set of features, and a Major release is either a significant overhaul of the product or a stabilization point in the code after a significant number of Minor releases.
  3. Set Release title to "Release tag"
  4. Click Generate release notes
  5. Edit the generated release notes to include a brief summary at the top, in user focused language, of what features were added and any important bugs that were fixed.
  6. Make sure the Set as a pre-release box is not checked.
  7. Click Publish release.

License Information

MIT License