From 045fb0503fad92bb77296451745f90fece5d77dd Mon Sep 17 00:00:00 2001 From: lemccomb <117306942+lemccomb@users.noreply.github.com> Date: Wed, 27 Sep 2023 17:24:31 -0700 Subject: [PATCH 1/4] Update docs --- .github/workflows/dotnet.yml | 14 +++----------- CONTRIBUTING.md | 21 ++++++++++----------- README.md | 2 +- 3 files changed, 14 insertions(+), 23 deletions(-) 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/CONTRIBUTING.md b/CONTRIBUTING.md index 097bd16f..d18f6a00 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -3,31 +3,30 @@ 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 net use the pre-release flag. +In both cases, the built binaries and other assets for the release are made available in .zip files. ## 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 "develop" 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. From d24d28950891061b10d6a2b067a6f2aeacb692f3 Mon Sep 17 00:00:00 2001 From: GitHub Action Date: Thu, 28 Sep 2023 00:28:38 +0000 Subject: [PATCH 2/4] Update changelog for release --- CHANGELOG.md | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) 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:** From 603e2bba35c65e27a1084f861c672d6983315e20 Mon Sep 17 00:00:00 2001 From: lemccomb <117306942+lemccomb@users.noreply.github.com> Date: Wed, 27 Sep 2023 18:44:50 -0700 Subject: [PATCH 3/4] Update Contributing.md --- .github/workflows/codeql.yml | 2 +- CONTRIBUTING.md | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) 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/CONTRIBUTING.md b/CONTRIBUTING.md index d18f6a00..05172452 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -19,6 +19,15 @@ All unit tests in the repo must pass in Windows, Linux, and MacOS environments t 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 net 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 representsa 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 fucosed 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. Do not use the keyword "hotfix" or "develop" in your branch names as these will trigger incorrect release behavior. From f9911f110e12167d2976ca8f4cb86af7463b2004 Mon Sep 17 00:00:00 2001 From: lemccomb <117306942+lemccomb@users.noreply.github.com> Date: Wed, 27 Sep 2023 19:01:36 -0700 Subject: [PATCH 4/4] Update CONTRIBUTING.md --- CONTRIBUTING.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 05172452..040ee98e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -16,21 +16,21 @@ See [Stye.md](./STYLE.md) for details. 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 net use the pre-release flag. +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 representsa 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. 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 fucosed language, of what features were added and any important bugs that were fixed. +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. +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. Do not use the keyword "hotfix" or "develop" in your branch names as these will trigger incorrect release behavior. +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.