From a48c8627e88898ad3a960148557ef7834f52d9b4 Mon Sep 17 00:00:00 2001 From: Calvin Wilkinson <85414302+CalvinWilkinson@users.noreply.github.com> Date: Fri, 21 Jul 2023 16:39:29 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=A7Project=20and=20ci=20improvements?= =?UTF-8?q?=20(#112)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Start work for issue #111 * ci: rename workflows * ci: improve workflows * ide: simple ide improvements * docs: move images folder * docs: move release notes * ide: update tab settings * ci: update workflow command syntax & update reusable workflow versions --- .../workflows/add-new-issue-to-project.yml | 2 +- ...tatus-check.yml => build-status-check.yml} | 21 +++-- .github/workflows/prepare-release.yml | 81 ++++++++++++++++++ .github/workflows/prev-release.yml | 31 ------- .github/workflows/release.yml | 47 ++++++++++ .../workflows/sonar-scan-pr-status-check.yml | 10 ++- .github/workflows/sync-bot.yml | 17 ++-- .github/workflows/sync-issue-to-pr.yml | 20 ++--- .github/workflows/sync-status-check.yml | 12 +-- ...status-check.yml => test-status-check.yml} | 24 ++++-- .vscode/settings.json | 10 +-- .vscode/workflow.code-snippets | 49 +++++++++++ Carbonate.sln | 7 +- Carbonate/Carbonate.csproj | 2 +- .../Preview-Release-Notes-TEMPLATE.md | 36 -------- .../Production-Release-Notes-TEMPLATE.md | 27 ------ .../carbonate-logo-dark-mode.png | Bin .../carbonate-logo-light-mode.png | Bin README.md | 11 +-- .../Release-Notes-v1.0.0-preview.1.md | 0 .../Release-Notes-v1.0.0-preview.10.md | 0 .../Release-Notes-v1.0.0-preview.11.md | 0 .../Release-Notes-v1.0.0-preview.12.md | 0 .../Release-Notes-v1.0.0-preview.13.md | 0 .../Release-Notes-v1.0.0-preview.14.md | 0 .../Release-Notes-v1.0.0-preview.2.md | 0 .../Release-Notes-v1.0.0-preview.3.md | 0 .../Release-Notes-v1.0.0-preview.4.md | 0 .../Release-Notes-v1.0.0-preview.5.md | 0 .../Release-Notes-v1.0.0-preview.6.md | 0 .../Release-Notes-v1.0.0-preview.7.md | 0 .../Release-Notes-v1.0.0-preview.8.md | 0 .../Release-Notes-v1.0.0-preview.9.md | 0 renovate.json | 2 +- 34 files changed, 258 insertions(+), 151 deletions(-) rename .github/workflows/{build-pr-status-check.yml => build-status-check.yml} (58%) create mode 100644 .github/workflows/prepare-release.yml delete mode 100644 .github/workflows/prev-release.yml create mode 100644 .github/workflows/release.yml rename .github/workflows/{testing-pr-status-check.yml => test-status-check.yml} (50%) create mode 100644 .vscode/workflow.code-snippets delete mode 100644 Documentation/ReleaseNotes/Preview-Release-Notes-TEMPLATE.md delete mode 100644 Documentation/ReleaseNotes/Production-Release-Notes-TEMPLATE.md rename {Documentation/Images => Images}/carbonate-logo-dark-mode.png (100%) rename {Documentation/Images => Images}/carbonate-logo-light-mode.png (100%) rename {Documentation/ReleaseNotes => ReleaseNotes}/PreviewReleases/Release-Notes-v1.0.0-preview.1.md (100%) rename {Documentation/ReleaseNotes => ReleaseNotes}/PreviewReleases/Release-Notes-v1.0.0-preview.10.md (100%) rename {Documentation/ReleaseNotes => ReleaseNotes}/PreviewReleases/Release-Notes-v1.0.0-preview.11.md (100%) rename {Documentation/ReleaseNotes => ReleaseNotes}/PreviewReleases/Release-Notes-v1.0.0-preview.12.md (100%) rename {Documentation/ReleaseNotes => ReleaseNotes}/PreviewReleases/Release-Notes-v1.0.0-preview.13.md (100%) rename {Documentation/ReleaseNotes => ReleaseNotes}/PreviewReleases/Release-Notes-v1.0.0-preview.14.md (100%) rename {Documentation/ReleaseNotes => ReleaseNotes}/PreviewReleases/Release-Notes-v1.0.0-preview.2.md (100%) rename {Documentation/ReleaseNotes => ReleaseNotes}/PreviewReleases/Release-Notes-v1.0.0-preview.3.md (100%) rename {Documentation/ReleaseNotes => ReleaseNotes}/PreviewReleases/Release-Notes-v1.0.0-preview.4.md (100%) rename {Documentation/ReleaseNotes => ReleaseNotes}/PreviewReleases/Release-Notes-v1.0.0-preview.5.md (100%) rename {Documentation/ReleaseNotes => ReleaseNotes}/PreviewReleases/Release-Notes-v1.0.0-preview.6.md (100%) rename {Documentation/ReleaseNotes => ReleaseNotes}/PreviewReleases/Release-Notes-v1.0.0-preview.7.md (100%) rename {Documentation/ReleaseNotes => ReleaseNotes}/PreviewReleases/Release-Notes-v1.0.0-preview.8.md (100%) rename {Documentation/ReleaseNotes => ReleaseNotes}/PreviewReleases/Release-Notes-v1.0.0-preview.9.md (100%) diff --git a/.github/workflows/add-new-issue-to-project.yml b/.github/workflows/add-new-issue-to-project.yml index 59adce2..505762a 100644 --- a/.github/workflows/add-new-issue-to-project.yml +++ b/.github/workflows/add-new-issue-to-project.yml @@ -9,7 +9,7 @@ on: jobs: add_new_issue_to_project: name: Add New Issue - uses: KinsonDigital/Infrastructure/.github/workflows/add-issue-to-project.yml@v9.1.0 + uses: KinsonDigital/Infrastructure/.github/workflows/add-issue-to-project.yml@v10.0.1 with: org-name: "${{ vars.ORGANIZATION_NAME }}" org-project-name: "${{ vars.ORG_PROJECT_NAME }}" diff --git a/.github/workflows/build-pr-status-check.yml b/.github/workflows/build-status-check.yml similarity index 58% rename from .github/workflows/build-pr-status-check.yml rename to .github/workflows/build-status-check.yml index 17e8a4f..be0d8df 100644 --- a/.github/workflows/build-pr-status-check.yml +++ b/.github/workflows/build-status-check.yml @@ -1,5 +1,5 @@ name: ✅Build Status Check -run-name: ✅Build Status Check ${{ github.base_ref == 'main' && '(Release Build)' || '(Debug Build)' }} +run-name: ✅Build Status Check (${{ github.base_ref }} branch) defaults: @@ -8,15 +8,14 @@ defaults: on: - workflow_dispatch: pull_request: branches: [main, preview] jobs: main_build_status_check: - name: ${{ vars.PROJECT_NAME }} Build Status Check - uses: KinsonDigital/Infrastructure/.github/workflows/build-csharp-project.yml@v9.1.0 + name: Build ${{ vars.PROJECT_NAME }} + uses: KinsonDigital/Infrastructure/.github/workflows/build-csharp-project.yml@v10.0.1 with: project-name: "${{ vars.PROJECT_NAME }}" build-config: Debug @@ -24,9 +23,19 @@ jobs: perf_build_status_check: - name: ${{ vars.PROJECT_NAME }} Perf Tests Build Status Check - uses: KinsonDigital/Infrastructure/.github/workflows/build-csharp-project.yml@v9.1.0 + name: Build ${{ vars.PROJECT_NAME }}PerfTests + uses: KinsonDigital/Infrastructure/.github/workflows/build-csharp-project.yml@v10.0.1 with: project-name: "${{ vars.PROJECT_NAME }}PerfTests" build-config: Debug net-sdk-version: "${{ vars.NET_SDK_VERSION }}" + + + build_status_check: + name: ${{ vars.PROJECT_NAME }} Build Status Check + needs: [main_build_status_check, perf_build_status_check] + runs-on: ubuntu-latest + steps: + - name: Print Status Check Pass Message + shell: pwsh + run: Write-Host "::notice::✅Test Status Check Passed✅"; diff --git a/.github/workflows/prepare-release.yml b/.github/workflows/prepare-release.yml new file mode 100644 index 0000000..89876a5 --- /dev/null +++ b/.github/workflows/prepare-release.yml @@ -0,0 +1,81 @@ +name: 🚁Prepare Release + + +defaults: + run: + shell: pwsh + + +on: + workflow_dispatch: + inputs: + release-type: + description: The type of release. Choose 'Preview' or 'Production'. + required: true + type: choice + options: [Preview, Production] + release-version: + required: true + description: The version of the release to prepare. + type: string + + +jobs: + print_validate_workflow: + name: Ptin & Validate Prepare Release Workflow + runs-on: ubuntu-latest + steps: + - name: Print Environment Variables + run: Get-ChildItem -Path Env:* | Sort-Object Name + + - name: Validate Workflow Inputs + run: | + $releaseType = "${{ inputs.release-type }}".ToLower(); + + if (""${{ vars.PROJECT_NAME }}".Trim().ToLower() -eq "") { + Write-Host "::error::The 'PROJECT_NAME' org or repo variable be empty."; + exit 1; + } + + + if ($releaseType -eq "") { + Write-Host "::error::The 'release-type' workflow input cannot be empty."; + exit 1; + } + + + if ($releaseType -ne 'preview' -and $releaseType -ne 'roduction') { + Write-Host "::error::The release type input must be either 'Preview' or 'Production'."; + exit 1; + } + + $releaseVersion = "${{ inputs.release-version }}".Trim().ToLower(); + + if ($releaseVersion -eq "") { + Write-Host "::error::The release version input cannot be empty."; + exit 1; + } + + + $prodVersionRegex = "v[0-9]+\.[0-9]+\.[0-9]+"; + $prevVersionRegex = "v[0-9]+\.[0-9]+\.[0-9]+-preview\.[0-9]+"; + + # Verify that the version has valid syntax + if (($releaseVersion -match $prodVersionRegex) -or ($releaseVersion -match $prevVersionRegex)) { + Write-Host "::notice::The 'release-version' workflow input is valid."; + } else { + $versionSyntax = $releaseType == "production" ? "v#.#.#" : "v#.#.#-preview.#"; + Write-Host "::error::The 'release-version' workflow input is not valid. Expected format: '$versionSyntax"; + exit 1; + } + + + prepare_release: + name: Prepare ${{ inputs.release-type }} Release Of ${{ vars.PROJECT_NAME }} + uses: KinsonDigital/Infrastructure/.github/workflows/prepare-release.yml@v10.0.1 + with: + project-name: ${{ vars.PROJECT_NAME }} + release-type: ${{ inputs.release-type }} + release-version: ${{ inputs.release-version }} + secrets: + cicd-pat: ${{ secrets.CICD_TOKEN }} diff --git a/.github/workflows/prev-release.yml b/.github/workflows/prev-release.yml deleted file mode 100644 index 8c58a66..0000000 --- a/.github/workflows/prev-release.yml +++ /dev/null @@ -1,31 +0,0 @@ -name: 🚀Preview Release - - -defaults: - run: - shell: pwsh - - -on: - workflow_dispatch: - - -jobs: - preview_release: - name: Preview Release - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - - name: Restore DotNet Tools - run: dotnet tool restore - - - name: Run Preview Release - run: dotnet cicd PreviewRelease --skip-twitter-announcement - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - NugetOrgApiKey: ${{ secrets.NUGET_ORG_API_KEY }} - TwitterConsumerApiKey: ${{ secrets.TWITTER_CONSUMER_API_KEY }} - TwitterConsumerApiSecret: ${{ secrets.TWITTER_CONSUMER_API_SECRET }} - TwitterAccessToken: ${{ secrets.TWITTER_ACCESS_TOKEN }} - TwitterAccessTokenSecret: ${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..1b0fdd5 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,47 @@ +name: 🚀Release +run-name: ${{ vars.PROJECT_NAME }} ${{ inputs.release-type }} Release ${{ inputs.dry-run == true && '(Dry Run)' || '' }} + + +defaults: + run: + shell: pwsh + + +on: + workflow_dispatch: + inputs: + release-type: + description: The type of release. Choose 'Preview' or 'Production'. + required: true + type: choice + options: [Preview, Production] + dry-run: + description: Check to run the workflow without creating a release. + required: false + default: false + type: boolean + + +jobs: + run_release: + name: Performing ${{ inputs.release-type }} Release of ${{ vars.PROJECT_NAME }} (${{ inputs.release-type == 'Production' && 'Release' || 'Debug' }}) + uses: KinsonDigital/Infrastructure/.github/workflows/dotnet-lib-release.yml@v10.0.1 + with: + project-name: "${{ vars.PROJECT_NAME}}" + release-type: "${{ inputs.release-type }}" + run-branch: "${{ github.ref_name }}" + net-sdk-version: "${{ vars.NET_SDK_VERSION }}" + relative-release-notes-dir-path: "${{ vars.RELATIVE_RELEASE_NOTES_DIR_PATH }}" + release-notes-file-name-prefix: "${{ vars.RELEASE_NOTES_FILE_NAME_PREFIX }}" + build-config: ${{ inputs.release-type == 'Production' && 'Release' || 'Debug' }} + pr-include-notes-label: "${{ vars.PR_INCLUDE_NOTES_LABEL }}" + send-release-tweet: ${{ vars.TWITTER_BROADCAST_ENABLED == 'true' }} + dry-run: ${{ inputs.dry-run }} + transpile-readme: true + secrets: + cicd-pat: "${{ secrets.CICD_TOKEN }}" + nuget-org-api-key: "${{ secrets.NUGET_ORG_API_KEY }}" + twitter-consumer-api-key: "${{ secrets.TWITTER_CONSUMER_API_KEY }}" + twitter-consumer-api-secret: "${{ secrets.TWITTER_CONSUMER_API_SECRET }}" + twitter-access-token: "${{ secrets.TWITTER_ACCESS_TOKEN }}" + twitter-access-token-secret: "${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }}" diff --git a/.github/workflows/sonar-scan-pr-status-check.yml b/.github/workflows/sonar-scan-pr-status-check.yml index 3368f6d..26a8172 100644 --- a/.github/workflows/sonar-scan-pr-status-check.yml +++ b/.github/workflows/sonar-scan-pr-status-check.yml @@ -58,9 +58,11 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} run: | - ./.sonar/scanner/dotnet-sonarscanner begin /k:"KinsonDigital_Carbonate" /o:"kinsondigital" /d:sonar.login="${{ secrets.SONAR_TOKEN }}" /d:sonar.host.url="https://sonarcloud.io" + $orgNameLower = "${{ vars.ORGANIZATION_NAME }}".ToLower(); - dotnet clean "${{ github.workspace }}/Carbonate/Carbonate.csproj"; - dotnet build "${{ github.workspace }}/Carbonate/Carbonate.csproj" -c Debug; + ./.sonar/scanner/dotnet-sonarscanner begin -k:"${{ vars.ORGANIZATION_NAME }}_${{ vars.PROJECT_NAME }}" -o:"$orgNameLower" -d:sonar.login="${{ secrets.SONAR_TOKEN }}" -d:sonar.host.url="https://sonarcloud.io" - ./.sonar/scanner/dotnet-sonarscanner end /d:sonar.login="${{ secrets.SONAR_TOKEN }}" + dotnet clean "${{ github.workspace }}/${{ vars.PROJECT_NAME }}/${{ vars.PROJECT_NAME }}.csproj"; + dotnet build "${{ github.workspace }}/${{ vars.PROJECT_NAME }}/${{ vars.PROJECT_NAME }}.csproj" -c Debug; + + ./.sonar/scanner/dotnet-sonarscanner end -d:sonar.login="${{ secrets.SONAR_TOKEN }}" diff --git a/.github/workflows/sync-bot.yml b/.github/workflows/sync-bot.yml index 760d998..e95e0b9 100644 --- a/.github/workflows/sync-bot.yml +++ b/.github/workflows/sync-bot.yml @@ -13,16 +13,18 @@ on: jobs: sync_bot: - name: Sync Bot + name: Sync Bot Status Check if: ${{ !github.event.issue.pull_request }} runs-on: ubuntu-latest steps: - name: Set Up Deno + if: startsWith(github.ref_name, 'feature/') uses: denoland/setup-deno@v1 with: deno-version: v1.x - name: Run Sync Bot (Issue Change) + if: startsWith(github.ref_name, 'feature/') run: | $scriptUrl = "${{ vars.SCRIPT_BASE_URL }}/${{ vars.CICD_SCRIPTS_VERSION }}/${{ vars.SCRIPT_RELATIVE_DIR_PATH}}/sync-bot-status-check.ts"; @@ -32,15 +34,16 @@ jobs: Write-Host "::notice::Issue: $issueNumber"; if ($manuallyExecuted -and $issueNumber -eq "0") { - Write-Host "::error::The issue or PR number must be a value greater than 0."; + Write-Host "::notice::The issue or PR number must be a value greater than 0."; exit 1; } <# Deno Args: - 1. Project name - 2. Issue number - 3. Event type - set to issue event type - 4. PAT + 1. Organization name + 2. Project name + 3. Issue number + 4. Event Type - set to issue event type + 5. PAT #> deno run ` --allow-net ` @@ -48,4 +51,4 @@ jobs: "${{ vars.PROJECT_NAME }}" ` "$issueNumber" ` "issue" ` - "cicd-pat: ${{ secrets.CICD_TOKEN }}"; + "${{ secrets.CICD_TOKEN }}"; diff --git a/.github/workflows/sync-issue-to-pr.yml b/.github/workflows/sync-issue-to-pr.yml index eaa148f..dc2ace5 100644 --- a/.github/workflows/sync-issue-to-pr.yml +++ b/.github/workflows/sync-issue-to-pr.yml @@ -17,7 +17,7 @@ jobs: sync_issue_to_pr: name: Start Sync Process if: | - github.event_name == 'issue_comment' || + (github.event_name == 'issue_comment' && contains(github.event.comment.body, '[run-sync]')) || github.event_name == 'pull_request' && startsWith(github.head_ref, 'feature/') runs-on: ubuntu-latest steps: @@ -30,23 +30,20 @@ jobs: run: | $eventName = "${{ github.event_name }}"; $scriptUrl = "${{ vars.SCRIPT_BASE_URL }}/${{ vars.CICD_SCRIPTS_VERSION }}/${{ vars.SCRIPT_RELATIVE_DIR_PATH }}/sync-issue-to-pr.ts"; - $prNumber = $eventName -eq "pull_request" ? "${{ github.event.number }}" : "${{ github.event.issue.number }}"; - $command = $eventName -eq "issue_comment" ? "${{ github.event.comment.body }}" : "[initial-sync]"; + $issueOrPrNumber = $eventName -eq "pull_request" ? "${{ github.event.number }}" : "${{ github.event.issue.number }}"; - Write-Host "::notice::Event Name: $eventName"; + Write-Host "::notice::Event Type: $eventName"; Write-Host "::notice::Organization Name: ${{ vars.ORGANIZATION_NAME }}"; Write-Host "::notice::Project Name: ${{ vars.PROJECT_NAME }}"; Write-Host "::notice::Requested By: ${{ github.event.sender.login }}"; - Write-Host "::notice::PR Number: $prNumber"; - Write-Host "::notice::Comment: $command"; + Write-Host "::notice::PR Number: $issueOrPrNumber"; <# Deno Args: 1. Organization name 2. Project name - 3. Login name of the user making the issue change - 4. Pull request number - 5. The sync command - Either '[initial-sync]' or '[run-sync]' - 6. PAT + 3. Triggered by user + 4. Issue or pull request number + 5. PAT #> deno run ` --allow-net ` @@ -54,6 +51,5 @@ jobs: "${{ vars.ORGANIZATION_NAME }}" ` "${{ vars.PROJECT_NAME }}" ` "${{ github.event.sender.login }}" ` - "$prNumber" ` - "$command" ` + "$issueOrPrNumber" ` "${{ secrets.CICD_TOKEN }}"; diff --git a/.github/workflows/sync-status-check.yml b/.github/workflows/sync-status-check.yml index ac452db..e1e85c7 100644 --- a/.github/workflows/sync-status-check.yml +++ b/.github/workflows/sync-status-check.yml @@ -32,19 +32,21 @@ jobs: Write-Host "::notice::Event Type: pr"; if ($manuallyExecuted -and $prNumber -eq "0") { - Write-Host "::error::The issue or PR number must be a value greater than 0."; + Write-Host "::notice::The issue or PR number must be a value greater than 0."; exit 1; } <# Deno Args: - 1. Project Name - 2. Pull request number - 3. Event Type - set to pull request event type - 4. PAT + 1. Organization name + 2. Project name + 3. Pull request number + 4. Event Type - set to pull request event type + 5. PAT #> deno run ` --allow-net ` "$scriptUrl" ` + "${{ vars.ORGANIZATION_NAME }}" ` "${{ vars.PROJECT_NAME }}" ` "$prNumber" ` "pr" ` diff --git a/.github/workflows/testing-pr-status-check.yml b/.github/workflows/test-status-check.yml similarity index 50% rename from .github/workflows/testing-pr-status-check.yml rename to .github/workflows/test-status-check.yml index 94d31f1..f080671 100644 --- a/.github/workflows/testing-pr-status-check.yml +++ b/.github/workflows/test-status-check.yml @@ -1,5 +1,5 @@ name: ✅Testing Status Check -run-name: ✅Testing Status Check ${{ github.base_ref == 'main' && '(Release Build)' || '(Debug Build)' }} +run-name: ✅Unit Testing Status Check (${{ github.base_ref }} branch) defaults: @@ -13,19 +13,29 @@ on: jobs: - run_unit_tests: - name: ${{ vars.PROJECT_NAME }} Unit Tests Status Check - uses: KinsonDigital/Infrastructure/.github/workflows/run-csharp-tests.yml@v9.1.0 + main_tests: + name: Run ${{ vars.PROJECT_NAME }} Tests + uses: KinsonDigital/Infrastructure/.github/workflows/run-csharp-tests.yml@v10.0.1 with: project-name: "${{ vars.PROJECT_NAME }}Tests" build-config: Debug net-sdk-version: "${{ vars.NET_SDK_VERSION }}" - run_integration_tests: - name: ${{ vars.PROJECT_NAME }} Integration Tests Status Check - uses: KinsonDigital/Infrastructure/.github/workflows/run-csharp-tests.yml@v9.1.0 + integration_tests: + name: Run ${{ vars.PROJECT_NAME }} Integration Tests + uses: KinsonDigital/Infrastructure/.github/workflows/run-csharp-tests.yml@v10.0.1 with: project-name: "${{ vars.PROJECT_NAME }}IntegrationTests" build-config: Debug net-sdk-version: "${{ vars.NET_SDK_VERSION }}" + + + test_status_check: + name: ${{ vars.PROJECT_NAME }} Test Status Check + needs: [main_tests, integration_tests] + runs-on: ubuntu-latest + steps: + - name: Print Status Check Pass Message + shell: pwsh + run: Write-Host "::notice::✅Test Status Check Passed✅"; diff --git a/.vscode/settings.json b/.vscode/settings.json index c900237..2323911 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -11,17 +11,17 @@ "unsubscriptions" ], "dotnet.defaultSolution": "Carbonate.sln", - "[typescript]": { - "editor.insertSpaces": false, - "editor.tabSize": 4, + "[csharp]": { + "editor.insertSpaces": true, + "editor.indentSize": 4, }, "[yaml]": { "editor.insertSpaces": true, - "editor.tabSize": 2, + "editor.indentSize": 2, }, "[jsonc]": { "editor.insertSpaces": false, - "editor.tabSize": 4, + "editor.indentSize": 4, }, "editor.detectIndentation": false, "[github-actions-workflow]": { diff --git a/.vscode/workflow.code-snippets b/.vscode/workflow.code-snippets new file mode 100644 index 0000000..a2dcf3f --- /dev/null +++ b/.vscode/workflow.code-snippets @@ -0,0 +1,49 @@ +{ + // Place your Release Notes workspace snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and + // description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope + // is left empty or omitted, the snippet gets applied to all languages. The prefix is what is + // used to trigger the snippet and the body will be expanded and inserted. Possible variables are: + // $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. + // Placeholders with the same ids are connected. + // Example: + // "Print to console": { + // "scope": "javascript,typescript", + // "prefix": "log", + // "body": [ + // "console.log('$1');", + // "$2" + // ], + // "description": "Log output to console" + // } + + "Workflow Job": { + "prefix": "workflow-job", + "body": [ + "${1: job id}:", + "\tname: ${2: display}", + "\truns-on: ${3|macos-10.15,macos-11,macos-12,macos-latest,self-hosted,ubuntu-18.04,ubuntu-20.04,ubuntu-22.04,ubuntu-latest,windows-2019,windows-2022,windows-latest|}", + "\tsteps:", + "\t\t- name: ${4: step name}", + "\t\t\trun: $5" + ], + "description": "Workflow Job" + }, + "Set Up Deno Step": { + "prefix": "step-setup-deno", + "body": [ + "- name: ${1:Set Up Deno}", + "\tuses: denoland/setup-deno@${2:v1}", + "\twith:", + "\t\tdeno-version: ${3:v1.x}", + ], + "description": "Installs deno" + }, + "Checkout Repo": { + "prefix": "repo-checkout", + "body": [ + "- name: ${1: Checkout Repo}", + "\tuses: actions/checkout@${2: v3}" + ], + "description": "Checks out the repository" + }, +} diff --git a/Carbonate.sln b/Carbonate.sln index 24cc5b1..20595ca 100644 --- a/Carbonate.sln +++ b/Carbonate.sln @@ -24,13 +24,14 @@ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Workflows", "Workflows", "{8518113E-D0C3-4E63-8F2E-542EB6D1CCE9}" ProjectSection(SolutionItems) = preProject .github\workflows\add-new-issue-to-project.yml = .github\workflows\add-new-issue-to-project.yml - .github\workflows\build-pr-status-check.yml = .github\workflows\build-pr-status-check.yml - .github\workflows\prev-release.yml = .github\workflows\prev-release.yml + .github\workflows\build-status-check.yml = .github\workflows\build-status-check.yml + .github\workflows\prepare-release.yml = .github\workflows\prepare-release.yml + .github\workflows\release.yml = .github\workflows\release.yml .github\workflows\sonar-scan-pr-status-check.yml = .github\workflows\sonar-scan-pr-status-check.yml .github\workflows\sync-bot.yml = .github\workflows\sync-bot.yml .github\workflows\sync-issue-to-pr.yml = .github\workflows\sync-issue-to-pr.yml .github\workflows\sync-status-check.yml = .github\workflows\sync-status-check.yml - .github\workflows\testing-pr-status-check.yml = .github\workflows\testing-pr-status-check.yml + .github\workflows\test-status-check.yml = .github\workflows\test-status-check.yml EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CarbonateIntegrationTests", "Testing\CarbonateIntegrationTests\CarbonateIntegrationTests.csproj", "{388E7191-CE3A-492C-9A19-AE67A659E466}" diff --git a/Carbonate/Carbonate.csproj b/Carbonate/Carbonate.csproj index 0d15109..5053cbd 100644 --- a/Carbonate/Carbonate.csproj +++ b/Carbonate/Carbonate.csproj @@ -47,7 +47,7 @@ - + diff --git a/Documentation/ReleaseNotes/Preview-Release-Notes-TEMPLATE.md b/Documentation/ReleaseNotes/Preview-Release-Notes-TEMPLATE.md deleted file mode 100644 index 929819e..0000000 --- a/Documentation/ReleaseNotes/Preview-Release-Notes-TEMPLATE.md +++ /dev/null @@ -1,36 +0,0 @@ -

- Carbonate Preview Release Notes - [add-prev-release-here] -

- -

Quick Reminder

- -
- -As with all software, there is always a chance for issues and bugs, especially for preview releases, which is why your input is greatly appreciated. 🙏🏼 -
- ---- - -

New Features ✨

- ---- - -

Bug Fixes 🐛

- ---- - -

Breaking Changes 🧨

- ---- - -

Internal Changes ⚙️

-
(Changes that do not affect users. Not breaking changes, new features, or bug fixes.)
- ---- - -

Nuget/Library Updates 📦

- ---- - -

Other 🪧

-
(Includes anything that does not fit into the categories above)
diff --git a/Documentation/ReleaseNotes/Production-Release-Notes-TEMPLATE.md b/Documentation/ReleaseNotes/Production-Release-Notes-TEMPLATE.md deleted file mode 100644 index ab34316..0000000 --- a/Documentation/ReleaseNotes/Production-Release-Notes-TEMPLATE.md +++ /dev/null @@ -1,27 +0,0 @@ -

- Carbonate Production Release Notes - [add-prod-release-here] -

- -

New Features✨

- ---- - -

Bug Fixes 🐛

- ---- - -

Breaking Changes 🧨

- ---- - -

Internal Changes ⚙️

-
(Changes that do not affect users. Not breaking changes, new features, or bug fixes.)
- ---- - -

Nuget/Library Updates 📦

- ---- - -

Other 🪧

-
(Includes anything that does not fit into the categories above)
diff --git a/Documentation/Images/carbonate-logo-dark-mode.png b/Images/carbonate-logo-dark-mode.png similarity index 100% rename from Documentation/Images/carbonate-logo-dark-mode.png rename to Images/carbonate-logo-dark-mode.png diff --git a/Documentation/Images/carbonate-logo-light-mode.png b/Images/carbonate-logo-light-mode.png similarity index 100% rename from Documentation/Images/carbonate-logo-light-mode.png rename to Images/carbonate-logo-light-mode.png diff --git a/README.md b/README.md index a203448..9fcc6bc 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,16 @@
-![logo](./Documentation/Images/carbonate-logo-light-mode.png#gh-light-mode-only) -![logo](./Documentation/Images/carbonate-logo-dark-mode.png#gh-dark-mode-only) +![logo](https://raw.githubusercontent.com/KinsonDigital/Carbonate/preview/Images/carbonate-logo-light-mode.png#gh-light-mode-only) +![logo](https://raw.githubusercontent.com/KinsonDigital/Carbonate/preview/Images/carbonate-logo-dark-mode.png#gh-dark-mode-only)

Carbonate

-[![Prod Release PR Status Check](https://img.shields.io/github/actions/workflow/status/KinsonDigital/Carbonate/prod-release-pr-status-check.yml?color=2F8840&label=Prod%20CI%20Build&logo=GitHub)](https://github.com/KinsonDigital/Carbonate/actions/workflows/prod-release-pr-status-check.yml) -[![Prev Release PR Status Check](https://img.shields.io/github/actions/workflow/status/KinsonDigital/Carbonate/prev-release-pr-status-check.yml?color=2F8840&label=Preview%20CI%20Build&logo=GitHub)](https://github.com/KinsonDigital/Carbonate/actions/workflows/prev-release-pr-status-check.yml) +[![Build PR Status Check](https://img.shields.io/github/actions/workflow/status/KinsonDigital/Carbonate/build-status-check.yml?label=%E2%9A%99%EF%B8%8FBuild)](https://github.com/KinsonDigital/Carbonate/actions/workflows/build-status-check.yml) +[![Test PR Status Check](https://img.shields.io/github/actions/workflow/status/KinsonDigital/Carbonate/unit-test-status-check.yml?label=%F0%9F%A7%AATests)](https://github.com/KinsonDigital/Carbonate/actions/workflows/test-status-check.yml) + [![Code Coverage](https://img.shields.io/codecov/c/github/KinsonDigital/Carbonate/preview?label=Code%20Coverage&logo=CodeCov&style=flat)](https://app.codecov.io/gh/KinsonDigital/Carbonate) [![Latest NuGet Release](https://img.shields.io/nuget/vpre/kinsondigital.Carbonate?label=Latest%20Release&logo=nuget)](https://www.nuget.org/packages/KinsonDigital.Carbonate) @@ -43,7 +44,7 @@ Interested in contributing? If so, click [here](https://github.com/KinsonDigital [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg?style=flat)](https://github.com/KinsonDigital/.github/blob/master/docs/code_of_conduct.md) -[![GitHub](https://img.shields.io/github/license/kinsondigital/CASL)](https://github.com/KinsonDigital/Carbonate/blob/release/v1.0.0/LICENSE.md) +[![GitHub](https://img.shields.io/github/license/kinsondigital/Carbonate)](https://github.com/KinsonDigital/Carbonate/blob/preview/v1.0.0/LICENSE.md)
diff --git a/Documentation/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.1.md b/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.1.md similarity index 100% rename from Documentation/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.1.md rename to ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.1.md diff --git a/Documentation/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.10.md b/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.10.md similarity index 100% rename from Documentation/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.10.md rename to ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.10.md diff --git a/Documentation/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.11.md b/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.11.md similarity index 100% rename from Documentation/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.11.md rename to ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.11.md diff --git a/Documentation/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.12.md b/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.12.md similarity index 100% rename from Documentation/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.12.md rename to ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.12.md diff --git a/Documentation/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.13.md b/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.13.md similarity index 100% rename from Documentation/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.13.md rename to ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.13.md diff --git a/Documentation/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.14.md b/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.14.md similarity index 100% rename from Documentation/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.14.md rename to ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.14.md diff --git a/Documentation/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.2.md b/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.2.md similarity index 100% rename from Documentation/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.2.md rename to ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.2.md diff --git a/Documentation/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.3.md b/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.3.md similarity index 100% rename from Documentation/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.3.md rename to ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.3.md diff --git a/Documentation/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.4.md b/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.4.md similarity index 100% rename from Documentation/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.4.md rename to ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.4.md diff --git a/Documentation/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.5.md b/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.5.md similarity index 100% rename from Documentation/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.5.md rename to ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.5.md diff --git a/Documentation/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.6.md b/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.6.md similarity index 100% rename from Documentation/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.6.md rename to ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.6.md diff --git a/Documentation/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.7.md b/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.7.md similarity index 100% rename from Documentation/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.7.md rename to ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.7.md diff --git a/Documentation/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.8.md b/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.8.md similarity index 100% rename from Documentation/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.8.md rename to ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.8.md diff --git a/Documentation/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.9.md b/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.9.md similarity index 100% rename from Documentation/ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.9.md rename to ReleaseNotes/PreviewReleases/Release-Notes-v1.0.0-preview.9.md diff --git a/renovate.json b/renovate.json index 24eda6e..546c576 100644 --- a/renovate.json +++ b/renovate.json @@ -1,5 +1,5 @@ { "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": ["github>KinsonDigital/.github//config/renovate-config.json"], - "baseBranches": ["release/v1.0.0"] + "baseBranches": ["preview"] }