diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 1f216b34..6d821b5a 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -19,7 +19,7 @@ jobs: fail-fast: false matrix: #language: [ 'csharp' ] - os: [windows-latest, ubuntu-latest, macOS-latest] + os: [ubuntu-latest] steps: - name: Checkout repository diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index db51ca0a..bba81ebf 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -116,23 +116,15 @@ jobs: outputs: upload_url: ${{ steps.create_release.outputs.upload_url }} steps: - - name: Checkout code # TODO: See if I can configure this step, or v3, to replace the Fetch and checkout step below. + + # Checkout the main branch and fetch tags. + - name: Checkout code if: ${{ github.event_name == 'push' }} uses: actions/checkout@v3 with: ref: main fetch-depth: 0 - - # # Checkout the main branch so we can see the correct tag set. - # - name: Fetch and checkout main - # if: ${{ github.event_name == 'push' }} - # run: | - # git config --local user.email "action@github.com" - # git config --local user.name "GitHub Action" - # git fetch - # git checkout main - # Create a semantically versioned tag that increments the last release. - name: Create SemVer tag if: ${{ github.event_name == 'push' }} diff --git a/CHANGELOG.md b/CHANGELOG.md index 59842744..ce48fc99 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,12 +1,24 @@ # Changelog -## [v0.3.1-pre.3](https://github.com/microsoft/CoseSignTool/tree/v0.3.1-pre.3) (2023-09-27) +## [main](https://github.com/microsoft/CoseSignTool/tree/main) (2023-09-27) + +[Full Changelog](https://github.com/microsoft/CoseSignTool/compare/v0.3.1-pre.4...main) + +## [v0.3.1-pre.4](https://github.com/microsoft/CoseSignTool/tree/v0.3.1-pre.4) (2023-09-27) -[Full Changelog](https://github.com/microsoft/CoseSignTool/compare/v0.3.2...v0.3.1-pre.3) +[Full Changelog](https://github.com/microsoft/CoseSignTool/compare/v0.3.2...v0.3.1-pre.4) + +**Merged pull requests:** + +- Final workflow cleanup [\#30](https://github.com/microsoft/CoseSignTool/pull/30) ([lemccomb](https://github.com/lemccomb)) ## [v0.3.2](https://github.com/microsoft/CoseSignTool/tree/v0.3.2) (2023-09-27) -[Full Changelog](https://github.com/microsoft/CoseSignTool/compare/v0.3.1-pre.2...v0.3.2) +[Full Changelog](https://github.com/microsoft/CoseSignTool/compare/v0.3.1-pre.3...v0.3.2) + +## [v0.3.1-pre.3](https://github.com/microsoft/CoseSignTool/tree/v0.3.1-pre.3) (2023-09-27) + +[Full Changelog](https://github.com/microsoft/CoseSignTool/compare/v0.3.1-pre.2...v0.3.1-pre.3) **Merged pull requests:** diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 097bd16f..040ee98e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -3,31 +3,39 @@ 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](https://github.com/microsoft/CoseSignTool/issues). ## Style Guidelines - Please respect the current style in the code. See [Stye.md](./STYLE.md) for details. ## Testing -Certain features using the Windows certificate store will not work in non-Windows environments. If testing changes in a non-Windows environment, please test using `dotnet test --filter TestCategory!=WindowsOnly` +All unit tests in the repo must pass in Windows, Linux, and MacOS environments to ensure compatitility. + +## 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](https://github.com/microsoft/CoseSignTool/releases), click _Draft a new release_ +1. 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. +1. Set _Release title_ to "Release _tag_" +1. Click _Generate release notes_ +1. 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. +1. Make sure the _Set as a pre-release_ box is _not_ checked. +1. Click _Publish release_. ## Pull Request Process 1. Clone the [repo](https://github.com/microsoft/CoseSignTool). -1. Create a user or feature branch off of main. -1. Submit pull requests into main from your feature branch. -1. Ensure builds are still successful and tests, including any added or updated tests, pass locally prior to submitting the pull request. The pull request automation will re-run the unit tests in Windows, Mac, and Linux environments. -1. Update any documentation, user and contributor, that is impacted by your changes. -1. Increase the version numbers in any examples and the [README.md](./README.md) to the new version that this pull request would represent. The versioning scheme we use is [SemVer](http://semver.org/). -1. Include your change description in `CHANGELOG.md` file as part of pull request. +1. 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. +1. Submit pull requests into main from your branch. +1. Ensure builds are still successful and tests, including any added or updated tests, pass locally prior to submitting the pull request. The pull request automation will re-run the unit tests in Windows, MacOS, and Linux environments. +1. Update any documentation, user and contributor, that is impacted by your changes. See [CoseSignTool.md](./CoseSignTool.md) for the CoseSignTool project, [CoseHandler.md](./CoseHandler.md) for the CoseHandler project, and [Advanced.md](./Advanced.md) for the CoseSign1 projects. 1. 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 is it is generated by the pull request process. ## License Information - [MIT License](https://github.com/microsoft/CoseSignTool/blob/main/LICENSE) \ No newline at end of file diff --git a/README.md b/README.md index b0d32727..eb23983e 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ First [check to make sure the work isn't already planned](#state-of-the-project) * If you would like to contribute actual code to the repo or comment on the pull requests of others, read our [contributor guidelines](./CONTRIBUTING.md) and [style guidelines](./STYLE.md), and then make your contribution. ## State of the project -This is an alpha pre-release, so there are some planned features that are not yet in the product, and you may encounter some bugs. If you do, please [report them here.](https://github.com/microsoft/CoseSignTool/issues) +This is an alpha release, so there are some planned features that are not yet in the product, and you may encounter some bugs. If you do, please [report them here.](https://github.com/microsoft/CoseSignTool/issues) The planned work is currently tracked only in an internal Microsoft ADO instance but will be moved to Github Issues soon. In the meantime, here is some of the work currently planned.