Skip to content

Sync commit from generation to future - temporary #4

Sync commit from generation to future - temporary

Sync commit from generation to future - temporary #4

name: sync-generation
run-name: Sync commit from generation to future - temporary
env:
GH_TOKEN: ${{ github.token }}
on:
push:
branches:
- 'generation'
jobs:
sync_generation:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/setup-node@v4
with:
node-version: 14.17.1
- run: npm install -g autorest@latest
- uses: actions/checkout@v4
with:
ref: 'future'
- name: sync generation
shell: pwsh
run: |
Install-Module -Name PowerShellGet -RequiredVersion 2.2.3 -Force;
Install-Module -Name platyPS -RequiredVersion 0.14.2 -Force;
git config user.email "65331932+azure-powershell-bot@users.noreply.github.com";
git config user.name "azure-powershell-bot";
$commitId = '${{ github.sha }}'
$repoRoot = '${{ github.workspace }}'
git fetch origin generation
git cherry-pick $commitId --strategy-option theirs
git reset HEAD~1
<#
calculate changed modules
#>
$modulePaths = @()
git status --short | Where-Object { $_ -match ".*src.*" } | ForEach-Object { $modulePaths += $_.substring($_.IndexOf("src"), $_.IndexOf(".Autorest")+6) }
if (0 -eq $modulePaths.Count) {
return
}
$modulePaths = $modulePaths | Select-Object -Unique
foreach ($modulePath in $modulePaths) {
$modulePath = Join-Path $repoRoot $modulePath
Set-Location $modulePath
autorest --max-memory-size=8192
./build-module.ps1
}
Set-Location $repoRoot
git add src
git commit -m "cherry-pick $commitId from generation"
git push origin future