diff --git a/.github/workflows/AutoLabelAssign.yml b/.github/workflows/AutoLabelAssign.yml index bccedc1b1..9647605ef 100644 --- a/.github/workflows/AutoLabelAssign.yml +++ b/.github/workflows/AutoLabelAssign.yml @@ -12,6 +12,30 @@ on: - completed jobs: + config: + if: github.repository_owner == 'MicrosoftDocs' + runs-on: ubuntu-latest + outputs: + AutoAssignUsers: ${{ steps.read.outputs.AutoAssignUsers }} + AutoAssignReviewers: ${{ steps.read.outputs.AutoAssignReviewers }} + AutoLabel: ${{ steps.read.outputs.AutoLabel }} + ExcludedUserList: ${{ steps.read.outputs.ExcludedUserList }} + ExcludedBranchList: ${{ steps.read.outputs.ExcludedBranchList }} + steps: + - uses: actions/checkout@v5 + with: + sparse-checkout: .github/workflow-config.json + sparse-checkout-cone-mode: false + - id: read + shell: pwsh + run: | + $Config = (Get-Content '.github/workflow-config.json' | ConvertFrom-Json).AutoLabelAssign + "AutoAssignUsers=$($Config.AutoAssignUsers)" >> $Env:GITHUB_OUTPUT + "AutoAssignReviewers=$($Config.AutoAssignReviewers)" >> $Env:GITHUB_OUTPUT + "AutoLabel=$($Config.AutoLabel)" >> $Env:GITHUB_OUTPUT + "ExcludedUserList=$($Config.ExcludedUserList | ConvertTo-Json -Compress)" >> $Env:GITHUB_OUTPUT + "ExcludedBranchList=$($Config.ExcludedBranchList | ConvertTo-Json -Compress)" >> $Env:GITHUB_OUTPUT + download-payload: name: Download and extract payload artifact if: github.repository_owner == 'MicrosoftDocs' @@ -25,16 +49,18 @@ jobs: label-assign: name: Run assign and label if: github.repository_owner == 'MicrosoftDocs' - needs: [download-payload] - uses: MicrosoftDocs/microsoft-365-docs/.github/workflows/Shared-AutoLabelAssign.yml@workflows-prod + needs: [config, download-payload] + uses: MicrosoftDocs/microsoft-365-docs/.github/workflows/Shared-AutoLabelAssign.yml@workflows-test with: PayloadJson: ${{ needs.download-payload.outputs.WorkflowPayload }} - AutoAssignUsers: 1 - AutoAssignReviewers: 1 - AutoLabel: 1 - ExcludedUserList: '["user1", "user2"]' - ExcludedBranchList: '["branch1", "branch2"]' + AutoAssignUsers: ${{ fromJSON(needs.config.outputs.AutoAssignUsers) }} + AutoAssignReviewers: ${{ fromJSON(needs.config.outputs.AutoAssignReviewers) }} + AutoLabel: ${{ fromJSON(needs.config.outputs.AutoLabel) }} + ExcludedUserList: ${{ needs.config.outputs.ExcludedUserList }} + ExcludedBranchList: ${{ needs.config.outputs.ExcludedBranchList }} secrets: AccessToken: ${{ secrets.GITHUB_TOKEN }} PrivateKey: ${{ secrets.M365_APP_PRIVATE_KEY }} - ClientId: ${{ secrets.M365_APP_CLIENT_ID }} \ No newline at end of file + ClientId: ${{ secrets.M365_APP_CLIENT_ID }} + + diff --git a/.github/workflows/AutoPublish.yml b/.github/workflows/AutoPublish.yml index c96387d3c..2202b62e2 100644 --- a/.github/workflows/AutoPublish.yml +++ b/.github/workflows/AutoPublish.yml @@ -1,4 +1,3 @@ - name: (Scheduled) Publish to live permissions: @@ -15,15 +14,33 @@ on: jobs: + config: + if: github.repository_owner == 'MicrosoftDocs' && contains(github.event.repository.topics, 'build') + runs-on: ubuntu-latest + outputs: + EnableAutoPublish: ${{ steps.read.outputs.EnableAutoPublish }} + EnableAutoMerge: ${{ steps.read.outputs.EnableAutoMerge }} + steps: + - uses: actions/checkout@v5 + with: + sparse-checkout: .github/workflow-config.json + sparse-checkout-cone-mode: false + - id: read + shell: pwsh + run: | + $Config = (Get-Content '.github/workflow-config.json' | ConvertFrom-Json).AutoPublish + "EnableAutoPublish=$("$($Config.EnableAutoPublish)".ToLower())" >> $Env:GITHUB_OUTPUT + "EnableAutoMerge=$("$($Config.EnableAutoMerge)".ToLower())" >> $Env:GITHUB_OUTPUT + auto-publish: if: github.repository_owner == 'MicrosoftDocs' && contains(github.event.repository.topics, 'build') + needs: config uses: MicrosoftDocs/microsoft-365-docs/.github/workflows/Shared-AutoPublishV2.yml@workflows-prod with: PayloadJson: ${{ toJSON(github) }} - EnableAutoPublish: true - EnableAutoMerge: true - + EnableAutoPublish: ${{ fromJSON(needs.config.outputs.EnableAutoPublish) }} + EnableAutoMerge: ${{ fromJSON(needs.config.outputs.EnableAutoMerge) }} secrets: AccessToken: ${{ secrets.GITHUB_TOKEN }} PrivateKey: ${{ secrets.M365_APP_PRIVATE_KEY }} - ClientId: ${{ secrets.M365_APP_CLIENT_ID }} + ClientId: ${{ secrets.M365_APP_CLIENT_ID }} \ No newline at end of file diff --git a/.github/workflows/TierManagement.yml b/.github/workflows/TierManagement.yml index 8e9addaf6..6042fd1c3 100644 --- a/.github/workflows/TierManagement.yml +++ b/.github/workflows/TierManagement.yml @@ -13,12 +13,31 @@ on: jobs: + config: + if: github.repository_owner == 'MicrosoftDocs' && github.repository_visibility == 'private' + runs-on: ubuntu-latest + outputs: + EnableWriteSignOff: ${{ steps.read.outputs.EnableWriteSignOff }} + EnableReadOnlySignoff: ${{ steps.read.outputs.EnableReadOnlySignoff }} + steps: + - uses: actions/checkout@v5 + with: + sparse-checkout: .github/workflow-config.json + sparse-checkout-cone-mode: false + - id: read + shell: pwsh + run: | + $Config = (Get-Content '.github/workflow-config.json' | ConvertFrom-Json).TierManagement + "EnableWriteSignOff=$($Config.EnableWriteSignOff)" >> $Env:GITHUB_OUTPUT + "EnableReadOnlySignoff=$($Config.EnableReadOnlySignoff)" >> $Env:GITHUB_OUTPUT + tier-mgmt: if: github.repository_owner == 'MicrosoftDocs' && github.repository_visibility == 'private' + needs: config uses: MicrosoftDocs/microsoft-365-docs/.github/workflows/Shared-TierManagement.yml@workflows-prod with: PayloadJson: ${{ toJSON(github) }} - EnableWriteSignOff: 1 - EnableReadOnlySignoff: 1 + EnableWriteSignOff: ${{ fromJSON(needs.config.outputs.EnableWriteSignOff) }} + EnableReadOnlySignoff: ${{ fromJSON(needs.config.outputs.EnableReadOnlySignoff) }} secrets: AccessToken: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file