diff --git a/.github/workflows/build-cli-binaries.yml b/.github/workflows/build-cli-binaries.yml index 828c6fd718..36ba0396d8 100644 --- a/.github/workflows/build-cli-binaries.yml +++ b/.github/workflows/build-cli-binaries.yml @@ -39,38 +39,38 @@ jobs: # See: https://github.com/oven-sh/bun/pull/11430 # - os: windows-11-arm # target: win32-arm64 - + runs-on: ${{ matrix.os }} - + steps: - name: Checkout code - uses: actions/checkout@v4 - + uses: actions/checkout@v5 + - name: Setup Bun uses: oven-sh/setup-bun@v2 with: bun-version: latest - + - name: Setup pnpm - uses: pnpm/action-setup@v3 + uses: pnpm/action-setup@v4 with: version: 10.11.0 - + - name: Setup Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version: '20' cache: 'pnpm' - + - name: Install root dependencies run: pnpm i - + - name: Install genkit-tools dependencies run: pnpm pnpm-install-genkit-tools - + - name: Build genkit-tools run: pnpm build:genkit-tools - + - name: Set binary extension id: binary shell: bash @@ -80,13 +80,13 @@ jobs: else echo "ext=" >> $GITHUB_OUTPUT fi - + - name: Compile CLI binary shell: bash run: | cd genkit-tools/cli pnpm compile:bun - + # Handle the binary name based on OS if [[ "${{ matrix.os }}" == windows-* ]]; then # On Windows, Bun outputs genkit.exe @@ -95,7 +95,7 @@ jobs: # On Unix-like systems, no extension mv dist/bin/genkit "dist/bin/genkit-${{ matrix.target }}" fi - + - name: Upload binary artifact uses: actions/upload-artifact@v4 with: @@ -118,9 +118,9 @@ jobs: target: darwin-arm64 - os: windows-latest target: win32-x64 - + runs-on: ${{ matrix.os }} - + steps: - name: Set binary extension id: binary @@ -131,64 +131,64 @@ jobs: else echo "ext=" >> $GITHUB_OUTPUT fi - + - name: Download binary artifact - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v5 with: name: genkit-${{ matrix.target }} path: ./ - + - name: Make binary executable (Unix) if: runner.os != 'Windows' run: chmod +x genkit-${{ matrix.target }} - + - name: Test --help command shell: bash run: | echo "Testing genkit --help" ./genkit-${{ matrix.target }}${{ steps.binary.outputs.ext }} --help - + - name: Test --version command shell: bash run: | echo "Testing genkit --version" ./genkit-${{ matrix.target }}${{ steps.binary.outputs.ext }} --version - + - name: Verify UI commands exist shell: bash run: | echo "Verifying UI commands are available" ./genkit-${{ matrix.target }}${{ steps.binary.outputs.ext }} ui:start --help ./genkit-${{ matrix.target }}${{ steps.binary.outputs.ext }} ui:stop --help - + - name: Test UI start functionality (Unix only) if: runner.os != 'Windows' shell: bash run: | echo "Testing genkit ui:start" - + # Start UI in background, piping any prompts to accept them (echo "" | ./genkit-${{ matrix.target }} ui:start 2>&1 | tee ui_output.log) & UI_PID=$! - + # Give it time to start sleep 5 - + # Check if it started successfully by looking for the expected output if grep -q "Genkit Developer UI started at:" ui_output.log 2>/dev/null; then echo "✓ UI started successfully" cat ui_output.log - + # Try to stop it gracefully echo "Testing genkit ui:stop" ./genkit-${{ matrix.target }} ui:stop || true - + # Give it time to stop sleep 2 else echo "UI output:" cat ui_output.log 2>/dev/null || echo "No output captured" - + # Check if process is still running if ps -p $UI_PID > /dev/null 2>&1; then echo "Process is running but didn't produce expected output" @@ -197,19 +197,19 @@ jobs: echo "Process exited (might be due to cookie prompt or missing project)" fi fi - + # Clean up any remaining processes pkill -f "genkit.*ui:start" 2>/dev/null || true - + - name: Test UI start functionality (Windows only) if: runner.os == 'Windows' shell: pwsh run: | Write-Host "Testing genkit ui:start" - + # Create empty input file first for redirecting stdin "" | Out-File -FilePath ".\empty.txt" - + # Start UI in background, redirecting input to handle prompts $process = Start-Process -FilePath ".\genkit-${{ matrix.target }}.exe" ` -ArgumentList "ui:start" ` @@ -218,23 +218,23 @@ jobs: -RedirectStandardError ".\ui_error.log" ` -PassThru ` -NoNewWindow - + # Give it time to start Start-Sleep -Seconds 5 - + # Read the output $output = Get-Content ".\ui_output.log" -ErrorAction SilentlyContinue $errorOutput = Get-Content ".\ui_error.log" -ErrorAction SilentlyContinue - + if ($output -match "Genkit Developer UI started at:") { Write-Host "✓ UI started successfully" Write-Host "Output:" $output | Write-Host - + # Try to stop it gracefully Write-Host "Testing genkit ui:stop" & ".\genkit-${{ matrix.target }}.exe" ui:stop - + Start-Sleep -Seconds 2 } else { Write-Host "UI did not start as expected" @@ -242,7 +242,7 @@ jobs: $output | Write-Host Write-Host "Error:" $errorOutput | Write-Host - + # Check if process is still running if (-not $process.HasExited) { Write-Host "Process is still running, terminating..." @@ -251,6 +251,6 @@ jobs: Write-Host "Process exited (might be due to cookie prompt or missing project)" } } - + # Clean up any remaining genkit processes - Get-Process | Where-Object { $_.ProcessName -match "genkit" } | Stop-Process -Force -ErrorAction SilentlyContinue \ No newline at end of file + Get-Process | Where-Object { $_.ProcessName -match "genkit" } | Stop-Process -Force -ErrorAction SilentlyContinue diff --git a/.github/workflows/builder.yml b/.github/workflows/builder.yml index 64a944764e..3812c97552 100644 --- a/.github/workflows/builder.yml +++ b/.github/workflows/builder.yml @@ -27,10 +27,10 @@ jobs: name: Run build tasks runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: pnpm/action-setup@v3 + - uses: actions/checkout@v5 + - uses: pnpm/action-setup@v4 - name: Set up node v20 - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version: 20.x cache: pnpm diff --git a/.github/workflows/bump-cli-version.yml b/.github/workflows/bump-cli-version.yml index b5b2559352..6ce05c4da4 100644 --- a/.github/workflows/bump-cli-version.yml +++ b/.github/workflows/bump-cli-version.yml @@ -43,14 +43,14 @@ jobs: name: Version bump runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v5 with: token: ${{ secrets.GENKIT_RELEASER_GITHUB_TOKEN }} - - uses: pnpm/action-setup@v3 + - uses: pnpm/action-setup@v4 - name: Set up node v20 - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version: 20.x cache: 'pnpm' diff --git a/.github/workflows/bump-js-version.yml b/.github/workflows/bump-js-version.yml index 497c0f7ce0..d139baea42 100644 --- a/.github/workflows/bump-js-version.yml +++ b/.github/workflows/bump-js-version.yml @@ -43,14 +43,14 @@ jobs: name: Version bump runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v5 with: token: ${{ secrets.GENKIT_RELEASER_GITHUB_TOKEN }} - - uses: pnpm/action-setup@v3 + - uses: pnpm/action-setup@v4 - name: Set up node v20 - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version: 20.x cache: 'pnpm' diff --git a/.github/workflows/bump-package-version.yml b/.github/workflows/bump-package-version.yml index a69d3f19e2..d1d8ad81a2 100644 --- a/.github/workflows/bump-package-version.yml +++ b/.github/workflows/bump-package-version.yml @@ -51,14 +51,14 @@ jobs: name: Version bump runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v5 with: token: ${{ secrets.GENKIT_RELEASER_GITHUB_TOKEN }} - - uses: pnpm/action-setup@v3 + - uses: pnpm/action-setup@v4 - name: Set up node v20 - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version: 20.x cache: 'pnpm' diff --git a/.github/workflows/e2e-tests.yml b/.github/workflows/e2e-tests.yml index d72380b586..53ad29e1a6 100644 --- a/.github/workflows/e2e-tests.yml +++ b/.github/workflows/e2e-tests.yml @@ -26,10 +26,10 @@ jobs: name: Run e2e tests runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: pnpm/action-setup@v3 + - uses: actions/checkout@v5 + - uses: pnpm/action-setup@v4 - name: Set up node v20 - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version: 20.x cache: pnpm diff --git a/.github/workflows/engdoc.yml b/.github/workflows/engdoc.yml index 6e8e56bbbd..b83808515c 100644 --- a/.github/workflows/engdoc.yml +++ b/.github/workflows/engdoc.yml @@ -35,7 +35,7 @@ jobs: fail-fast: false steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Install system dependencies run: | diff --git a/.github/workflows/formatter.yml b/.github/workflows/formatter.yml index 403d06842d..3c82d9754a 100644 --- a/.github/workflows/formatter.yml +++ b/.github/workflows/formatter.yml @@ -27,10 +27,10 @@ jobs: name: Run formatting/linting tasks runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: pnpm/action-setup@v3 + - uses: actions/checkout@v5 + - uses: pnpm/action-setup@v4 - name: Set up node v20 - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version: 20.x cache: pnpm diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 30f1bf2822..e4e97ac554 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -34,10 +34,10 @@ jobs: - name: Checkout Repo uses: actions/checkout@main - - uses: pnpm/action-setup@v3 + - uses: pnpm/action-setup@v4 - name: Set up Node - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version: 20.x cache: 'pnpm' diff --git a/.github/workflows/publish_python.yml b/.github/workflows/publish_python.yml index 90391a33b8..3fd79efbd9 100644 --- a/.github/workflows/publish_python.yml +++ b/.github/workflows/publish_python.yml @@ -58,7 +58,7 @@ jobs: fail-fast: false steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Install system dependencies run: | @@ -108,7 +108,7 @@ jobs: id-token: write steps: - name: Download artifacts - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v6 with: name: dist path: py/dist/ diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index f2f5a13143..2d0b69aa69 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -41,7 +41,7 @@ jobs: fail-fast: false steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v5 - name: Install system dependencies run: | @@ -59,12 +59,12 @@ jobs: components: rustfmt, clippy - name: Install Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version: '20' - name: Install pnpm - uses: pnpm/action-setup@v3 + uses: pnpm/action-setup@v4 with: version: 10.2.0 diff --git a/.github/workflows/release_js_main.yml b/.github/workflows/release_js_main.yml index 81e58b62fd..5ae4453b48 100644 --- a/.github/workflows/release_js_main.yml +++ b/.github/workflows/release_js_main.yml @@ -35,10 +35,10 @@ jobs: name: Run build tasks runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: pnpm/action-setup@v3 + - uses: actions/checkout@v5 + - uses: pnpm/action-setup@v4 - name: Set up node v0 - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version: 20.x cache: 'pnpm' @@ -55,7 +55,7 @@ jobs: - name: Validate working directory is clean run: .github/workflows/scripts/ensure-clean-working-tree.sh - name: Set up node v20 - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version: 20.x cache: 'pnpm' diff --git a/.github/workflows/release_js_package.yml b/.github/workflows/release_js_package.yml index 0ccd50d4a1..c3119251a0 100644 --- a/.github/workflows/release_js_package.yml +++ b/.github/workflows/release_js_package.yml @@ -39,10 +39,10 @@ jobs: name: Run build tasks runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: pnpm/action-setup@v3 + - uses: actions/checkout@v5 + - uses: pnpm/action-setup@v4 - name: Set up node v20 - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version: 20.x cache: 'pnpm' @@ -57,7 +57,7 @@ jobs: - name: Validate working directory is clean run: .github/workflows/scripts/ensure-clean-working-tree.sh - name: Set up node v20 - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version: 20.x cache: 'pnpm' diff --git a/.github/workflows/samples.yml b/.github/workflows/samples.yml index 2d6efa62f4..ab9c970427 100644 --- a/.github/workflows/samples.yml +++ b/.github/workflows/samples.yml @@ -29,10 +29,10 @@ jobs: name: Build Samples runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: pnpm/action-setup@v3 + - uses: actions/checkout@v5 + - uses: pnpm/action-setup@v4 - name: Set up node v20 - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version: 20.x cache: pnpm diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index ecaf9ba674..dca9ac47f0 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -27,10 +27,10 @@ jobs: name: Run Tests (just DevUI tests for now) runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: pnpm/action-setup@v3 + - uses: actions/checkout@v5 + - uses: pnpm/action-setup@v4 - name: Set up node v20 - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version: 20.x cache: pnpm