diff --git a/.github/labeler.yml b/.github/labeler.yml new file mode 100644 index 000000000..2b3b4c4a7 --- /dev/null +++ b/.github/labeler.yml @@ -0,0 +1,33 @@ +# Add 'Documentation' label to any changes within 'docs' folder or any subfolders +documentation: +- changed-files: + - any-glob-to-any-file: docs/** + +# Add 'source' label to any change to src files within the source dir EXCEPT for the docs sub-folder +build-action: +- changed-files: + - any-glob-to-any-file: ['build/**', '.github/workflows/**'] +- head-branch: ['^build', 'build'] + +enhancement: +- changed-files: + - any-glob-to-any-file: ['src/**'] + +enhancement-classic: +- changed-files: + - any-glob-to-any-file: ['src/MigrationTools/_EngineV1/**', 'src/VstsSyncMigrator*/**'] + +enhancement-modern: +- changed-files: + - any-glob-to-any-file: ['src/**'] + - all-globs-to-all-files: ['!src/MigrationTools/_EngineV1/**', '!src/VstsSyncMigrator*/**'] + +# Add 'feature' label to any PR where the head branch name starts with `feature` or has a `feature` section in the name +feature: +- head-branch: ['^feature', 'feature', '^topic', 'topic'] + +# Add 'bug' label to any PR +bug: +- head-branch: ['^fix', 'fix','^bug', 'bug'] + + diff --git a/.github/release.yml b/.github/release.yml index dfc7dacf3..9d74c78da 100644 --- a/.github/release.yml +++ b/.github/release.yml @@ -7,7 +7,7 @@ changelog: - '*' exclude: labels: - - dependencies - - title: 👒 Dependencies + - architecture + - title: 👒 Architecture Improvements labels: - - dependencies + - architecture diff --git a/.github/workflows/code-review.yml b/.github/workflows/code-review.yml index 9bba61e62..57b2be78e 100644 --- a/.github/workflows/code-review.yml +++ b/.github/workflows/code-review.yml @@ -1,4 +1,4 @@ -name: Code Review +name: OpenAI - Code Review permissions: contents: read diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml new file mode 100644 index 000000000..f25102135 --- /dev/null +++ b/.github/workflows/labeler.yml @@ -0,0 +1,14 @@ +name: "Pull Request Labeler" +on: +- pull_request_target + +jobs: + labeler: + permissions: + contents: read + pull-requests: write + runs-on: ubuntu-latest + steps: + - uses: actions/labeler@v5 + with: + sync-labels: true \ No newline at end of file diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index eb71a8e9e..9205bf2f3 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -39,6 +39,7 @@ jobs: HasChanged_docs: ${{ steps.filter.outputs.docs }} HasChanged_automation: ${{ steps.filter.outputs.automation }} nkdAgility_Ring: ${{ steps.nkdagility.outputs.Ring }} + nkdAgility_WingetApplicationId: ${{ steps.nkdagility.outputs.WingetApplicationId }} nkdAgility_IsBuildEditBranch: ${{ steps.nkdagility.outputs.IsBuildEditBranch }} steps: - name: Checkout @@ -71,19 +72,25 @@ jobs: id: nkdagility run: | $Ring = "Canary" + $WingetApplicationId = "nkdagility.azure-devops-migration-tools" switch ($Env:GitVersion_PreReleaseLabel) { "" { $Ring = "Release"; + $WingetApplicationId = "nkdagility.azure-devops-migration-tools"; } "Preview" { $Ring = "Preview"; + $WingetApplicationId = "nkdagility.azure-devops-migration-tools.Preview"; } default { $Ring = "Canary"; + $WingetApplicationId = "nkdagility.azure-devops-migration-tools.Canary"; } } Write-Output "We are running for the $Ring Ring!" - echo "Ring=$Ring" >> $env:GITHUB_OUTPUT + Write-Output "We are focused on Winget ID $WingetApplicationId!" + echo "Ring=$Ring" >> $env:GITHUB_OUTPUT + echo "WingetApplicationId=$WingetApplicationId" >> $env:GITHUB_OUTPUT $IsBuildEditBranch = $false; if (("${{ github.ref_name }}").contains("build/")) { @@ -108,6 +115,7 @@ jobs: ### NKDAgility - nkdAgility_Ring: ${{needs.Setup.outputs.nkdAgility_Ring}} - nkdAgility_IsBuildEditBranch: ${{needs.Setup.outputs.nkdAgility_IsBuildEditBranch}} + - nkdAgility_WingetApplicationId: ${{needs.Setup.outputs.nkdAgility_WingetApplicationId}} ### GitVersion - GitVersion_BranchName: ${{needs.Setup.outputs.GitVersion_BranchName}} - GitVersion_SemVer: ${{needs.Setup.outputs.GitVersion_SemVer}} @@ -271,6 +279,7 @@ jobs: if ($Env:nkdAgility_Ring -ne 'Canary' && ($Env:HasChanged_src || $Env:HasChanged_docs )) { echo "discussion_category_name=Anouncement" >> $env:GITHUB_OUTPUT } + - name: Release uses: softprops/action-gh-release@v2 with: @@ -285,6 +294,18 @@ jobs: prerelease: ${{ needs.Setup.outputs.nkdAgility_Ring != 'Release' }} discussion_category_name: ${{ steps.release-options.outputs.discussion_category_name }} draft: ${{ needs.Setup.outputs.nkdAgility_Ring == 'Canary' }} + body: | + ## Azure DevOps Migration Tools v${{ needs.Setup.outputs.GitVersion_SemVer }} + Version: ${{ needs.Setup.outputs.GitVersion_SemVer }} + Ring: (${{ needs.Setup.outputs.nkdAgility_Ring }}) + + ## Get the tools + + - Download the [MigrationTools-${{ needs.Setup.outputs.GitVersion_SemVer }}.zip](https://github.com/nkdAgility/azure-devops-migration-tools/releases/download/v${{ needs.Setup.outputs.GitVersion_SemVer }}/MigrationTools-${{ needs.Setup.outputs.GitVersion_SemVer }}.zip) file below + - Install with Winget with `winget install ${{needs.Setup.outputs.nkdAgility_WingetApplicationId}} --version ${{ needs.Setup.outputs.GitVersion_SemVer }}` . There is a delay for aprovals on the winget store, so you may need to wait a few days before this is available. + - Install with Chocolatey with `choco install nkdagility.azure-devops-migration-tools --version ${{ needs.Setup.outputs.GitVersion_NuGetVersion }}`. There is a delay for aprovals on the chocolatey store, so you may need to wait a few hours before this is available. + + append_body: true # ElmahDeployment ElmahDeployemnt: diff --git a/.github/workflows/open-pr-describer.yml b/.github/workflows/open-pr-describer.yml index 5e5fa4e65..48c2fbc27 100644 --- a/.github/workflows/open-pr-describer.yml +++ b/.github/workflows/open-pr-describer.yml @@ -1,4 +1,4 @@ -name: OpenAI PR Description Generator +name: "OpenAI - PR Description Generator" on: pull_request: diff --git a/.github/workflows/opencommit.yml b/.github/workflows/opencommit.yml index 5d015abac..b16dd7535 100644 --- a/.github/workflows/opencommit.yml +++ b/.github/workflows/opencommit.yml @@ -1,4 +1,4 @@ -name: 'OpenCommit AI' +name: 'OpenAI - OpenCommit AI' permissions: contents: write