From 46a303db4b8eed8cede5acc43ef8e748225c5a5d Mon Sep 17 00:00:00 2001 From: Den <53200638+localden@users.noreply.github.com> Date: Fri, 1 Nov 2024 15:58:33 -0700 Subject: [PATCH] Update policies and README --- .github/CODEOWNERS | 10 +++ .github/policies/auto-label-pr.yml | 82 ----------------------- .github/policies/auto-merge-sync-pr.yml | 51 -------------- .github/policies/handle-automatic-pr.yml | 46 +++++++++++++ .github/policies/scheduled-prod-sync.yml | 28 ++++++-- .github/policies/scheduled-stage-sync.yml | 41 ++++++++++++ .github/policies/scheduled-sync.yml | 23 ------- README.md | 23 ++++--- 8 files changed, 133 insertions(+), 171 deletions(-) create mode 100644 .github/CODEOWNERS delete mode 100644 .github/policies/auto-label-pr.yml delete mode 100644 .github/policies/auto-merge-sync-pr.yml create mode 100644 .github/policies/handle-automatic-pr.yml create mode 100644 .github/policies/scheduled-stage-sync.yml delete mode 100644 .github/policies/scheduled-sync.yml diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..bd4a789 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,10 @@ +# Any repo changes beyond docs require PM owner approval. +* @localden @jmprieur + +# Conceptual and API content needs the review of the engineering team. +msal-python-conceptual/* @MicrosoftDocs/identity-sdk-cca-engineering-team + +# API documentation does not have code owners, but that is OK. +# Anyone can create a PR to the `main` branch and we will review +# the changes on the one-off basis. +python/ \ No newline at end of file diff --git a/.github/policies/auto-label-pr.yml b/.github/policies/auto-label-pr.yml deleted file mode 100644 index d591d51..0000000 --- a/.github/policies/auto-label-pr.yml +++ /dev/null @@ -1,82 +0,0 @@ -id: -name: GitOps.PullRequestIssueManagement -description: GitOps.PullRequestIssueManagement primitive -owner: -resource: repository -disabled: false -where: -configuration: - resourceManagementConfiguration: - eventResponderTasks: - - description: Label community PRs - if: - - payloadType: Pull_Request - - isAction: - action: Opened - - and: - - not: - activitySenderHasPermission: - permission: Admin - - not: - activitySenderHasPermission: - permission: Write - - not: - isActivitySender: - user: github-actions[bot] - - not: - isActivitySender: - user: github-actions - - not: - isActivitySender: - user: azure-sdk - - not: - isActivitySender: - user: dependabot - - not: - isActivitySender: - user: microsoft-github-policy-service[bot] - then: - - addLabel: - label: community-contribution - - - description: Label ref docs sync PRs from the microsoft-github-policy-service bot - triggerOnOwnActions: true - if: - - payloadType: Pull_Request - - isAction: - action: Opened - - isActivitySender: - user: microsoft-github-policy-service[bot] - - titleContains: - pattern: Merge smoke-test into main - isRegex: False - then: - - addLabel: - label: ":octocat: auto-merge" - - - description: Label prod sync PRs from the microsoft-github-policy-service bot - triggerOnOwnActions: true - if: - - payloadType: Pull_Request - - isAction: - action: Opened - - isActivitySender: - user: microsoft-github-policy-service[bot] - - titleContains: - pattern: Merge main into live - isRegex: False - then: - - addLabel: - label: ":octocat: auto-merge" - - - description: Label PRs from dependabot/dependabot[bot] - if: - - payloadType: Pull_Request - - or: - - isActivitySender: - user: dependabot - - isActivitySender: - user: dependabot[bot] - then: - - addLabel: - label: ":octocat: auto-merge" diff --git a/.github/policies/auto-merge-sync-pr.yml b/.github/policies/auto-merge-sync-pr.yml deleted file mode 100644 index 8620065..0000000 --- a/.github/policies/auto-merge-sync-pr.yml +++ /dev/null @@ -1,51 +0,0 @@ -id: -name: GitOps.PullRequestIssueManagement -description: GitOps.PullRequestIssueManagement primitive -owner: -resource: repository -disabled: false -where: -configuration: - resourceManagementConfiguration: - eventResponderTasks: - - description: Approve and auto-squash-merge bot PRs to main labeled 'auto-merge' - triggerOnOwnActions: true - if: - - payloadType: Pull_Request - - labelAdded: - label: ':octocat: auto-merge' - - targetsBranch: - branch: main - - or: - - isActivitySender: - user: microsoft-github-policy-service[bot] - then: - - enableAutoMerge: - mergeMethod: Squash - - approvePullRequest: - comment: "Approved; this PR will merge when all status checks pass." - - - description: Auto-merge policy service bot PRs to live labeled 'auto-merge' - triggerOnOwnActions: true - if: - - payloadType: Pull_Request - - labelAdded: - label: ':octocat: auto-merge' - - targetsBranch: - branch: live - - or: - - isActivitySender: - user: microsoft-github-policy-service[bot] - then: - - enableAutoMerge: - mergeMethod: Merge - - approvePullRequest: - comment: "Approved; this PR will merge when all status checks pass." - - - description: Don't auto-merge PRs with 'auto-merge' label removed - if: - - payloadType: Pull_Request - - labelRemoved: - label: ':octocat: auto-merge' - then: - - disableAutoMerge \ No newline at end of file diff --git a/.github/policies/handle-automatic-pr.yml b/.github/policies/handle-automatic-pr.yml new file mode 100644 index 0000000..d56b3b9 --- /dev/null +++ b/.github/policies/handle-automatic-pr.yml @@ -0,0 +1,46 @@ +id: +name: GitOps.PullRequestIssueManagement +description: GitOps.PullRequestIssueManagement primitive +owner: +resource: repository +disabled: false +where: +configuration: + resourceManagementConfiguration: + eventResponderTasks: + - description: Sync API documentation to staging environment. + triggerOnOwnActions: true + if: + - payloadType: Pull_Request + - isAction: + action: Opened + - isActivitySender: + user: microsoft-github-policy-service[bot] + - titleContains: + pattern: Merge smoke-test into main + isRegex: False + then: + - addLabel: + label: ':octocat: auto-merge' + - enableAutoMerge: + mergeMethod: Squash + - approvePullRequest: + comment: ':shipit:' + - description: Sync staging environment to production. + triggerOnOwnActions: true + if: + - payloadType: Pull_Request + - isAction: + action: Opened + - isActivitySender: + user: microsoft-github-policy-service[bot] + - titleContains: + pattern: Merge main into live + isRegex: False + then: + - addLabel: + label: ':octocat: auto-merge' + - enableAutoMerge: + mergeMethod: Merge + - approvePullRequest: + comment: ':shipit:' \ No newline at end of file diff --git a/.github/policies/scheduled-prod-sync.yml b/.github/policies/scheduled-prod-sync.yml index d01d1ff..97cbeb3 100644 --- a/.github/policies/scheduled-prod-sync.yml +++ b/.github/policies/scheduled-prod-sync.yml @@ -6,18 +6,36 @@ where: configuration: resourceManagementConfiguration: scheduledSearches: - - description: Push to main (scheduled sync) + - description: Push to live branch (scheduled 11AM PT publish) frequencies: - daily: - time: 1:00 + time: 18:00 + filters: [] + actions: + - createPullRequest: + head: main + base: live + title: Merge main into live + body: Automated merge of the main branch into live, syncing documentation content to the production environment. + - description: Push to live branch (scheduled 6PM PT publish) + frequencies: - daily: - time: 9:00 + time: 2:00 + filters: [] + actions: + - createPullRequest: + head: main + base: live + title: Merge main into live + body: Automated merge of the main branch into live, syncing documentation content to the production environment. + - description: Push to live branch (scheduled 2AM PT publish) + frequencies: - daily: - time: 17:00 + time: 10:00 filters: [] actions: - createPullRequest: head: main base: live title: Merge main into live - body: Please don't squash-merge this PR. \ No newline at end of file + body: Automated merge of the main branch into live, syncing documentation content to the production environment. \ No newline at end of file diff --git a/.github/policies/scheduled-stage-sync.yml b/.github/policies/scheduled-stage-sync.yml new file mode 100644 index 0000000..0843cad --- /dev/null +++ b/.github/policies/scheduled-stage-sync.yml @@ -0,0 +1,41 @@ +name: GitOps.PullRequestIssueManagement - Scheduled PRs +description: Creates pull requests on a schedule +resource: repository + +where: +configuration: + resourceManagementConfiguration: + scheduledSearches: + - description: Push to main branch (scheduled 10AM PT publish) + frequencies: + - daily: + time: 17:00 + filters: [] + actions: + - createPullRequest: + head: smoke-test + base: main + title: Merge smoke-test into main + body: Automated merge of the smoke-test branch into main, syncing API documentation content to the staging environment. + - description: Push to main branch (scheduled 5PM PT publish) + frequencies: + - daily: + time: 1:00 + filters: [] + actions: + - createPullRequest: + head: smoke-test + base: main + title: Merge smoke-test into main + body: Automated merge of the smoke-test branch into main, syncing API documentation content to the staging environment. + - description: Push to main branch (scheduled 1AM PT publish) + frequencies: + - daily: + time: 9:00 + filters: [] + actions: + - createPullRequest: + head: smoke-test + base: main + title: Merge smoke-test into main + body: Automated merge of the smoke-test branch into main, syncing API documentation content to the staging environment. \ No newline at end of file diff --git a/.github/policies/scheduled-sync.yml b/.github/policies/scheduled-sync.yml deleted file mode 100644 index 246b1d5..0000000 --- a/.github/policies/scheduled-sync.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: GitOps.PullRequestIssueManagement - Scheduled PRs -description: Creates pull requests on a schedule -resource: repository - -where: -configuration: - resourceManagementConfiguration: - scheduledSearches: - - description: Push to main (scheduled sync) - frequencies: - - daily: - time: 1:00 - - daily: - time: 9:00 - - daily: - time: 17:00 - filters: [] - actions: - - createPullRequest: - head: smoke-test - base: main - title: Merge smoke-test into main - body: Please don't squash-merge this PR. \ No newline at end of file diff --git a/README.md b/README.md index e5d80c5..a937031 100644 --- a/README.md +++ b/README.md @@ -1,24 +1,27 @@ -# Microsoft Authentication Library (MSAL) for Python Documentation +# Microsoft Authentication Library (MSAL) for Python [![Validate existing links](https://github.com/MicrosoftDocs/microsoft-authentication-library-for-python/actions/workflows/linkvalidator.yml/badge.svg)](https://github.com/MicrosoftDocs/microsoft-authentication-library-for-python/actions/workflows/linkvalidator.yml) -This is the documentation repository for Microsoft Authentication Library (MSAL) for Python. If you are looking for the library, refer to [AzureAD/microsoft-authentication-library-for-python](https://github.com/AzureAD/microsoft-authentication-library-for-python). +This is the **documentation repository** for Microsoft Authentication Library (MSAL) for Python. + +| Resource | Location | +|:-----------------------------|:-----------| +| ✅ **SDK Repository** | [`AzureAD/microsoft-authentication-library-for-python`](https://github.com/AzureAD/microsoft-authentication-library-for-python) | +| ✅ **SDK Package** | [`msal`](https://pypi.org/project/msal/) | +| ✅ **SDK Documentation** | [MSAL for Python on Microsoft Learn](https://learn.microsoft.com/entra/msal/python/) | +| 🔒 **SDK Documentation CI Job** | [Azure Pipelines](https://apidrop.visualstudio.com/Content%20CI/_build?definitionId=61691) | ## Contributions Contributions to our documentation are welcome. Make sure to familiarize yourself with the [Microsoft Writing Style Guide](https://learn.microsoft.com/style-guide/welcome/) and the [Contributor Guide](https://learn.microsoft.com/contribute/) before making any changes. -> **Warning** -> **Do not** modify any YML files in the `python/docs-ref-autogen` folder - those are generated automatically from the library source code and any changes will be automatically overwritten the next time the documentation Continuous Integration (CI) job runs. To make changes to any API docs you will need to open a pull request in the [AzureAD/microsoft-authentication-library-for-python](https://github.com/AzureAD/microsoft-authentication-library-for-python) repository. - -If you would like to author an entirely new document (e.g., for a new scenario), make sure to [open an issue](https://github.com/MicrosoftDocs/microsoft-authentication-library-for-python/issues) first. This will allow the engineering team to discuss the proposed changes and ensure that it won't be overwritten by future changes. +If you would like to author an entirely new document (e.g., for a new scenario), make sure to [open an issue](https://github.com/AzureAD/microsoft-authentication-library-for-python/issues) first. This will allow the engineering team to discuss the proposed changes and ensure that it won't be overwritten by future changes. -## API reference documentation automation +## API Documentation -Continuous Integration (CI) jobs for this repository are available in the [automation Azure DevOps instance](https://apidrop.visualstudio.com/Content%20CI/_build?definitionId=6169). +**Do not** modify any XML files in the `python/docs-ref-autogen` folder - those are generated automatically from the library source code and any changes will be automatically overwritten the next time the documentation runs. ->**Note** ->The changes from the CI job will always be pushed to the `smoke-test` branch first. To propagate them to production, merge the changes into `main`, and then merge `main` to `live`. Ensure that all checks pass before merging changes. +To make changes to any API docs you will need to open a pull request in the [`AzureAD/microsoft-authentication-library-for-python`](AzureAD/microsoft-authentication-library-for-python) repository and amend code comments. ## Microsoft Open Source Code of Conduct