You can not select more than 25 topics
Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
- # cd to the directory of this script
- $scriptPath = Split-Path -Parent $MyInvocation.MyCommand.Definition
- $rootPath = Split-Path -Parent $scriptPath
- $outputFolder = "$rootPath/output"
- if (Test-Path $outputFolder) {
- Remove-Item $outputFolder -Recurse -Force
- }
- New-Item -ItemType Directory -Path $outputFolder
-
- Set-Location $rootPath
-
- # list all notebooks under notebook folder
- $notebooks = Get-ChildItem -Path "$rootPath/notebook" -Recurse -Include *.ipynb | ForEach-Object { $_.FullName }
- # skip those notebooks with the same name as the following
- $skip_notebooks = @(
- 'TwoAgentChat_UserProxy.ipynb' # require user input
- )
-
- # for each notebook, run it using dotnet perl. Check the exit code and print out the result
- # if the exit code is not 0, exit the script with exit code 1
- $failNotebooks = @()
- $exitCode = 0
- $LASTEXITCODE = 0
- foreach ($notebook in $notebooks) {
- Write-Host "Running $notebook"
- # get notebook name with extension
- $name = Split-Path -Leaf $notebook
-
- if ($skip_notebooks -contains $name) {
- Write-Host "Skipping $name"
- continue
- }
- Write-Host "Name: $name"
- $notebookFolder = Split-Path -Parent $notebook
- $outputPath = "$outputFolder\$notebookFolder"
- Set-Location $notebookFolder
- $proc = Start-Process -FilePath dotnet -ArgumentList "repl --run $name --exit-after-run" -PassThru -NoNewWindow
- $timeout = $null
- $proc | Wait-Process -Timeout 180 -ErrorAction SilentlyContinue -ErrorVariable $timeout
- if ($timeout) {
- Write-Host "Timeout when running $notebook"
- $LASTEXITCODE = 1
- }
- else {
- $LASTEXITCODE = $proc.ExitCode
- }
- Write-Host "Exit code: $LASTEXITCODE"
- if ($LASTEXITCODE -ne 0) {
- Write-Host "Failed to run $notebook"
- $failNotebooks += $notebook
- $exitCode = 1
- }
- else{
- Write-Host "Successfully ran $notebook"
- }
- Set-Location $rootPath
- }
-
- Write-Host "Failed notebooks:"
- foreach ($notebook in $failNotebooks) {
- Write-Host $notebook
- }
-
- $failNotebooks | Should -BeNullOrEmpty
|