diff options
| author | Adonais Romero González <[email protected]> | 2023-01-30 15:00:49 -0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2023-01-30 15:00:49 -0800 |
| commit | 07779ee84973f2f63a1f2ced6377463b1c01baaf (patch) | |
| tree | d28fc10efc8f5dee97ec5df162bb533f6e801585 /.github/scripts/Build-ChangedSamples.ps1 | |
| parent | 2c0c8763300988d92ddd139cadf012f5ab1b12e1 (diff) | |
Build scripts update (#844)
---------
Co-authored-by: Jakob Lichtenberg (170957) <[email protected]>
Diffstat (limited to '.github/scripts/Build-ChangedSamples.ps1')
| -rw-r--r-- | .github/scripts/Build-ChangedSamples.ps1 | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/.github/scripts/Build-ChangedSamples.ps1 b/.github/scripts/Build-ChangedSamples.ps1 new file mode 100644 index 00000000..82096cd6 --- /dev/null +++ b/.github/scripts/Build-ChangedSamples.ps1 @@ -0,0 +1,40 @@ +[CmdletBinding()] +param ( + [array]$ChangedFiles +) + +$Verbose = $false +if ($PSBoundParameters.ContainsKey('Verbose')) { + $Verbose = $PsBoundParameters.Get_Item('Verbose') +} + +$root = (Get-Location).Path + +# To include in CI gate +$sampleSet = @{} +foreach ($file in $ChangedFiles) +{ + if (-not (Test-Path $file)) { + Write-Verbose "`u{2754} Changed file $file cannot be found" + continue + } + $dir = (Get-Item $file).DirectoryName + while ((-not ($slnItems = (Get-ChildItem $dir '*.sln'))) -and ($dir -ne $root)) + { + $dir = (Get-Item $dir).Parent.FullName + } + if ($dir -eq $root) + { + Write-Verbose "`u{2754} Changed file $file does not match a sample." + continue + } + $sampleName = $dir.Replace($root, '').Trim('\').Replace('\', '.').ToLower() + Write-Verbose "`u{1F50E} Found sample [$sampleName] at $dir from changed file $file" + if (-not ($sampleSet.ContainsKey($sampleName))) + { + $sampleSet[$sampleName] = $dir + } +} + +.\Build-SampleSet -SampleSet $sampleSet -Verbose:$Verbose -LogFilesDirectory (Join-Path $root "_logs") + |
