Giter Site home page Giter Site logo

branchvalidator's People

Contributors

calvinwilkinson avatar kinsondigitaladmin avatar kselena avatar renovate[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

marianawest

branchvalidator's Issues

🚧Fix broken badges

Complete The Item Below

  • I have updated the title without removing the 🚧 emoji.

Description

Fix the badges and remove unnecessary ones. The reason that they are showing LINKS is because they are broken.

It is assumed that something changed with the service called Shields IO has changed causing the issue.
Other repos have been fixed already.

image

Use the badges in Velaptor as a reference.

Acceptance Criteria

  • Badges fixed

ToDo Items

  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Issue linked to the correct project (if applicable).
  • Issue linked to the correct milestone (if applicable).
  • Draft pull request created and linked to this issue (only required with code changes).

Issue Dependencies

No response

Related Work

No response

Additional Information:

Change Type Labels

Change Type Label
Bug Fixes 🐛bug
Breaking Changes 🧨breaking changes
New Feature ✨new feature
Workflow Changes workflow
Code Doc Changes 🗒️documentation/code
Product Doc Changes 📝documentation/product

Priority Type Labels

Priority Type Label
Low Priority low priority
Medium Priority medium priority
High Priority high priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

🚧Create logo for BranchValidator project

I have done the items below . . .

  • I have updated the title without removing the 🚧 emoji.

Description

Use one of the GitHub marketplace logos and set it as the main logo throughout the project and org.

  1. Update the project README to show the logo at the top
  2. Update the BranchValidator team icon to have the logo

Acceptance Criteria

This issue is finished when:

  • Logo created
  • Logo added to project README file

ToDo Items

  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Issue linked to the correct project.
  • Issue linked to the correct milestone.
  • Draft pull request created and linked to this issue.

Issue Dependencies

No response

Related Work

No response

Additional Information:

Change Type Labels

Change Type Label
Bug Fixes 🐛bug Something isn't working
Breaking Changes 🧨breaking changes Feature/changes contains breaking changes
Enhancement ✨new feature New feature that does not exist
Workflow Changes https://github.com/KinsonDigital/BranchValidator/labels/workflow
Code Doc Changes 📑documentation/code Code documentation changes in source code. XML code docs/comments
Product Doc Changes 📝documentation/product Product documentation external to source code. Doc website

Priority Type Labels

Priority Type Label
Low Priority low priority Low Priority
Medium Priority medium priority Medium Priority
High Priority high priority High Priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

🚧Implement KDActionUtils library

Complete Items Below

  • I have updated the title without removing the 🚧 emoji.

Description

Implement the new KDActions library to replace common boiler plate code with GitHub actions.

Acceptance Criteria

  • KDActionUtils NuGet package added to project
  • Code replace by library cleaned up and refactored

ToDo Items

  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Issue linked to the correct project (if required).
  • Issue linked to the correct milestone (if required).
  • Draft pull request created and linked to this issue (only required with code changes).

Issue Dependencies

Related Work

No response

Additional Information:

Change Type Labels

Change Type Label
Bug Fixes 🐛bug Something isn't working
Breaking Changes 🧨breaking changes Feature/changes contains breaking changes
New Feature ✨new feature New feature that does not exist
Workflow Changes https://github.com/KinsonDigital/BranchValidator/labels/workflow
Code Doc Changes 📑documentation/code Code documentation changes in source code. XML code docs/comments
Product Doc Changes 📝documentation/product Product documentation external to source code. Doc website

Priority Type Labels

Priority Type Label
Low Priority low priority Low Priority
Medium Priority medium priority Medium Priority
High Priority high priority High Priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

🚧Update examples in README file

Complete Items Below

  • I have updated the title without removing the 🚧 emoji.

Description

Update the YAML code examples in the README.md file.

The update details below:
Update all checkout actions from v2 to v3

- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3

Acceptance Criteria

  • YAML examples in README.md file updated

ToDo Items

  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Issue linked to the correct project (if required).
  • Issue linked to the correct milestone (if required).
  • Draft pull request created and linked to this issue (only required with code changes).

Issue Dependencies

No response

Related Work

No response

Additional Information:

Change Type Labels

Change Type Label
Bug Fixes 🐛bug Something isn't working
Breaking Changes 🧨breaking changes Feature/changes contains breaking changes
New Feature ✨new feature New feature that does not exist
Workflow Changes https://github.com/KinsonDigital/BranchValidator/labels/workflow
Code Doc Changes 📑documentation/code Code documentation changes in source code. XML code docs/comments
Product Doc Changes 📝documentation/product Product documentation external to source code. Doc website

Priority Type Labels

Priority Type Label
Low Priority low priority Low Priority
Medium Priority medium priority Medium Priority
High Priority high priority High Priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

🚧Setup dependabot

Complete The Item Below

  • I have updated the title without removing the 🚧 emoji.

Description

Setup dependabot for the project.

Refer to the Velaptor project for the how to setup the YAML config tile.

The name of the file is dependabot.yml

Acceptance Criteria

  • Dependabot setup for project

ToDo Items

  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Issue linked to the correct project (if applicable).
  • Issue linked to the correct milestone (if applicable).
  • Draft pull request created and linked to this issue (only required with code changes).

Issue Dependencies

  • #65

    Note This is because if this issue is completed first, it will start the bot and all of the NuGet package updates will be detected and a lot of PR's will be created. The initial update of the NuGet packages should be done first to help save work.

Related Work

No response

Additional Information:

Change Type Labels

Change Type Label
Bug Fixes 🐛bug
Breaking Changes 🧨breaking changes
New Feature ✨new feature
Workflow Changes workflow
Code Doc Changes 🗒️documentation/code
Product Doc Changes 📝documentation/product

Priority Type Labels

Priority Type Label
Low Priority low priority
Medium Priority medium priority
High Priority high priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

🚧Update release todo template

Complete Items Below

  • I have updated the title without removing the 🚧 emoji.

Description

Update the release-todo-issue-template.yml file.

  1. Add todo task to the Perform Release ToDo List right before the last checkbox to verify that the PR has been approved and merged BEFORE the release is performed. (Make this the second to last checkbox)
  2. Update the last label about the release to preview and production.

Use the YAML below for the update.

Refer to example below:

- label: Pull request has been approved and merged into a release branch before performing the release. (Releases are performed on release branches, not preview release branches.)
- label: Release to **_preview_** or **_production_** complete.  Refer to the **_Release Execution_** section below.

Acceptance Criteria

  • Template has been updated

ToDo Items

  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Issue linked to the correct project (if required).
  • Issue linked to the correct milestone (if required).
  • Draft pull request created and linked to this issue (only required with code changes).

Issue Dependencies

No response

Related Work

No response

Additional Information:

Change Type Labels

Change Type Label
Bug Fixes 🐛bug Something isn't working
Breaking Changes 🧨breaking changes Feature/changes contains breaking changes
New Feature ✨new feature New feature that does not exist
Workflow Changes https://github.com/KinsonDigital/BranchValidator/labels/workflow
Code Doc Changes 📑documentation/code Code documentation changes in source code. XML code docs/comments
Product Doc Changes 📝documentation/product Product documentation external to source code. Doc website

Priority Type Labels

Priority Type Label
Low Priority low priority Low Priority
Medium Priority medium priority Medium Priority
High Priority high priority High Priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

Create project item issue template

Create a project issue template that is the same as Velaptor.

Use this template here

Acceptance Criteria:

  • Project issue template created
  • All current open issues updated with new template content

🚧Update/add issue and PR templates

I have done the items below . . .

  • I have updated the title without removing the 🚧 emoji.

Description

Update and improve project item issue template

Acceptance Criteria

This issue is finished when:

  • Issue templates updated

    • bug-issue-template.yml updated
    • feature-request-issue-template.yml updated
    • release-todo-issue-template.yml updated
    • project-item-issue-template.yml updated
    • research-issue-template.yml updated
  • PR templates updated and text -template added to the end of the file before the file extension

    • feature-pr.md
    • preview-feature-pr.md
    • preview-release-pr.md
    • production-release-pr.md
  • Add/Update config.yml

  • Update all URL's in all of the templates to match for the project

ToDo Items

  • Draft pull request created and linked to this issue
  • Priority label added to issue (low priority, medium priority, or high priority)
  • Issue linked to the proper project
  • Issue linked to proper milestone

Issue Dependencies

No response

Related Work

No response

🚧Remove empty sections in release notes

Complete Items Below

  • I have updated the title without removing the 🚧 emoji.

Description

Remove empty sections from release notes

Acceptance Criteria

  • Release notes updated without empty sections

ToDo Items

  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Issue linked to the correct project (if required).
  • Issue linked to the correct milestone (if required).
  • Draft pull request created and linked to this issue (only required with code changes).

Issue Dependencies

No response

Related Work

No response

Additional Information:

Change Type Labels

Change Type Label
Bug Fixes 🐛bug Something isn't working
Breaking Changes 🧨breaking changes Feature/changes contains breaking changes
New Feature ✨new feature New feature that does not exist
Workflow Changes https://github.com/KinsonDigital/BranchValidator/labels/workflow
Code Doc Changes 📑documentation/code Code documentation changes in source code. XML code docs/comments
Product Doc Changes 📝documentation/product Product documentation external to source code. Doc website

Priority Type Labels

Priority Type Label
Low Priority low priority Low Priority
Medium Priority medium priority Medium Priority
High Priority high priority High Priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

🚧Research about source generators

This is for the purpose of possibly removing the ScriptGenerator project and replacing it with a source generator

Acceptance Criteria:

  1. Source generators researched
  2. Sample project added as a zip file to this card
  3. Issue created to be able to do the work to replace the ScriptGenerator project with the source generator

🚧Update all NuGet packages

Complete The Item Below

  • I have updated the title without removing the 🚧 emoji.

Description

Update all of the NuGet packages to newest versions

This can be done by using Visual Studio.
Ask @CalvinWilkinson for assistance if needed.

Acceptance Criteria

  • All NuGet packages updated

ToDo Items

  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Issue linked to the correct project (if applicable).
  • Issue linked to the correct milestone (if applicable).
  • Draft pull request created and linked to this issue (only required with code changes).

Issue Dependencies

No response

Related Work

No response

Additional Information:

Change Type Labels

Change Type Label
Bug Fixes 🐛bug
Breaking Changes 🧨breaking changes
New Feature ✨new feature
Workflow Changes workflow
Code Doc Changes 🗒️documentation/code
Product Doc Changes 📝documentation/product

Priority Type Labels

Priority Type Label
Low Priority low priority
Medium Priority medium priority
High Priority high priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

Update repo description

Update the repository description to the value below:

  • A custom GitHub action that performs various validations with git branches.

🚧Refactor unit test assertions

Complete The Item Below

  • I have updated the title without removing the 🚧 emoji.

Description

Refactor all of the unit test assertions to use the FluentAssertions library.

This will greatly cleanup the unit testing side of things and make the creation of unit tests easier.

Acceptance Criteria

  • Latest version of FluentAssertions Nuget package added to the project
  • Refactor the files below:
    • QuoteAnalyzerServiceTests.cs - 43 lines
    • ExpressionExecutorServiceTests.cs - 99 lines
    • ExpressionValidatorServiceTests.cs - 101 lines
    • FunctionExtractorServiceTests.cs - 117 lines
    • ParsingServiceTests.cs - 35 lines

ToDo Items

  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Issue linked to the correct project (if required).
  • Issue linked to the correct milestone (if required).

Issue Dependencies

No response

Related Work

No response

Additional Information:

Change Type Labels

Change Type Label
Bug Fixes 🐛bug
Breaking Changes 🧨breaking changes
New Feature ✨new feature
Workflow Changes workflow
Code Doc Changes 🗒️documentation/code
Product Doc Changes 📝documentation/product

Priority Type Labels

Priority Type Label
Low Priority low priority
Medium Priority medium priority
High Priority high priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

🚧Add URL link to create issue to console output

I have done the items below . . .

  • I have updated the title without removing the 🚧 emoji.

Description

Add a URL link to the console output to create an issue for this project.
This will always be printed to the console. Print this as part of the welcome message.

Acceptance Criteria

This issue is finished when:

  • URL link to create issue added to welcome message

ToDo Items

  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Issue linked to the correct project.
  • Issue linked to the correct milestone.
  • Draft pull request created and linked to this issue.

Issue Dependencies

No response

Related Work

Additional Information:

Change Type Labels

Change Type Label
Bug Fixes 🐛bug Something isn't working
Breaking Changes 🧨breaking changes Feature/changes contains breaking changes
New Features ✨new feature New feature that does not exist
Workflow Changes https://github.com/KinsonDigital/BranchValidator/labels/workflow
Code Doc Changes 📑documentation/code Code documentation changes in source code. XML code docs/comments
Product Doc Changes 📝documentation/product Product documentation external to source code. Doc website

Priority Type Labels

Priority Type Label
Low Priority low priority Low Priority
Medium Priority medium priority Medium Priority
High Priority high priority High Priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

Fix issue in README file

Fix an issue in the README file at the very bottom where the markdown link to this project says Got Nuget.

Refer to image below:
image

Acceptance Criteria:

  • README file issue fixed

🚧Refactor unit test assertions

Complete The Item Below

  • I have updated the title without removing the 🚧 emoji.

Description

Refactor all of the unit test assertions to use the FluentAssertions library.

This will greatly cleanup the unit testing side of things and make the creation of unit tests easier.

Acceptance Criteria

  • Latest version of FluentAssertions Nuget package added to the project
  • Refactor the files below:
    • GitHubActionIntegrationTests.cs - 209 lines
    • InvalidActionInputTests.cs - 52 lines
    • InvalidBranchExceptionTests.cs - 52 lines
    • InvalidSyntaxExpressionTests.cs - 52 lines
    • LoadEmbeddedResourceExceptionTests.cs - 48 lines

ToDo Items

  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Issue linked to the correct project (if required).
  • Issue linked to the correct milestone (if required).

Issue Dependencies

No response

Related Work

No response

Additional Information:

Change Type Labels

Change Type Label
Bug Fixes 🐛bug
Breaking Changes 🧨breaking changes
New Feature ✨new feature
Workflow Changes workflow
Code Doc Changes 🗒️documentation/code
Product Doc Changes 📝documentation/product

Priority Type Labels

Priority Type Label
Low Priority low priority
Medium Priority medium priority
High Priority high priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

🚧Refactor unit test assertions

Complete The Item Below

  • I have updated the title without removing the 🚧 emoji.

Description

Refactor all of the unit test assertions to use the FluentAssertions library.

This will greatly cleanup the unit testing side of things and make the creation of unit tests easier.

Acceptance Criteria

  • Latest version of FluentAssertions Nuget package added to the project
  • Refactor the files below:
    • UpdateBranchNameObservableTests.cs - 34 lines
    • FunctionAnalyzerServiceTests.cs - 192 lines
    • NegativeNumberAnalyzerTests.cs - 44 lines
    • OperatorAnalyzerServiceTests.cs - 63 lines
    • ParenAnalyzerServiceTests.cs - 39 lines

ToDo Items

  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Issue linked to the correct project (if required).
  • Issue linked to the correct milestone (if required).

Issue Dependencies

No response

Related Work

No response

Additional Information:

Change Type Labels

Change Type Label
Bug Fixes 🐛bug
Breaking Changes 🧨breaking changes
New Feature ✨new feature
Workflow Changes workflow
Code Doc Changes 🗒️documentation/code
Product Doc Changes 📝documentation/product

Priority Type Labels

Priority Type Label
Low Priority low priority
Medium Priority medium priority
High Priority high priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

🚧Add 2 tasks to PR templates

Complete The Item Below

  • I have updated the title without removing the 🚧 emoji.

Description

Add 2 more checkboxes to all 4 PR templates. These checkboxes will describe to the user to make sure that the project and milestones between the PR and issue match.

Checkboxes To Add:

- [ ] Project assigned matches the project of the associated issue.

- [ ] Milestone assigned matches the milestone of the associated issue.

💡Make sure to add a single empty line between each checkbox.
💡Make sure that the order of the checkboxes is the "project" first, then the "milestone"

Templates To Update:

  • feature-pr-template.md
  • preview-feature-pr-template.md
  • preview-release-pr-template.md
  • production-release-pr-template.md

For the feature-pr-template.md and preview-feature-pr-template.md, insert the 2 new checkboxes in the location shown below:

- [ ] The **_base(target)_** branch for this pull request is a **_development_** branch with the name **_develop_**.
  - A **_base(target)_** branch is the branch that the **_head(source)_** branch is merging into.

- [ ] Pull request title matches the title of the linked issue.

👉🏼 INSERT CHECKBOXES HERE

For the preview-release-pr-template.md, insert the 2 new checkboxes in the location shown below:

- [ ] Associated issue exists and is linked to this pull request.👈🏼INSERT TASK HERE
  - One issue per pull request.

- [ ] Pull request title matches the example below, using the correct version.
  <details closed><summary>Example</summary>
    
    ``` xml
    Syntax: 🚀Release To Preview - v<major>.<minor>.<patch>-preview.<prev-num>
    Example: 🚀Release To Preview - v1.2.3-preview.4
    ```
  </details>

👉🏼 INSERT CHECKBOXES HERE

For the production-release-pr-template.md, insert the 2 new checkboxes in the location shown below:

- [ ] Associated issue exists and is linked to this pull request.👈🏼INSERT TASK HERE
  - One issue per pull request.
 
- [ ] Pull request title matches the example below, using the correct version.
  <details closed><summary>Example</summary>
    
    ``` xml
    Syntax: 🚀Release To Production - v<major>.<minor>.<patch>
    Example: 🚀Release To Production - v1.2.3
    ```
  </details>

👉🏼 INSERT CHECKBOXES HERE

Also make a small change to the feature-pr-template.md template by updating the checkbox below

- - [ ] Pull request title matches the title of the linked issue.
+ - [ ] Pull request title matches the title of the associated issue.

Acceptance Criteria

  • The template feature-pr-template.md update.
  • The template preview-feature-pr-template.md update.
  • The template preview-release-pr-template.md update.
  • The template production-release-pr-template.md update.

ToDo Items

  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Issue linked to the correct project (if required).
  • Issue linked to the correct milestone (if required).
  • Draft pull request created and linked to this issue (only required with code changes).

Issue Dependencies

No response

Related Work

No response

Additional Information:

Change Type Labels

Change Type Label
Bug Fixes https://github.com/KinsonDigital/KDActionUtils/labels/%F0%9F%90%9Bbug
Breaking Changes https://github.com/KinsonDigital/KDActionUtils/labels/%F0%9F%A7%A8breaking%20changes
New Feature https://github.com/KinsonDigital/KDActionUtils/labels/%E2%9C%A8new%20feature
Workflow Changes https://github.com/KinsonDigital/KDActionUtils/labels/workflow
Code Doc Changes https://github.com/KinsonDigital/KDActionUtils/labels/%F0%9F%93%91documentation%2Fcode
Product Doc Changes https://github.com/KinsonDigital/KDActionUtils/labels/%F0%9F%93%9Ddocumentation%2Fproduct

Priority Type Labels

Priority Type Label
Low Priority https://github.com/KinsonDigital/KDActionUtils/labels/low%20priority
Medium Priority https://github.com/KinsonDigital/KDActionUtils/labels/medium%20priority
High Priority https://github.com/KinsonDigital/KDActionUtils/labels/high%20priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

🚧Add notes about Ubuntu to README

Complete The Item Below

  • I have updated the title without removing the 🚧 emoji.

Description

Update the README.md file by adding the following Quick Note section. This text is about notifying the user that the action must be used in a job that runs on Ubuntu, not Windows.
Insert the markdown in between the What is it? and Quick Example sections.

Markdown to add:

<div align="center"><h3 style="font-weight:bold">⚠️Quick Note⚠️</h3></div>

This GitHub action is built using C#/NET and runs in a docker container.  If the job step for running this action is contained in a job that runs on **Windows**, you will need to move the step to a job that runs on **Ubuntu**.  You can split up your jobs to fulfill `runs-on` requirements of the GitHub action. This can be accomplished by moving the step into it's own job.  You can then route the action step outputs to the job outputs and use them throughout the rest of your workflow. For more information, refer to the Github documentation links below:

For more info on step and job outputs, refer to the GitHub documentation links below:
- [Defining outputs for jobs](https://docs.github.com/en/actions/using-jobs/defining-outputs-for-jobs)
- [Setting a step action output parameter](https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#setting-an-output-parameter)

Old section to replace:
image

Acceptance Criteria

  • README file updated

ToDo Items

  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Issue linked to the correct project (if required).
  • Issue linked to the correct milestone (if required).
  • Draft pull request created and linked to this issue (only required with code changes).

Issue Dependencies

No response

Related Work

No response

Additional Information:

Change Type Labels

Change Type Label
Bug Fixes 🐛bug Something isn't working
Breaking Changes 🧨breaking changes Feature/changes contains breaking changes
New Feature ✨new feature New feature that does not exist
Workflow Changes https://github.com/KinsonDigital/BranchValidator/labels/workflow
Code Doc Changes 📑documentation/code Code documentation changes in source code. XML code docs/comments
Product Doc Changes 📝documentation/product Product documentation external to source code. Doc website

Priority Type Labels

Priority Type Label
Low Priority low priority Low Priority
Medium Priority medium priority Medium Priority
High Priority high priority High Priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

🚧Refactor unit test assertions

Complete The Item Below

  • I have updated the title without removing the 🚧 emoji.

Description

Refactor all of the unit test assertions to use the FluentAssertions library.

This will greatly cleanup the unit testing side of things and make the creation of unit tests easier.

Acceptance Criteria

  • Latest version of FluentAssertions Nuget package added to the project
  • Refactor the files below:
    • ActionInputsTests.cs - 122 lines
    • ExtensionMethodsTests.cs - 144 lines
    • FunctionDefinitionsTests.cs - 121 lines
    • GitHubActionTests.cs - 482 lines

ToDo Items

  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Issue linked to the correct project (if required).
  • Issue linked to the correct milestone (if required).

Issue Dependencies

No response

Related Work

No response

Additional Information:

Change Type Labels

Change Type Label
Bug Fixes 🐛bug
Breaking Changes 🧨breaking changes
New Feature ✨new feature
Workflow Changes workflow
Code Doc Changes 🗒️documentation/code
Product Doc Changes 📝documentation/product

Priority Type Labels

Priority Type Label
Low Priority low priority
Medium Priority medium priority
High Priority high priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

🚧Update branching docs

Complete Items Below

  • I have updated the title without removing the 🚧 emoji.

Description

Update branching documentation and images to match Velaptor

Acceptance Criteria

  • Branching docs updated
  • Branching image diagrams updated

ToDo Items

  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Issue linked to the correct project (if required).
  • Issue linked to the correct milestone (if required).
  • Draft pull request created and linked to this issue (only required with code changes).

Issue Dependencies

No response

Related Work

No response

Additional Information:

Change Type Labels

Change Type Label
Bug Fixes 🐛bug Something isn't working
Breaking Changes 🧨breaking changes Feature/changes contains breaking changes
New Feature ✨new feature New feature that does not exist
Workflow Changes https://github.com/KinsonDigital/BranchValidator/labels/workflow
Code Doc Changes 📑documentation/code Code documentation changes in source code. XML code docs/comments
Product Doc Changes 📝documentation/product Product documentation external to source code. Doc website

Priority Type Labels

Priority Type Label
Low Priority low priority Low Priority
Medium Priority medium priority Medium Priority
High Priority high priority High Priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

🚀Release To Preview

Issues Released

Perform Release ToDo List

  • Appropriate release label added to this issue. Refer to the Release Labels section below.
  • Release PR linked to this issue.
  • Manual QA Testing completed.
  • All issues listed in the Issues Released section above.
  • All issues in the Issues Released section are closed and all issue tasks are complete.
  • All unit tests have been executed locally and have passed. (Check out the appropriate release branch before running tests).
  • Version in project file updated (All changes made directly on the release branch).
  • Release notes created and added (All changes made directly on the release branch).
  • Pull request has been approved and merged into a release branch before performing the release. (Releases are performed on release branches, not preview release branches.)
  • Release to preview or production complete. Refer to the Release Execution section below.

Post-Release ToDo List

  • The release displayed in GitHub Releases is correct.
  • The nuget package has been successfully deployed to the public repository.
  • Announcement of release on Twitter verified. (Announcement should be performed automatically with the release)
  • Announcement has been pushed to the Discord channel.

Additional Information:

Release Labels

Release Types Label Used
Preview Release 🚀Preview Release Preview Release
Production Release 🚀Production Release Production Release
Hot Fix Release 🚀Hot Fix Release Hot Fix Release

Unit Tests

Reasons for local unit test execution:

  • Unit tests might pass locally but not in the CI environment during the status check process or vice-versa.
  • Tests might pass on the developer's machine but not necessarily on the code reviewer's machine.

Version Updating

The version can be updated by setting the values of the <Version/> and <FileVersion/> XML tags in the project file.

<!--Syntax for preview releases-->
<Version>1.2.3-preview.4</Version>
<FileVersion>1.2.3-preview.4</FileVersion>

<!--Syntax for production releases-->
<Version>1.2.3</Version>
<FileVersion>1.2.3</FileVersion>

Release Notes

The release notes go into the appropriate folder:

  • Preview Release Notes go into the ~/Documentation/ReleaseNotes/PreviewReleases folder.
  • Production Release Notes go into the ~/Documentation/ReleaseNotes/ProductionReleases folder.

Release note file names must follow a particular syntax and are in markdown format so they can be added to the release.

Release Notes File Name Syntax:

  • Preview Release Notes:
    • Syntax: Release-Notes-v<major>.<minor>.<patch>-preview.<prev-num>.md
    • Example: Release-Notes-v1.0.0-preview.4.md
  • Production Release Notes:
    • Syntax: Release-Notes-v<major>.<minor>.<patch>.md
    • Example: Release-Notes-v1.0.0.md

Changes such as release notes and version updates should be committed to the same source branch in the pull request attached to this issue.


Release Execution

The release is performed by running one of the release workflows below:

Code of Conduct

  • I agree to follow this project's Code of Conduct

🚧Remove repo related docs

Complete The Item Below

  • I have updated the title without removing the 🚧 emoji.

Description

Remove repo specific docs that exist at the org level.

Update link in READme to point to the org level contribution document.

Acceptance Criteria

  • Contributing
  • Code_of_Conduct
  • ./documentation/branching.md
  • Table of Contents folder
  • EnvironmentSetup folder
  • Funding

ToDo Items

  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Issue linked to the correct project (if applicable).
  • Issue linked to the correct milestone (if applicable).
  • Draft pull request created and linked to this issue (only required with code changes).

Issue Dependencies

No response

Related Work

No response

Additional Information:

Change Type Labels

Change Type Label
Bug Fixes 🐛bug
Breaking Changes 🧨breaking changes
New Feature ✨new feature
Workflow Changes workflow
Code Doc Changes 🗒️documentation/code
Product Doc Changes 📝documentation/product

Priority Type Labels

Priority Type Label
Low Priority low priority
Medium Priority medium priority
High Priority high priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

🚧Update preview feature PR template

Complete Items Below

  • I have updated the title without removing the 🚧 emoji.

Description

Update Preview Feature Template to match Velaptor:

File name is: preview-feature-pr-template.md

Acceptance Criteria

  • PR template updated

ToDo Items

  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Issue linked to the correct project (if required).
  • Issue linked to the correct milestone (if required).
  • Draft pull request created and linked to this issue (only required with code changes).

Issue Dependencies

No response

Related Work

No response

Additional Information:

Change Type Labels

Change Type Label
Bug Fixes 🐛bug Something isn't working
Breaking Changes 🧨breaking changes Feature/changes contains breaking changes
New Feature ✨new feature New feature that does not exist
Workflow Changes https://github.com/KinsonDigital/BranchValidator/labels/workflow
Code Doc Changes 📑documentation/code Code documentation changes in source code. XML code docs/comments
Product Doc Changes 📝documentation/product Product documentation external to source code. Doc website

Priority Type Labels

Priority Type Label
Low Priority low priority Low Priority
Medium Priority medium priority Medium Priority
High Priority high priority High Priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

🚧Setup codecov

Complete The Item Below

  • I have updated the title without removing the 🚧 emoji.

Description

Setup codecov for collecting code coverage data.

Also, add a codecov badge to the README file. Use the VersionMiner project for reference on the codecov.yml config file.

Acceptance Criteria

  • The codecov.yml file has been added to the project

ToDo Items

  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Issue linked to the correct project (if applicable).
  • Issue linked to the correct milestone (if applicable).
  • Draft pull request created and linked to this issue (only required with code changes).

Issue Dependencies

No response

Related Work

No response

Additional Information:

Change Type Labels

Change Type Label
Bug Fixes 🐛bug
Breaking Changes 🧨breaking changes
New Feature ✨new feature
Workflow Changes workflow
Code Doc Changes 🗒️documentation/code
Product Doc Changes 📝documentation/product

Priority Type Labels

Priority Type Label
Low Priority low priority
Medium Priority medium priority
High Priority high priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

🚧Fix broken enhancement label link

I have done the items below . . .

  • I have updated the title without removing the 🚧 emoji.

Description

The label was changed but the link is still pointing to the old enhancement label. The old enhancement label was changed and this is how the link has become broken.

Acceptance Criteria

This issue is finished when:

  • Label link is updated

ToDo Items

  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Issue linked to the correct project.
  • Issue linked to the correct milestone.
  • Draft pull request created and linked to this issue.

Issue Dependencies

No response

Related Work

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct.

🚧Fix release todo issue template

Complete The Item Below

  • I have updated the title without removing the 🚧 emoji.

Description

Fix the release-todo-issue-template.yml file by removing the backslash symbols from the checkbox label content for the top 2 checkboxes in the Perform Release ToDo List section.

 - type: checkboxes
   attributes:
     label: Perform Release ToDo List
     description: Complete the following items to perform a release.
     options:
-    - label: "Title updated by replacing the '**_\<TODO: release type here\>_**' section with the type of release."
+    - label: "Title updated by replacing the '**_<TODO: release type here>_**' section with the type of release."
-    - label: "Title updated by replacing the '**_\<TODO: release version number here\>_**' section with the version number."
+    - label: "Title updated by replacing the '**_\<TODO: release version number here\>_**' section with the version number."

Acceptance Criteria

  • Release todo template fixed

ToDo Items

  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Issue linked to the correct project (if required).
  • Issue linked to the correct milestone (if required).
  • Draft pull request created and linked to this issue (only required with code changes).

Issue Dependencies

No response

Related Work

No response

Additional Information:

Change Type Labels

Change Type Label
Bug Fixes 🐛bug Something isn't working
Breaking Changes 🧨breaking changes Feature/changes contains breaking changes
New Feature ✨new feature New feature that does not exist
Workflow Changes https://github.com/KinsonDigital/BranchValidator/labels/workflow
Code Doc Changes 📑documentation/code Code documentation changes in source code. XML code docs/comments
Product Doc Changes 📝documentation/product Product documentation external to source code. Doc website

Priority Type Labels

Priority Type Label
Low Priority low priority Low Priority
Medium Priority medium priority Medium Priority
High Priority high priority High Priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

🚧Create contributing document

Complete The Item Below

  • I have updated the title without removing the 🚧 emoji.

Description

Do the following:

  1. Create the contributing document to help people know how to contribute.
  2. Add a how to contribute section that points to the readme file via a link the README

Acceptance Criteria

  • Create contribution document
  • Update README with link to document

ToDo Items

  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Issue linked to the correct project (if applicable).
  • Issue linked to the correct milestone (if applicable).
  • Draft pull request created and linked to this issue (only required with code changes).

Issue Dependencies

No response

Related Work

No response

Additional Information:

Change Type Labels

Change Type Label
Bug Fixes 🐛bug
Breaking Changes 🧨breaking changes
New Feature ✨new feature
Workflow Changes workflow
Code Doc Changes 🗒️documentation/code
Product Doc Changes 📝documentation/product

Priority Type Labels

Priority Type Label
Low Priority low priority
Medium Priority medium priority
High Priority high priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

🚧Fix release notes file name

Complete Items Below

  • I have updated the title without removing the 🚧 emoji.

Description

Fix the name of the file for the release notes for version v1.0.0-preview.3.
Currently, the name of the release notes file is Release-Notes-v1.0.0-preview.2 and should be Release-Notes-v1.0.0-preview.3.

Acceptance Criteria

  • v1.0.0-preview.3 release notes file name fixed.

ToDo Items

  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Issue linked to the correct project (if required).
  • Issue linked to the correct milestone (if required).
  • Draft pull request created and linked to this issue (only required with code changes).

Issue Dependencies

No response

Related Work

No response

Additional Information:

Change Type Labels

Change Type Label
Bug Fixes 🐛bug Something isn't working
Breaking Changes 🧨breaking changes Feature/changes contains breaking changes
New Feature ✨new feature New feature that does not exist
Workflow Changes https://github.com/KinsonDigital/BranchValidator/labels/workflow
Code Doc Changes 📑documentation/code Code documentation changes in source code. XML code docs/comments
Product Doc Changes 📝documentation/product Product documentation external to source code. Doc website

Priority Type Labels

Priority Type Label
Low Priority low priority Low Priority
Medium Priority medium priority Medium Priority
High Priority high priority High Priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

🚧Improve project README

Complete Items Below

  • I have updated the title without removing the 🚧 emoji.

Description

Improve the project's readme so the text in the What's the point? 🤷🏼 section is laid out better. Currently the way that the text is wrapping is making the layout all WONKY and difficult to read. The assumption is that the markdown is setup to force wrap the sentences instead of auto-wrapping the text.

Either way, it does not look great.

💡Use VSCode to view the rendered markdown with the approximately the same width as in the browser in the marketplace, and use this as a guide to layout the text.

Currently On Marketplace:
image

Convert the action input example values to inline code blocks to emphasize what it should look like.
The text to convert are in the purple rectangles in the image below:
image

Acceptance Criteria

  • Section in README changed to lay out text in a better way
  • Input value examples converted into markdown inline code blocks
    • This is done by simply adding a single backtick to each end of the text you want to convert to an inline code block.

ToDo Items

  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Issue linked to the correct project (if required).
  • Issue linked to the correct milestone (if required).
  • Draft pull request created and linked to this issue (only required with code changes).

Issue Dependencies

No response

Related Work

No response

Additional Information:

Change Type Labels

Change Type Label
Bug Fixes 🐛bug Something isn't working
Breaking Changes 🧨breaking changes Feature/changes contains breaking changes
New Feature ✨new feature New feature that does not exist
Workflow Changes https://github.com/KinsonDigital/BranchValidator/labels/workflow
Code Doc Changes 📑documentation/code Code documentation changes in source code. XML code docs/comments
Product Doc Changes 📝documentation/product Product documentation external to source code. Doc website

Priority Type Labels

Priority Type Label
Low Priority low priority Low Priority
Medium Priority medium priority Medium Priority
High Priority high priority High Priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

🚧Remove issue and pr templates

Complete Items Below

  • I have updated the title without removing the 🚧 emoji.

Description

Remove the ISSUE_TEMPLATE & PULL_REQUEST_TEMPLATE folders and all of its contents.

Acceptance Criteria

  • ISSUE_TEMPLATE folder and its contents removed
  • PULL_REQUEST_TEMPLATE folder and its contents removed

ToDo Items

  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Issue linked to the correct project (if required).
  • Issue linked to the correct milestone (if required).
  • Draft pull request created and linked to this issue (only required with code changes).

Issue Dependencies

No response

Related Work

No response

Additional Information:

Change Type Labels

Change Type Label
Bug Fixes 🐛bug Something isn't working
Breaking Changes 🧨breaking changes Feature/changes contains breaking changes
New Feature ✨new feature New feature that does not exist
Workflow Changes https://github.com/KinsonDigital/BranchValidator/labels/workflow
Code Doc Changes 📑documentation/code Code documentation changes in source code. XML code docs/comments
Product Doc Changes 📝documentation/product Product documentation external to source code. Doc website

Priority Type Labels

Priority Type Label
Low Priority low priority Low Priority
Medium Priority medium priority Medium Priority
High Priority high priority High Priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

🚧Add release note templates to repo

Complete Items Below

  • I have updated the title without removing the 🚧 emoji.

Description

Add both preview release note and production release note templates to the repo. Use Velaptor as a guide.

Acceptance Criteria

  • Preview release template added
  • Production release template added

ToDo Items

  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Issue linked to the correct project (if required).
  • Issue linked to the correct milestone (if required).
  • Draft pull request created and linked to this issue (only required with code changes).

Issue Dependencies

No response

Related Work

No response

Additional Information:

Change Type Labels

Change Type Label
Bug Fixes 🐛bug Something isn't working
Breaking Changes 🧨breaking changes Feature/changes contains breaking changes
New Feature ✨new feature New feature that does not exist
Workflow Changes https://github.com/KinsonDigital/BranchValidator/labels/workflow
Code Doc Changes 📑documentation/code Code documentation changes in source code. XML code docs/comments
Product Doc Changes 📝documentation/product Product documentation external to source code. Doc website

Priority Type Labels

Priority Type Label
Low Priority low priority Low Priority
Medium Priority medium priority Medium Priority
High Priority high priority High Priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

🚧Improve console output

Complete The Item Below

  • I have updated the title without removing the 🚧 emoji.

Description

Improve the GitHub console output by using some emojis.

For each step, add a ✔️ emoji at the beginning.
If the branch is valid, add the 🥳 emoji to the end.
If the branch is not valid, add the 😞 emoji to the end.

Placement:
image

Acceptance Criteria

  • ✔️ emoji added to the beginning of each processing step
  • 🥳 emoji added to a valid branch message
  • 😡 emoji added to an invalid branch message

ToDo Items

  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Issue linked to the correct project (if applicable).
  • Issue linked to the correct milestone (if applicable).
  • Draft pull request created and linked to this issue (only required with code changes).

Issue Dependencies

No response

Related Work

No response

Additional Information:

Change Type Labels

Change Type Label
Bug Fixes 🐛bug
Breaking Changes 🧨breaking changes
New Feature ✨new feature
Workflow Changes workflow
Code Doc Changes 🗒️documentation/code
Product Doc Changes 📝documentation/product

Priority Type Labels

Priority Type Label
Low Priority low priority
Medium Priority medium priority
High Priority high priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

🚧Remove issue and pr templates

Complete The Item Below

  • I have updated the title without removing the 🚧 emoji.

Description

Remove all issue and pr templates.
They are now housed in .github, so they don't need to be in each project.
Remove config.yml
Remove funding.yml
Remove CODEOWNERS

Acceptance Criteria

  • Issue and PR templates removed
  • config removed
  • funding removed
  • CODEOWNERS removed

ToDo Items

  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Issue linked to the correct project (if required).
  • Issue linked to the correct milestone (if required).
  • Draft pull request created and linked to this issue (only required with code changes).

Issue Dependencies

No response

Related Work

No response

Additional Information:

Change Type Labels

Change Type Label
Bug Fixes https://github.com/KinsonDigital/Velaptor/labels/%F0%9F%90%9Bbug
Breaking Changes https://github.com/KinsonDigital/Velaptor/labels/%F0%9F%A7%A8breaking%20changes
New Feature https://github.com/KinsonDigital/Velaptor/labels/%E2%9C%A8new%20feature
Workflow Changes https://github.com/KinsonDigital/Velaptor/labels/workflow
Code Doc Changes https://github.com/KinsonDigital/Velaptor/labels/%F0%9F%93%91documentation%2Fcode
Product Doc Changes https://github.com/KinsonDigital/Velaptor/labels/%F0%9F%93%9Ddocumentation%2Fproduct

Priority Type Labels

Priority Type Label
Low Priority https://github.com/KinsonDigital/Velaptor/labels/low%20priority
Medium Priority https://github.com/KinsonDigital/Velaptor/labels/medium%20priority
High Priority https://github.com/KinsonDigital/Velaptor/labels/high%20priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

🚧Update Readme

Complete The Item Below

  • I have updated the title without removing the 🚧 emoji.

Description

We are in the process of rationalizing ReadMe across all GitHub Actions (GHA). This includes:

Making sure all sections are in this order:

  • Logo
  • Repo Name
  • Badges
  • What is it
  • Warning/Note (Quick Note)
  • Example
  • Action Input
  • Action Output
  • Validation Functions
  • Validation list
  • More Examples
  • Contrib
  • Maintainers
  • License

Details of the changes to the sections are below:

What is it Section

  • Use what is currently in this section after spelling and grammar checks
  • Add what does it do section as a TLDR

Quick Note Section

  • Change to say Warning block instead of Quick Note

Quick Example Section

  • Make sure the "more examples below" link is on the right side.

What does it do? Section

  • Move section to What is it? section at top

Action Input/Output Section
-Remove table from Output and make a sentence
-Keep Input section, but make it align left

Contribution Section

  • Change title to Contributing
  • Make it like Velaptor

Maintainers Section

  • Make section like in Velaptor

License Section

  • Add section just like in Velaptor; with badges etc.

Other

  • Double checking spelling/grammar
  • Making wording the same in similar sections
  • Make sure "Back to the Top" link is on the right
  • Remove any TODO comments
  • Verify all links work and point correctly
  • Make sure all emoji's are like GotNuget/Velaptor

Acceptance Criteria

  • Make sure all sections are in this order:
    • Logo
    • Repo Name
    • Badges
    • What is it
    • Warning/Note (Quick Note)
    • Example
    • Action Input
    • Action Output
    • Examples
    • Contrib/Funding (after combined like in lib section)
    • Maintainers
    • License
  • Perform spelling and grammar checks in the What is it section
  • Change the Quick Note section to Warning block
  • More examples below link is to the right side.
  • Move the What does it do section to What is it section
  • Action Output section is a sentence; not a table
  • Action Input section is align left
  • Update the Contribution Section
    • Change the Contribution title to Contributing
    • Add one link that points to the Contributing doc for time contributions
      • To learn how to contribute your time click [here](https://github.com/KinsonDigital/.github/blob/master/docs/CONTRIBUTING.md)
    • Add one link that points to GitHub sponsors for monetary contributions
      • To learn how to contribute funds to this project, click [here](https://github.com/sponsors/KinsonDigital)
  • Add Maintainers section like in Velaptor
  • Add License section just like in Velaptor; with badges
  • Double check spelling/grammar
  • Making wording the same in other GH Actions and Libraries
  • Remove "Back to the Top" link
  • Remove any TODO comments
  • Verify all links work and point correctly
  • All emoji's are like GotNuget/Velaptor

ToDo Items

  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Issue linked to the correct project (if applicable).
  • Issue linked to the correct milestone (if applicable).
  • Draft pull request created and linked to this issue (only required with code changes).

Issue Dependencies

No response

Related Work

No response

Additional Information:

Change Type Labels

Change Type Label
Bug Fixes 🐛bug
Breaking Changes 🧨breaking changes
New Feature ✨new feature
Workflow Changes workflow
Code Doc Changes 🗒️documentation/code
Product Doc Changes 📝documentation/product

Priority Type Labels

Priority Type Label
Low Priority low priority
Medium Priority medium priority
High Priority high priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

🚧Update Code of Conduct

I have done the items below . . .

  • I have updated the title without removing the 🚧 emoji.

Description

Update code of conduct file. Use the file below:
code_of_conduct.md

Acceptance Criteria

This issue is finished when:

  • Code of Conduct file updated

ToDo Items

  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Issue linked to the correct project.
  • Issue linked to the correct milestone.
  • Draft pull request created and linked to this issue.

Issue Dependencies

No response

Related Work

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct.

🚧Add .md to LICENSE file

Complete The Item Below

  • I have updated the title without removing the 🚧 emoji.

Description

The LICENSE exists, but to maintain consistency, add .md to the file

Acceptance Criteria

  • .md added to LICENSE file

ToDo Items

  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Issue linked to the correct project (if applicable).
  • Issue linked to the correct milestone (if applicable).
  • Draft pull request created and linked to this issue (only required with code changes).

Issue Dependencies

No response

Related Work

No response

Additional Information:

Change Type Labels

Change Type Label
Bug Fixes 🐛bug
Breaking Changes 🧨breaking changes
New Feature ✨new feature
Workflow Changes workflow
Code Doc Changes 🗒️documentation/code
Product Doc Changes 📝documentation/product

Priority Type Labels

Priority Type Label
Low Priority low priority
Medium Priority medium priority
High Priority high priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

🚧Move internal visible setup

Complete The Item Below

  • I have updated the title without removing the 🚧 emoji.

Description

Move all [assembly: InternalsVisibleTo("", AllInternalsVisible = true)] attributes to the csproj file.

This can be done with the example below:

<ItemGroup>
  <InternalsVisibleTo Include="$(AssemblyName)Tests" />
  <InternalsVisibleTo Include="DynamicProxyGenAssembly2" />
</ItemGroup>

For more info on this if required, refer to this video

Acceptance Criteria

  • InternalsVisibleTo attributes moved.

ToDo Items

  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Issue linked to the correct project (if applicable).
  • Issue linked to the correct milestone (if applicable).
  • Draft pull request created and linked to this issue (only required with code changes).

Issue Dependencies

No response

Related Work

No response

Additional Information:

Change Type Labels

Change Type Label
Bug Fixes 🐛bug
Breaking Changes 🧨breaking changes
New Feature ✨new feature
Workflow Changes workflow
Code Doc Changes 🗒️documentation/code
Product Doc Changes 📝documentation/product

Priority Type Labels

Priority Type Label
Low Priority low priority
Medium Priority medium priority
High Priority high priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

🚧Setup CICD dotnet tool

Complete The Item Below

  • I have updated the title without removing the 🚧 emoji.

Description

Setup the CICD dotnet tool for the project.

This will require creating a .nuke directory with a parametes.json file as well as workflows.

Warning The prev-release.yml and prod-release.yml files need to be a little different than the generated ones.
The reason is because CICD does not have the ability to collect code coverage and we are waiting for a release to get that feature. Refer to the VersionMiner project as a reference to how it was setup.

Acceptance Criteria

  • CICD completely setup and working

ToDo Items

  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Issue linked to the correct project (if applicable).
  • Issue linked to the correct milestone (if applicable).
  • Draft pull request created and linked to this issue (only required with code changes).

Issue Dependencies

No response

Related Work

No response

Additional Information:

Change Type Labels

Change Type Label
Bug Fixes 🐛bug
Breaking Changes 🧨breaking changes
New Feature ✨new feature
Workflow Changes workflow
Code Doc Changes 🗒️documentation/code
Product Doc Changes 📝documentation/product

Priority Type Labels

Priority Type Label
Low Priority low priority
Medium Priority medium priority
High Priority high priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

🚧Implement KDActionUtils library

I have done the items below . . .

  • I have updated the title without removing the 🚧 emoji.

Description

Implement the KDActionUtils library. This is to replace the repetitive code that is used for all of the GitHub actions throughout the organization. This is to help simplify the actions and promote code reuse.

Acceptance Criteria

This issue is finished when:

  • Replace all code with the library versions

ToDo Items

  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Issue linked to the correct project.
  • Issue linked to the correct milestone.
  • Draft pull request created and linked to this issue.

Issue Dependencies

Related Work

No response

Additional Information:

Change Type Labels

Change Type Label
Bug Fixes 🐛bug Something isn't working
Breaking Changes 🧨breaking changes Feature/changes contains breaking changes
New Features ✨new feature New feature that does not exist
Workflow Changes https://github.com/KinsonDigital/BranchValidator/labels/workflow
Code Doc Changes 📑documentation/code Code documentation changes in source code. XML code docs/comments
Product Doc Changes 📝documentation/product Product documentation external to source code. Doc website

Priority Type Labels

Priority Type Label
Low Priority low priority Low Priority
Medium Priority medium priority Medium Priority
High Priority high priority High Priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

🚧Move release note template files to proper folder

Complete The Item Below

  • I have updated the title without removing the 🚧 emoji.

Description

The release note template files are located in the incorrect location. These files need to be moved to the folder ~/Documentation/ReleaseNotes/.

Currently they are located in ~/Documentation/ReleaseNotes/PreviewReleases/.

This was accidentally missed in the issue below during the code review.

Acceptance Criteria

  • Release template files moved to proper folder location.

ToDo Items

  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Issue linked to the correct project (if applicable).
  • Issue linked to the correct milestone (if applicable).
  • Draft pull request created and linked to this issue (only required with code changes).

Issue Dependencies

No response

Related Work

No response

Additional Information:

Change Type Labels

Change Type Label
Bug Fixes 🐛bug
Breaking Changes 🧨breaking changes
New Feature ✨new feature
Workflow Changes workflow
Code Doc Changes 🗒️documentation/code
Product Doc Changes 📝documentation/product

Priority Type Labels

Priority Type Label
Low Priority low priority
Medium Priority medium priority
High Priority high priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

🚧Refactor unit test assertions

Complete The Item Below

  • I have updated the title without removing the 🚧 emoji.

Description

Refactor all of the unit test assertions to use the FluentAssertions library.

This will greatly cleanup the unit testing side of things and make the creation of unit tests easier.

Acceptance Criteria

  • Latest version of FluentAssertions Nuget package added to the project
  • Refactor the files below:
    • ObservableFake.cs - 15 lines
    • AssertExtensions.cs - 39 lines
    • ObservableTests.cs - 121 lines
    • ObserverTests.cs - 136 lines
    • ObserverUnsubscriberTests.cs - 103 lines

ToDo Items

  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Issue linked to the correct project (if required).
  • Issue linked to the correct milestone (if required).

Issue Dependencies

No response

Related Work

No response

Additional Information:

Change Type Labels

Change Type Label
Bug Fixes 🐛bug
Breaking Changes 🧨breaking changes
New Feature ✨new feature
Workflow Changes workflow
Code Doc Changes 🗒️documentation/code
Product Doc Changes 📝documentation/product

Priority Type Labels

Priority Type Label
Low Priority low priority
Medium Priority medium priority
High Priority high priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

🚧Fix issue with matching patterns

Complete The Item Below

  • I have updated the title without removing the 🚧 emoji.

Description

Currently, the translation between the custom action glob matching syntax and regex syntax has an issue.

feature/setup-build-project

  • Value: feature/setup-build-project
  • Pattern: feature/setup-*-project

This was discovered when using the same code while playing around with Nuke build system framework.

Possible Solution:

  1. The problems are that the globbing pattern needs to always start with a '^' symbol and end with a '$' symbol.
  2. This could possibly just be fixed by improving the regex used. Attempt this solution first.

Also, the RegexOptions.IgnoreCase needs to NOT be used at all. Currently, if the value above had a 'Tfor the wordproject` ad the end, it would still pass. Remove case sensitivity.

Remove the MatchType. enum and its use case as well

Acceptance Criteria

  • The symbol '^' added to the start of the globbingPattern every time in the Match() method
  • The symbol '$' added to the end of the globbingPattern every time in the Match() method
  • Remove the RegexOptions.IgnoreCase argument for all RegEx.Match() method calls

ToDo Items

  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Issue linked to the correct project (if applicable).
  • Issue linked to the correct milestone (if applicable).
  • Draft pull request created and linked to this issue (only required with code changes).

Issue Dependencies

No response

Related Work

No response

Additional Information:

Change Type Labels

Change Type Label
Bug Fixes 🐛bug
Breaking Changes 🧨breaking changes
New Feature ✨new feature
Workflow Changes workflow
Code Doc Changes 🗒️documentation/code
Product Doc Changes 📝documentation/product

Priority Type Labels

Priority Type Label
Low Priority low priority
Medium Priority medium priority
High Priority high priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

🚧Update twitter link

Complete The Item Below

  • I have updated the title without removing the 🚧 emoji.

Description

Update URL section of the markdown links in the README.md file to point to the twitter logo located in the .github org repo.

Here is the location of the logo.

The link URL section below is what you should update the URLs to https://raw.githubusercontent.com/KinsonDigital/.github/master/Images/twitter-logo-16x16.svg.

Acceptance Criteria

  • twitter logo removed from the repo (if it exists)

    Note Usually it exists in the ./Documentation/Images/ folder

  • twitter link updated

    Note There should be 2 twitter logos to update. One for Calvin and one for Kristen and is located in the README.md file.

ToDo Items

  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Issue linked to the correct project (if applicable).
  • Issue linked to the correct milestone (if applicable).
  • Draft pull request created and linked to this issue (only required with code changes).

Issue Dependencies

No response

Related Work

No response

Additional Information:

Change Type Labels

Change Type Label
Bug Fixes 🐛bug
Breaking Changes 🧨breaking changes
New Feature ✨new feature
Workflow Changes workflow
Code Doc Changes 🗒️documentation/code
Product Doc Changes 📝documentation/product

Priority Type Labels

Priority Type Label
Low Priority low priority
Medium Priority medium priority
High Priority high priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

Add quick note about using in windows vs ubuntu

Description:

In the main README file, add information about running the action in windows vs ubuntu.

Use this markdown:

<div align="center"><h3 style="font-weight:bold">⚠️Quick Note⚠️</h3></div>

This GitHub action is built using C#/NET and runs in a docker container.  If the job step for running this action is contained in a job that runs on **Windows**, you will need to move the step to a job that runs on **Ubuntu**.  You can split up your jobs to fulfill `runs-on` requirements of the GitHub action. This can be accomplished by moving the step into it's own job.  You can then route the action step outputs to the job outputs and use them throughout the rest of your workflow. For more information, refer to the Github documentation links below:

For more info on step and job outputs, refer to the GitHub documentation links below:
- [Defining outputs for jobs](https://docs.github.com/en/actions/using-jobs/defining-outputs-for-jobs)
- [Setting a step action output parameter](https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#setting-an-output-parameter)

Insert here:
image

Acceptance Criteria:

  • Markdown added

🚧Update GitHub action name

Description:

Update the action.yml

Update the name of the GitHub action from BranchValidator to Branch Validator. It simply needs a space between each word.

This can be done in the action.yml file. Refer to example below.

name: 'BranchValidator' 👈🏼 Update this here
description: 'Checks if a GIT branch name is valid.'
author: 'Calvin Wilkinson (KinsonDigital)'
branding:
  icon: settings
  color: purple

image

Acceptance Criteria:

  • Action name updated

Create BranchValidator project and implement action code

I have done the items below . . .

  • I have updated the title by replacing the '<title>' section.

Description

Create a status check workflow to validate branch name syntax. This will validate that the branch currently being used will not only be named correctly, but also have a context that makes sense.


What To Implement

Action Inputs:

  • branch-name
    • Required: true
    • Default Value: empty string
  • validation-logic
    • Required: true
    • Default Value: empty string
  • trim-from-start (Added on 7-Jul-2022)
    • Required: false
    • Default Value: empty string
  • fail-when-not-valid
    • Required: false
    • Default Value: true

branch-name Input:

An action input named branch-name should hold the name of the branch.

validation-logic Input:

The action input named validation-logic should be a string that contains a combination of functions with AND and OR logic.
All functions will be case sensitive and will be camel cased. Functions can have 1 or more arguments. String arguments will require double quotes and numbers will can only be whole numbers. They all return bool values of true or false.

trim-from-start Input:

The action input named 'trim-from-start' should be a string that contains the text that will be trimmed from the beginning of the branch name before the validation process begins. This will make it easier to remove 'string' values from the beginning of the branch in GitHub Actions when using the environment variables for branches such as github.base_ref, github.head_ref, and github.ref


Examples:

For example, if the action input had the value v*.*.*-preview.*, then this would mean that any branch with the name would be required to start with the letter 'v', 3 periods, and contain the string "-preview." towards the end.
This way, if the branch name parts meet the criteria, they action would return the value of "true" which means the branch is valid.

Also, if the value of the action input could be a list of functions delimited by a && or ||. This would give the ability to perform boolean logic on the results of the functions. The && is for performing AND logic and the || is for performing OR logic. The logic is always processed in order from left to right.

Things to note:

  • Spaces around && and || and other functions are aloud.
  • Spaces around argument commas are aloud.
  • Make sure to process multi-line strings. This means that new line and carriage return characters need to be stripped before processing the logic.

Simple Examples:
branch-name = master
validation-logic = equalTo("master") || equalTo("develop")
Result: true

branch-name = master
validation-logic = equalTo("master") && equalTo("develop")
Result: false

Advanced Example:
branch-name = v1.2.3-preview.4
validation-logic = v#.#.#-preview.#
Result: true


Acceptance Criteria

This issue is finished when:

  • All of the functions listed above work correctly to validate the syntax of the branch
  • Displays clear error messages for each function used in the validation-logic action input
  • Returns true if the branch is valid and false if it is not
  • Only fails the job/workflow if the fail-when-not-valid is set to true

All functions implemented below:

  • equalTo(string value) implemented
  • isCharNum(int pos) implemented
  • isSectionNum(int startPos, string upToChar) implemented
  • isSectionNum(int startPos, int endPos) implemented
  • contains(string value) implemented
  • notContains(string value) implemented
  • existTotal(string value, int total) implemented
  • existsLessThan(string value, int amount) implemented
  • existsGreaterThan(string value, int amount) implemented
  • startsWith(string value) implemented
  • notStartsWith(string value) implemented
  • endsWith(string value) implemented
  • notEndsWith(string value) implemented
  • startsWithNum() implemented
  • endsWithNum() implemented
  • lenLessThan(int length) implemented
  • lenGreaterThan(int length) implemented
  • isBefore(string value, string after) implemented
  • isAfter(string value, string before) implemented

ToDo Items

  • Priority label added to issue

Issue Dependencies

No response

Related Work

No response

🚧Update preview feature release template

Complete Items Below

  • I have updated the title without removing the 🚧 emoji.

Description

Update preview feature release template with that of Velaptor

Acceptance Criteria

  • Preview feature template updated

ToDo Items

  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Issue linked to the correct project (if required).
  • Issue linked to the correct milestone (if required).
  • Draft pull request created and linked to this issue (only required with code changes).

Issue Dependencies

No response

Related Work

No response

Additional Information:

Change Type Labels

Change Type Label
Bug Fixes 🐛bug Something isn't working
Breaking Changes 🧨breaking changes Feature/changes contains breaking changes
New Feature ✨new feature New feature that does not exist
Workflow Changes https://github.com/KinsonDigital/BranchValidator/labels/workflow
Code Doc Changes 📑documentation/code Code documentation changes in source code. XML code docs/comments
Product Doc Changes 📝documentation/product Product documentation external to source code. Doc website

Priority Type Labels

Priority Type Label
Low Priority low priority Low Priority
Medium Priority medium priority Medium Priority
High Priority high priority High Priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

🚧Update dotnet to latest version

Complete The Item Below

  • I have updated the title without removing the 🚧 emoji.

Description

Update dotnet and the lang to the latest versions.

The version as of the creation of this issue is v7.0

Update the cs proj file

  <PropertyGroup>
    <OutputType>Exe</OutputType>
-    <TargetFramework>net6.0</TargetFramework>
+    <TargetFramework>net7.0</TargetFramework>
-    <LangVersion>10.0</LangVersion>
+    <LangVersion>11.0</LangVersion>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
    <RootNamespace>GotNuget</RootNamespace>

    <!--Update this for production and preview releases-->
    <Version>0.1.0</Version>

    <!--Update this for production and preview releases-->
    <FileVersion>0.1.0</FileVersion>

    <Authors>Calvin Wilkinson</Authors>
    <Company>Kinson Digital</Company>
    <Product>GotNuget</Product>
    <Description>Custom GitHub action used to check if nuget.org contains a NuGet package of a particular version.</Description>
    <Copyright>Copyright ©2022 Kinson Digital</Copyright>
  </PropertyGroup>

Update the docker file:

Note This is located 👉🏼 ./Dockerfile

- # Set the base image as the .NET 6.0 SDK (this includes the runtime)
+ # Set the base image as the .NET 7.0 SDK (this includes the runtime)
- FROM mcr.microsoft.com/dotnet/sdk:6.0 as build-env
+ FROM mcr.microsoft.com/dotnet/sdk:7.0 as build-env

# Copy everything and publish the release (publish implicitly restores and builds)
COPY . ./
RUN dotnet publish ./GotNuget/GotNuget.csproj -c Release -o out --no-self-contained

# Label the container
LABEL maintainer="Calvin Wilkinson <[email protected]>"
LABEL repository="https://github.com/KinsonDigital/GotNuget"
LABEL homepage="https://github.com/KinsonDigital/GotNuget"

# Label as GitHub action
LABEL com.github.actions.name="Got Nuget"

# Relayer the .NET SDK, anew with the build output
- FROM mcr.microsoft.com/dotnet/sdk:6.0
+ FROM mcr.microsoft.com/dotnet/sdk:7.0
COPY --from=build-env /out .
ENTRYPOINT [ "dotnet", "/GotNuget.dll" ]

Acceptance Criteria

  • CS project file is updated
  • docker file is updated

ToDo Items

  • Change type labels added to this issue. Refer to the Change Type Labels section below.
  • Priority label added to this issue. Refer to the Priority Type Labels section below.
  • Issue linked to the correct project (if applicable).
  • Issue linked to the correct milestone (if applicable).
  • Draft pull request created and linked to this issue (only required with code changes).

Issue Dependencies

No response

Related Work

No response

Additional Information:

Change Type Labels

Change Type Label
Bug Fixes 🐛bug
Breaking Changes 🧨breaking changes
New Feature ✨new feature
Workflow Changes workflow
Code Doc Changes 🗒️documentation/code
Product Doc Changes 📝documentation/product

Priority Type Labels

Priority Type Label
Low Priority low priority
Medium Priority medium priority
High Priority high priority

Code of Conduct

  • I agree to follow this project's Code of Conduct.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.