From eba4a965a056b86e943ef8e0c8d3182437890cc9 Mon Sep 17 00:00:00 2001 From: Advait Paliwal Date: Tue, 24 Mar 2026 10:45:21 -0700 Subject: [PATCH] Strengthen native release CI smoke tests --- .github/workflows/publish.yml | 43 ++++++++++++++++++++++++++++++----- 1 file changed, 37 insertions(+), 6 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 0be7d04..de7d415 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -16,8 +16,8 @@ jobs: should_publish: ${{ steps.version.outputs.should_publish }} should_build_release: ${{ steps.version.outputs.should_build_release }} steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 + - uses: actions/checkout@v6 + - uses: actions/setup-node@v5 with: node-version: 24.14.0 - id: version @@ -44,8 +44,8 @@ jobs: permissions: contents: read steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 + - uses: actions/checkout@v6 + - uses: actions/setup-node@v5 with: node-version: 24.14.0 registry-url: https://registry.npmjs.org @@ -65,21 +65,52 @@ jobs: include: - id: linux-x64 os: ubuntu-latest + smoke_shell: bash + smoke_command: | + VERSION=$(node -p "require('./package.json').version") + tmp=$(mktemp -d) + tar -xzf "dist/release/feynman-${VERSION}-linux-x64.tar.gz" -C "$tmp" + "$tmp/feynman-${VERSION}-linux-x64/feynman" --help >/tmp/feynman-help.out + head -20 /tmp/feynman-help.out - id: darwin-x64 os: macos-15-intel + smoke_shell: bash + smoke_command: | + VERSION=$(node -p "require('./package.json').version") + tmp=$(mktemp -d) + tar -xzf "dist/release/feynman-${VERSION}-darwin-x64.tar.gz" -C "$tmp" + "$tmp/feynman-${VERSION}-darwin-x64/feynman" --help >/tmp/feynman-help.out + head -20 /tmp/feynman-help.out - id: darwin-arm64 os: macos-14 + smoke_shell: bash + smoke_command: | + VERSION=$(node -p "require('./package.json').version") + tmp=$(mktemp -d) + tar -xzf "dist/release/feynman-${VERSION}-darwin-arm64.tar.gz" -C "$tmp" + "$tmp/feynman-${VERSION}-darwin-arm64/feynman" --help >/tmp/feynman-help.out + head -20 /tmp/feynman-help.out - id: win32-x64 os: windows-latest + smoke_shell: pwsh + smoke_command: | + $version = node -p "require('./package.json').version" + $tmp = Join-Path $env:RUNNER_TEMP ("feynman-smoke-" + [guid]::NewGuid().ToString("N")) + New-Item -ItemType Directory -Path $tmp | Out-Null + Expand-Archive -LiteralPath "dist/release/feynman-$version-win32-x64.zip" -DestinationPath $tmp -Force + & "$tmp/feynman-$version-win32-x64/feynman.cmd" --help | Select-Object -First 20 runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 + - uses: actions/checkout@v6 + - uses: actions/setup-node@v5 with: node-version: 24.14.0 - run: npm ci --ignore-scripts - run: npm run build - run: npm run build:native-bundle + - name: Smoke native bundle + shell: ${{ matrix.smoke_shell }} + run: ${{ matrix.smoke_command }} - uses: actions/upload-artifact@v4 with: name: native-${{ matrix.id }}