diff --git a/.github/workflows/check-milestone.yml b/.github/workflows/check-milestone.yml new file mode 100644 index 0000000000..da4681fd7b --- /dev/null +++ b/.github/workflows/check-milestone.yml @@ -0,0 +1,24 @@ +name: Check Milestone + +on: + pull_request: + types: [opened, edited, synchronize, milestoned, demilestoned] + +jobs: + check-milestone: + name: Validate milestone + runs-on: ubuntu-latest + permissions: + pull-requests: read + steps: + - name: Check milestone is set + if: github.event.pull_request.milestone == null + run: | + echo "::error::This PR does not have a milestone set. Please assign a milestone before merging." + exit 1 + + - name: Check milestone is open + if: github.event.pull_request.milestone != null && github.event.pull_request.milestone.state != 'open' + run: | + echo "::error::Milestone '${{ github.event.pull_request.milestone.title }}' is ${{ github.event.pull_request.milestone.state }}. Please assign an open milestone." + exit 1 diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 64584746df..b7d328547e 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -12,21 +12,12 @@ name: "CodeQL Advanced" on: - # Scan on pushes to main only. push: - branches: - - main - - # Scan on PRs that target matching branches. + branches: [ "release/7.0" ] pull_request: - branches: - - main - - feat/** - - dev/** - - # Scan weekly on Saturdays at 23:33 UTC + branches: [ "release/7.0" ] schedule: - - cron: '33 23 * * 6' + - cron: '15 23 * * 6' jobs: analyze: diff --git a/eng/dashboards/ado.net-pipelines-ci-builds-by-branch.md b/eng/dashboards/ado.net-pipelines-ci-builds-by-branch.md index 03a32d4e78..ef6ed4a268 100644 --- a/eng/dashboards/ado.net-pipelines-ci-builds-by-branch.md +++ b/eng/dashboards/ado.net-pipelines-ci-builds-by-branch.md @@ -13,6 +13,8 @@ The branches listed below indicate the repo branch used for the triggered runs. |-|-|-|-|-|-|-| |MDS Main CI|[internal/main](https://sqlclientdrivers.visualstudio.com/ADO.Net/_git/dotnet-sqlclient)|Release|No|Yes|Weekdays 01:00 UTC|YAML| |MDS Main CI-Package|[internal/main](https://sqlclientdrivers.visualstudio.com/ADO.Net/_git/dotnet-sqlclient)|Release|No|Yes|Weekdays 01:00 UTC|YAML| +|MDS Main CI|[internal/release/7.0](https://sqlclientdrivers.visualstudio.com/ADO.Net/_git/dotnet-sqlclient?path=%2F&version=GBinternal%2Frelease%2F7.0&_a=contents)|Release|No|Yes|Sunday 06:00 UTC|YAML| +|MDS Main CI-Package|[internal/release/7.0](https://sqlclientdrivers.visualstudio.com/ADO.Net/_git/dotnet-sqlclient?path=%2F&version=GBinternal%2Frelease%2F7.0&_a=contents)|Release|No|Yes|Sunday 06:30 UTC|YAML| |MDS Main CI|[internal/release/6.1](https://sqlclientdrivers.visualstudio.com/ADO.Net/_git/dotnet-sqlclient?path=%2F&version=GBinternal%2Frelease%2F6.1&_a=contents)|Release|No|Yes|Weekdays 01:00 UTC|YAML| |MDS Main CI-Package|[internal/release/6.1](https://sqlclientdrivers.visualstudio.com/ADO.Net/_git/dotnet-sqlclient?path=%2F&version=GBinternal%2Frelease%2F6.1&_a=contents)|Release|No|Yes|Weekdays 01:00 UTC|YAML| |MDS Main CI|[internal/release/6.0](https://sqlclientdrivers.visualstudio.com/ADO.Net/_git/dotnet-sqlclient?path=%2F&version=GBinternal%2Frelease%2F6.0&_a=contents)|Release|No|Yes|Weekdays 01:00 UTC|YAML| diff --git a/eng/dashboards/public-pipelines-ci-builds-by-branch.md b/eng/dashboards/public-pipelines-ci-builds-by-branch.md index ab6f3eb4e4..8dfad35070 100644 --- a/eng/dashboards/public-pipelines-ci-builds-by-branch.md +++ b/eng/dashboards/public-pipelines-ci-builds-by-branch.md @@ -16,6 +16,8 @@ PR pipelines run on the topic branch associated to the PR. |PR-SqlClient-Package|N/A|Debug|Yes|No|None|YAML| |CI-SqlClient|[main](https://github.com/dotnet/SqlClient)|Release|No|Yes|Weekdays 01:00 UTC|YAML| |CI-SqlClient-Package|[main](https://github.com/dotnet/SqlClient)|Release|No|Yes|Weekdays 03:00 UTC|YAML| +|CI-SqlClient|[release/7.0](https://github.com/dotnet/SqlClient/tree/release/7.0)|Release|No|Yes|Sunday 05:00 UTC|YAML| +|CI-SqlClient-Package|[release/7.0](https://github.com/dotnet/SqlClient/tree/release/7.0)|Release|No|Yes|Sunday 05:30 UTC|YAML| |CI-SqlClient|[release/6.1](https://github.com/dotnet/SqlClient/tree/release/6.1)|Release|No|Yes|Sunday 04:00 UTC|YAML| |CI-SqlClient-Package|[release/6.1](https://github.com/dotnet/SqlClient/tree/release/6.1)|Release|No|Yes|Sunday 04:30 UTC|YAML| |CI-SqlClient|[release/6.0](https://github.com/dotnet/SqlClient/tree/release/6.0)|Release|No|Yes|Sunday 06:00 UTC|YAML| diff --git a/eng/pipelines/dotnet-sqlclient-ci-package-reference-pipeline.yml b/eng/pipelines/dotnet-sqlclient-ci-package-reference-pipeline.yml index 262c2b909a..67c991f0ec 100644 --- a/eng/pipelines/dotnet-sqlclient-ci-package-reference-pipeline.yml +++ b/eng/pipelines/dotnet-sqlclient-ci-package-reference-pipeline.yml @@ -14,18 +14,18 @@ # It runs via CI push triggers and schedules and uses the Release build # configuration: # -# - Commits to GitHub main -# - Commits to ADO internal/main -# - Weekdays at 03:00 UTC on GitHub main -# - Thursdays at 07:00 UTC on ADO internal/main +# - Commits to GitHub release/7.0 +# - Commits to ADO internal/release/7.0 +# - Sundays at 05:30 UTC on GitHub release/7.0 +# - Sundays at 06:30 UTC on ADO internal/release/7.0 # # GOTCHA: This pipeline definition is triggered by GitHub _and_ ADO CI. We are # able to define different triggers and schedules using branch filters: # -# - Only the GitHub repo has a 'main' branch, so its presence indicates that -# the pipeline run was triggered via GitHub. +# - Only the GitHub repo has a 'release/7.0' branch, so its presence indicates +# that the pipeline run was triggered via GitHub. # -# - Only the ADO repo has an 'internal/main' branch. +# - Only the ADO repo has an 'internal/release/7.0' branch. # # Changes are batched together to ensure that the pipline never runs # concurrently. @@ -55,29 +55,29 @@ trigger: branches: include: - # GitHub main branch. - - main + # GitHub release/7.0 branch. + - release/7.0 - # ADO internal/main branch. - - internal/main + # ADO internal/release/7.0 branch. + - internal/release/7.0 # Trigger this pipline on a schedule. schedules: - # GitHub main on weekdays - - cron: '0 3 * * Mon-Fri' - displayName: Weekday Run (Release Config) + # GitHub release/7.0 on Sundays (1 hour after release/6.1's 04:30 UTC run). + - cron: '30 5 * * Sun' + displayName: Sunday Run GitHub (Release Config) branches: include: - - main + - release/7.0 always: true - # ADO internal/main on Thursdays. - - cron: '0 7 * * Thu' - displayName: Thursday Run (Release Config) + # ADO internal/release/7.0 on Sundays (1 hour after release/6.1's 05:30 UTC run). + - cron: '30 6 * * Sun' + displayName: Sunday Run ADO Internal (Release Config) branches: include: - - internal/main + - internal/release/7.0 always: true # Pipeline parameters, visible in the Azure DevOps UI. diff --git a/eng/pipelines/dotnet-sqlclient-ci-project-reference-pipeline.yml b/eng/pipelines/dotnet-sqlclient-ci-project-reference-pipeline.yml index a5a78f0f8b..f3974f541b 100644 --- a/eng/pipelines/dotnet-sqlclient-ci-project-reference-pipeline.yml +++ b/eng/pipelines/dotnet-sqlclient-ci-project-reference-pipeline.yml @@ -14,18 +14,18 @@ # It runs via CI push triggers and schedules and uses the Release build # configuration: # -# - Commits to GitHub main -# - Commits to ADO internal/main -# - Weekdays at 01:00 UTC on GitHub main -# - Thursdays at 05:00 UTC on ADO internal/main +# - Commits to GitHub release/7.0 +# - Commits to ADO internal/release/7.0 +# - Sundays at 05:00 UTC on GitHub release/7.0 +# - Sundays at 06:00 UTC on ADO internal/release/7.0 # # GOTCHA: This pipeline definition is triggered by GitHub _and_ ADO CI. We are # able to define different triggers and schedules using branch filters: # -# - Only the GitHub repo has a 'main' branch, so its presence indicates that -# the pipeline run was triggered via GitHub. +# - Only the GitHub repo has a 'release/7.0' branch, so its presence indicates +# that the pipeline run was triggered via GitHub. # -# - Only the ADO repo has an 'internal/main' branch. +# - Only the ADO repo has an 'internal/release/7.0' branch. # # Changes are batched together to ensure that the pipline never runs # concurrently. @@ -55,29 +55,29 @@ trigger: branches: include: - # GitHub main branch. - - main + # GitHub release/7.0 branch. + - release/7.0 - # ADO internal/main branch. - - internal/main + # ADO internal/release/7.0 branch. + - internal/release/7.0 # Trigger this pipline on a schedule. schedules: - # GitHub main on weekdays - - cron: '0 1 * * Mon-Fri' - displayName: Weekday Run (Release Config) + # GitHub release/7.0 on Sundays (1 hour after release/6.1's 04:00 UTC run). + - cron: '0 5 * * Sun' + displayName: Sunday Run GitHub (Release Config) branches: include: - - main + - release/7.0 always: true - # ADO internal/main on Thursdays. - - cron: '0 5 * * Thu' - displayName: Thursday Run (Release Config) + # ADO internal/release/7.0 on Sundays (1 hour after release/6.1's 05:00 UTC run). + - cron: '0 6 * * Sun' + displayName: Sunday Run ADO Internal (Release Config) branches: include: - - internal/main + - internal/release/7.0 always: true # Pipeline parameters, visible in the Azure DevOps UI. diff --git a/eng/pipelines/sqlclient-pr-package-ref-pipeline.yml b/eng/pipelines/sqlclient-pr-package-ref-pipeline.yml index 663532b905..35ec3a15cd 100644 --- a/eng/pipelines/sqlclient-pr-package-ref-pipeline.yml +++ b/eng/pipelines/sqlclient-pr-package-ref-pipeline.yml @@ -12,7 +12,7 @@ # - Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider # # It is triggered by pushes to PRs that target dev/ and feature/ branches, and -# the main branch in GitHub. +# the release/7.0 branch in GitHub. # # It maps to the "PR-SqlClient-Package" pipeline in the Public project: # @@ -31,8 +31,7 @@ pr: include: # GitHub repo branch targets that will trigger PR validation builds. - dev/* - - feat/* - - main + - release/7.0 paths: include: diff --git a/eng/pipelines/sqlclient-pr-project-ref-pipeline.yml b/eng/pipelines/sqlclient-pr-project-ref-pipeline.yml index 868b3010ff..c12fcee659 100644 --- a/eng/pipelines/sqlclient-pr-project-ref-pipeline.yml +++ b/eng/pipelines/sqlclient-pr-project-ref-pipeline.yml @@ -12,7 +12,7 @@ # - Microsoft.Data.SqlClient.AlwaysEncrypted.AzureKeyVaultProvider # # It is triggered by pushes to PRs that target dev/ and feature/ branches, and -# the main branch in GitHub. +# the release/7.0 branch in GitHub. # # It maps to the "PR-SqlClient-Project" pipeline in the Public project: # @@ -31,8 +31,7 @@ pr: include: # GitHub repo branch targets that will trigger PR validation builds. - dev/* - - feat/* - - main + - release/7.0 paths: include: