Skip to content

PowerShell Daily

PowerShell Daily #999

Workflow file for this run

# 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
jobs:
update-dotnet-preview:
name: Update .NET preview
timeout-minutes: 15
runs-on: windows-latest
if: github.repository == 'PowerShell/PowerShell'
steps:
- name: Checkout
uses: actions/checkout@v2
- 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@v3
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:
name: Update Notices File
timeout-minutes: 15
runs-on: windows-latest
if: github.repository == 'PowerShell/PowerShell'
steps:
- name: Checkout
uses: actions/checkout@v2
- 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@v3
id: cprtpn
if: env.CREATE_PR == 'true'
with:
commit-message: "Update to the latest NOTICES file"
committer: GitHub <[email protected]>
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:
name: Update cgmanifest
timeout-minutes: 15
runs-on: windows-latest
if: github.repository == 'PowerShell/PowerShell'
env:
CGMANIFEST_PATH: ''
steps:
- name: Checkout
uses: actions/checkout@v2
- 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@v2
if: always() && env.CGMANIFEST_PATH != ''
with:
name: cgmanifest
path: ${{ env.CGMANIFEST_PATH }}
- name: Create Pull Request
uses: peter-evans/create-pull-request@v3
id: cprcgmanifest
if: env.CGMANIFEST_PATH != ''
with:
commit-message: "Update the cgmanifest"
committer: GitHub <[email protected]>
author: ${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>
title: "Update the cgmanifest"
reviewers: travisez13
base: master
draft: false
branch: update-cgmanifest