From 06544f9b6b599546141abc354b16a462f0dee354 Mon Sep 17 00:00:00 2001 From: Den <53200638+localden@users.noreply.github.com> Date: Fri, 1 Nov 2024 16:17:06 -0700 Subject: [PATCH] Update policies --- .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 | 22 +++--- 8 files changed, 133 insertions(+), 170 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..766dd75 --- /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-java-articles/* @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. +java/ \ 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 a768a30..9f058fe 100644 --- a/README.md +++ b/README.md @@ -1,23 +1,27 @@ -# Microsoft Authentication Library (MSAL) for Java Documentation +# Microsoft Authentication Library (MSAL) for Java [![Validate content links](https://github.com/MicrosoftDocs/microsoft-authentication-library-java/actions/workflows/linkchecker.yml/badge.svg)](https://github.com/MicrosoftDocs/microsoft-authentication-library-java/actions/workflows/linkchecker.yml) -This is the documentation repository for Microsoft Authentication Library (MSAL) for Java. If you are looking for the library, refer to [AzureAD/microsoft-authentication-library-for-java](https://github.com/AzureAD/microsoft-authentication-library-for-java). +This is the **documentation repository** for Microsoft Authentication Library (MSAL) for Java. + +| Resource | Location | +|:-----------------------------|:-----------| +| ✅ **SDK Repository** | [`AzureAD/microsoft-authentication-library-for-java`](https://github.com/AzureAD/microsoft-authentication-library-for-java) | +| ✅ **SDK Package** | [`msal4j`](https://mvnrepository.com/artifact/com.microsoft.azure/msal4j) | +| ✅ **SDK Documentation** | [MSAL for Java on Microsoft Learn](https://learn.microsoft.com/en-us/entra/msal/java/) | +| 🔒 **SDK Documentation CI Job** | [Azure Pipelines](https://apidrop.visualstudio.com/Content%20CI/_build?definitionId=5249) | ## 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 `java/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-java](https://github.com/AzureAD/microsoft-authentication-library-for-java) 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-java/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-java/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?definitionScope=%5CPROD%5CGitHub_MicrosoftDocs_microsoft-authentication-library-java). +**Do not** modify any XML files in the `java/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. -In this repository, `package.json` on the `main` branch determines what version of `msal4j` the documentation is generated for. +To make changes to any API docs you will need to open a pull request in the [`AzureAD/microsoft-authentication-library-for-java`](https://github.com/AzureAD/microsoft-authentication-library-for-java) repository and amend code comments. ## Microsoft Open Source Code of Conduct