Move workflows that create PRs to private repo (#19276)

* Update PR creation workflows to use secret

* Delete action.yml

* Delete daily.yml

* Delete exp-json.yml
This commit is contained in:
Travis Plunk
2023-03-09 14:27:20 -08:00
committed by GitHub
parent e9a25c7d2c
commit 7ec4af82ac
2 changed files with 0 additions and 303 deletions
-154
View File
@@ -1,154 +0,0 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT license.
name: PowerShell Daily
on:
workflow_dispatch:
schedule:
# At 13:00 UTC every day.
- cron: '0 13 * * *'
defaults:
run:
shell: pwsh
env:
DOTNET_CLI_TELEMETRY_OPTOUT: 1
POWERSHELL_TELEMETRY_OPTOUT: 1
permissions:
contents: read
jobs:
update-dotnet-preview:
permissions:
contents: write # for peter-evans/create-pull-request to create branch
pull-requests: write # for peter-evans/create-pull-request to create a PR
name: Update .NET preview
timeout-minutes: 15
runs-on: windows-latest
if: github.repository == 'PowerShell/PowerShell'
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Sync tags
run: |
git fetch --prune --unshallow --tags
- name: Execute Update .NET script
run: |
Import-Module ./.github/workflows/GHWorkflowHelper
$currentVersion = (Get-Content .\global.json | ConvertFrom-Json).sdk.version
Set-GWVariable -Name OLD_VERSION -Value $currentVersion
./tools/UpdateDotnetRuntime.ps1 -UpdateMSIPackaging
$newVersion = (Get-Content .\global.json | ConvertFrom-Json).sdk.version
Set-GWVariable -Name NEW_VERSION -Value $newVersion
if ($currentVersion -ne $newVersion) {
Set-GWVariable -Name CREATE_PR -Value 'true'
}
- name: Microsoft Teams Notifier
uses: skitionek/notify-microsoft-teams@master
if: failure()
with:
webhook_url: ${{ secrets.PS_BUILD_TEAMS_CHANNEL }}
overwrite: "{title: `Failure in .github/daily.yml updating .NET build. Look at ${workflow_link}`}"
- name: Create Pull Request
uses: peter-evans/create-pull-request@v4
id: cpr
if: env.CREATE_PR == 'true'
with:
commit-message: "Update .NET SDK version from `${{ env.OLD_VERSION }}` to `${{ env.NEW_VERSION }}`"
title: "Update .NET SDK version from `${{ env.OLD_VERSION }}` to `${{ env.NEW_VERSION }}`"
base: master
branch: dotnet_update
update-tpn:
permissions:
contents: write # for peter-evans/create-pull-request to create branch
pull-requests: write # for peter-evans/create-pull-request to create a PR
name: Update Notices File
timeout-minutes: 15
runs-on: windows-latest
if: github.repository == 'PowerShell/PowerShell'
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Update Notices file
run: |
Invoke-WebRequest -Uri https://aka.ms/pwsh-daily-tpn -OutFile ./ThirdPartyNotices.txt
- name: Capture Git Status
run: |
git status --short
- name: Check if we need to create a PR
run: |
$ErrorActionPreference = 'continue'
git diff --quiet ThirdPartyNotices.txt
$exitCode = $LASTEXITCODE
Write-Verbose -Message "Exit code: $exitCode" -Verbose
if ($LASTEXITCODE -ne 0) {
Import-Module ./.github/workflows/GHWorkflowHelper
Set-GWVariable -Name CREATE_PR -Value 'true'
} else {
Write-Verbose "No difference found. Not creating a PR." -Verbose
}
exit 0
- name: Create Pull Request
uses: peter-evans/create-pull-request@v4
id: cprtpn
if: env.CREATE_PR == 'true'
with:
commit-message: "Update to the latest NOTICES file"
committer: GitHub <noreply@github.com>
author: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>
title: "Update to the latest NOTICES file"
reviewers: travisez13
base: master
draft: false
branch: update-cgmanifest
update-cgmanifest:
permissions:
contents: write # for peter-evans/create-pull-request to create branch
pull-requests: write # for peter-evans/create-pull-request to create a PR
name: Update cgmanifest
timeout-minutes: 15
runs-on: windows-latest
if: github.repository == 'PowerShell/PowerShell'
env:
CGMANIFEST_PATH: ''
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Sync tags
run: |
git fetch --prune --unshallow --tags
- name: Install Ships provider to deal with project.assets.json
run: |
Install-Module -Name dotnet.project.assets -force
- name: Bootstrap
run: |
Import-Module ./build.psm1
Start-PSBootStrap
- name: Verify cgmanifest is up to date
run: |
Import-Module ./build.psm1
Find-Dotnet
./tools/findMissingNotices.ps1 -Fix
- name: Upload cgmanifest
uses: actions/upload-artifact@v3
if: always() && env.CGMANIFEST_PATH != ''
with:
name: cgmanifest
path: ${{ env.CGMANIFEST_PATH }}
- name: Create Pull Request
uses: peter-evans/create-pull-request@v4
id: cprcgmanifest
if: env.CGMANIFEST_PATH != ''
with:
commit-message: "Update the cgmanifest"
committer: GitHub <noreply@github.com>
author: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>
title: "Update the cgmanifest"
reviewers: travisez13
base: master
draft: false
branch: update-cgmanifest
-149
View File
@@ -1,149 +0,0 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT license.
name: PowerShell Experimental Features Json Update
on:
workflow_dispatch:
schedule:
# At 13:00 UTC every day.
- cron: '0 13 * * *'
defaults:
run:
shell: pwsh
env:
DOTNET_CLI_TELEMETRY_OPTOUT: 1
POWERSHELL_TELEMETRY_OPTOUT: 1
permissions:
contents: read
jobs:
create-expjson:
strategy:
matrix:
os: [windows-latest, ubuntu-latest]
timeout-minutes: 15
runs-on: ${{ matrix.os }}
env:
OS_TITLE: ${{ matrix.os }}
if: github.repository == 'PowerShell/PowerShell'
name: Update experimental features json
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: '0'
- name: Create experimental features file
run: |
Import-Module ./build.psm1 -Force
Start-PSBootstrap
Start-PSBuild -Clean -PSModuleRestore
$builtPwsh = Get-PSOutput
Write-Verbose -Verbose "PWSH path: $builtPwsh"
$getExpFeatureJsonScript = @'
[System.Collections.ArrayList] $expFeatures = Get-ExperimentalFeature | Where-Object Name -NE PS7DscSupport | ForEach-Object -MemberName Name
# Make sure ExperimentalFeatures from modules in PSHome are added
# https://github.com/PowerShell/PowerShell/issues/10550
$ExperimentalFeaturesFromGalleryModulesInPSHome = @()
$ExperimentalFeaturesFromGalleryModulesInPSHome | ForEach-Object {
if (!$expFeatures.Contains($_)) {
$null = $expFeatures.Add($_)
}
}
ConvertTo-Json $expFeatures
'@
$expFeaturesJson = & $builtPwsh -c $getExpFeatureJsonScript
$osname = $env:OS_TITLE -like 'windows*' ? 'windows' : 'linux'
$fileNamePrefix = "experimental-feature-$osname"
$newFileName = "${fileNamePrefix}-new.json"
Write-Verbose -Verbose 'Experimental features found'
$expFeaturesJson | Out-String | Write-Verbose -Verbose
$expFeaturesJson | Out-File $newFileName -Force
- name: Upload experimental features windows
uses: actions/upload-artifact@v3
with:
name: experimentalJson
path: experimental-feature-*-new.json
compare-expjson-files:
permissions:
contents: write # for peter-evans/create-pull-request to create branch
pull-requests: write # for peter-evans/create-pull-request to create a PR
runs-on: ubuntu-latest
name: Compare experimental json files and create PR
needs: create-expjson
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: '0'
- name: Download artifacts
uses: actions/download-artifact@v3
with:
name: experimentalJson
- name: Compare json files
run: |
Import-Module ./.github/workflows/GHWorkflowHelper -Force
function ShouldCreatePR($currentFile, $newFile) {
if (Test-Path $currentFile) {
$currentExpFeatures = Get-Content $currentFile -Raw | ConvertFrom-Json
$newExpFeatures = Get-Content $newFile -Raw | ConvertFrom-Json
if (-not (Compare-Object $currentExpFeatures $newExpFeatures)) {
Write-Verbose -Verbose "No changes to experimental features json file"
return $false
}
}
return $true
}
$currentWinFile = "experimental-feature-windows.json"
$currentLinuxFile = "experimental-feature-linux.json"
$newWinFile = "experimental-feature-windows-new.json"
$newLinuxFile = "experimental-feature-linux-new.json"
$createPrWin = ShouldCreatePR $currentWinFile $newWinFile
Write-Verbose -Verbose "Create PR Windows == $createPrWin"
$createPrLinux = ShouldCreatePR $currentLinuxFile $newLinuxFile
Write-Verbose -Verbose "Create PR Linux == $createPrLinux"
$createPr = $createPrWin -or $createPrLinux
Write-Verbose -Verbose "Create PR == $createPr"
if ($createPrWin) {
Move-Item $newWinFile $currentWinFile -Verbose -Force
}
else {
Remove-Item $newWinFile -Verbose
}
if ($createPrLinux) {
Move-Item $newLinuxFile $currentLinuxFile -Verbose -Force
}
else {
Remove-Item $newLinuxFile -Verbose
}
Set-GWVariable -Name CREATE_EXP_JSON_PR -Value $createPR
- name: Create Pull Request
uses: peter-evans/create-pull-request@v4
id: cpr
if: env.CREATE_EXP_JSON_PR == 'true'
with:
commit-message: "Update experimental-feature-windows.json"
title: "Update experimental-feature json files"
base: master
branch: expjson_update_windows