Skip to content
This repository was archived by the owner on May 18, 2024. It is now read-only.

Commit 57c2026

Browse files
committed
Adds prepare release flow
1 parent d75d22e commit 57c2026

File tree

4 files changed

+86
-21
lines changed

4 files changed

+86
-21
lines changed

.github/workflows/prepare-release.yml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: "Prepare Release"
2+
3+
on:
4+
workflow_dispatch:
5+
6+
jobs:
7+
deploy:
8+
name: "Prepare Release"
9+
runs-on: windows-latest
10+
steps:
11+
- name: Use Node.js 20
12+
uses: actions/setup-node@v4
13+
with:
14+
node-version: 20
15+
registry-url: 'https://registry.npmjs.org'
16+
- name: Checkout PnP PowerShell VS Code Extension
17+
uses: actions/checkout@v4
18+
with:
19+
path: pnp-powershell-extension
20+
- name: Checkout PnP PowerShell
21+
uses: actions/checkout@v4
22+
with:
23+
repository: pnp/powershell
24+
path: powershell
25+
- name: Checkout PnP Script Samples
26+
uses: actions/checkout@v4
27+
with:
28+
repository: pnp/script-samples
29+
path: script-samples
30+
- name: Run create script samples script
31+
run: .\pnp-powershell-extension\scripts\createScriptSampleDefenition.ps1 -PathToWorkspace ".\"
32+
shell: pwsh
33+
continue-on-error: false
34+
- name: Run create snippet defenition script
35+
run: .\pnp-powershell-extension\scripts\createSnippetDefenition.ps1 -PathToWorkspace ".\"
36+
shell: pwsh
37+
continue-on-error: false
38+
- name: Run update package version script
39+
run: .\pnp-powershell-extension\scripts\updatePackageVersion.ps1 -PathToWorkspace ".\"
40+
shell: pwsh
41+
continue-on-error: false
42+
- name: Install dependencies
43+
run: npm run install:all
44+
working-directory: pnp-powershell-extension
45+
- name: Build
46+
run: npm run vscode:prepublish
47+
working-directory: pnp-powershell-extension
48+
- name: Create Pull Request
49+
uses: peter-evans/create-pull-request@v6
50+
with:
51+
path: pnp-powershell-extension
52+
commit-message: prepare release
53+
branch: prepare-release
54+
title: Prepare Release
55+
body: Prepare Release
56+
...

scripts/createScriptSampleDefenition.ps1

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
1-
param ($scriptSampleFolderPath)
1+
param (
2+
[Parameter(Mandatory = $true)]
3+
[string]$PathToWorkspace
4+
)
25

3-
if ($null -eq $scriptSampleFolderPath -or $scriptSampleFolderPath -eq "") {
4-
write-host "Please pass path to script samples from pnp/script-sample repo"
5-
exit
6-
}
7-
8-
$allSamples = Get-ChildItem -Path "$scriptSampleFolderPath\scripts\**\sample.json" -Recurse -Force
6+
$allSamples = Get-ChildItem -Path "$PathToWorkspace\script-samples\scripts\**\sample.json" -Recurse -Force
97

108
[hashtable]$sampleModel = @{}
119
$samples = @()
@@ -31,10 +29,10 @@ foreach ($sample in $allSamples) {
3129
$rawUrl = $rawUrl.Replace('.html', '.md')
3230

3331
$sampleAuthors = @()
34-
foreach($author in $sampleJson.authors) {
32+
foreach ($author in $sampleJson.authors) {
3533
$sampleAuthors += [pscustomobject]@{
36-
name = $author.name;
37-
pictureUrl = $author.pictureUrl;
34+
name = $author.name;
35+
pictureUrl = $author.pictureUrl;
3836
}
3937
}
4038

@@ -53,7 +51,9 @@ foreach ($sample in $allSamples) {
5351

5452
$sampleModel.Add('samples', $samples)
5553
$orderedSampleModel = [ordered]@{}
54+
5655
foreach ($Item in ($sampleModel.GetEnumerator() | Sort-Object -Property Key)) {
5756
$orderedSampleModel[$Item.Key] = $Item.Value
5857
}
59-
New-Object -TypeName psobject -Property $orderedSampleModel | ConvertTo-Json -Depth 10 | Out-File "..\data\samples.json"
58+
59+
New-Object -TypeName psobject -Property $orderedSampleModel | ConvertTo-Json -Depth 10 | Out-File "$PathToWorkspace\pnp-powershell-extension\data\samples.json"

scripts/createSnippetDefenition.ps1

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,17 @@
1-
param ($PSDocsFolderPath)
1+
param (
2+
[Parameter(Mandatory = $true)]
3+
[string]$PathToWorkspace
4+
)
25

3-
if ($null -eq $PSDocsFolderPath -or $PSDocsFolderPath -eq "") {
4-
write-host "Please pass path to PS docs folder"
5-
exit
6-
}
7-
8-
$allCommands = Get-ChildItem -Path "$PSDocsFolderPath\documentation\*.md" -Recurse -Force -Exclude "_global*"
6+
$allCommands = Get-ChildItem -Path "$PathToWorkspace\powershell\documentation\*.md" -Recurse -Force -Exclude "_global*"
97

108
[hashtable]$commandSnippets = @{}
119
[hashtable]$pnpPsModel = @{}
1210
$commands = @()
1311

1412
foreach ($command in $allCommands) {
1513
$commandDocs = ConvertFrom-Markdown -Path $command
16-
$html = New-Object -Com 'HTMLFile'
14+
$html = New-Object -ComObject 'HTMLFile'
1715
$html.write([ref]$commandDocs.Html)
1816

1917
$title = $html.all.tags('h1')[0]
@@ -68,11 +66,11 @@ $orderedCommandSnippets = [ordered]@{}
6866
foreach ($Item in ($commandSnippets.GetEnumerator() | Sort-Object -Property Key)) {
6967
$orderedCommandSnippets[$Item.Key] = $Item.Value
7068
}
71-
New-Object -TypeName psobject -Property $orderedCommandSnippets | ConvertTo-Json | Out-File "..\snippets\pnpPowerShell.code-snippets"
69+
New-Object -TypeName psobject -Property $orderedCommandSnippets | ConvertTo-Json | Out-File "$PathToWorkspace\pnp-powershell-extension\snippets\pnpPowerShell.code-snippets"
7270

7371
$pnpPsModel.Add('commands', $commands)
7472
$orderedPnpPsModel = [ordered]@{}
7573
foreach ($Item in ($pnpPsModel.GetEnumerator() | Sort-Object -Property Key)) {
7674
$orderedPnpPsModel[$Item.Key] = $Item.Value
7775
}
78-
New-Object -TypeName psobject -Property $orderedPnpPsModel | ConvertTo-Json | Out-File "..\data\pnpPsModel.json"
76+
New-Object -TypeName psobject -Property $orderedPnpPsModel | ConvertTo-Json | Out-File "$PathToWorkspace\pnp-powershell-extension\data\pnpPsModel.json"

scripts/updatePackageVersion.ps1

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
param (
2+
[Parameter(Mandatory = $true)]
3+
[string]$PathToWorkspace
4+
)
5+
6+
$packageJson = Get-Content "$PathToWorkspace\pnp-powershell-extension\package.json" | ConvertFrom-Json
7+
$oldVersion = $packageJson.version
8+
$oldVersionParts = $oldVersion.Split(".")
9+
$newVersion = "$($oldVersionParts[0]).$($oldVersionParts[1]).$([int]$oldVersionParts[2] + 1)"
10+
$packageJson.version = $newVersion
11+
$packageJson | ConvertTo-Json -Depth 10 | Out-File "$PathToWorkspace\pnp-powershell-extension\package.json" -Encoding utf8 -Force

0 commit comments

Comments
 (0)