Files
rea/.github/workflows/ci.yml
T
15f44d640d test(ci): profile real Windows package verification phases [skip ci]
Temporary manual-only investigation branch for #2190; never merge this workflow replacement. Build the Windows native package artifact from this exact head/run, then execute the unchanged pack/install/CLI/MCP/setup/uninstall/update contracts on Windows with phase timestamps. Observe upstream-registry request costs and delegate every update-host operation to the actual production host. Keep assertions, package-manager commands, deadlines and cleanup semantics.

Profile controls preserve value and exception identity and emit nothing when disabled. Workflow syntax and pinned-toolchain check:fast pass. A local npm-script probe already shows npm exports its configured download-cache path, so isolated HOME alone is not evidence that the verifier loses that cache. No optimization or speedup is claimed.

Refs #2190

Co-authored-by: Kaoru0822 <208281322+kaoru0822-kitauji@users.noreply.github.com>
Co-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>
2026-10-14 16:55:48 +00:00

74 lines
3.0 KiB
YAML

name: CI
run-name: "Temporary issue 2190 Windows phase profile; never merge this branch"
on:
workflow_dispatch:
permissions:
contents: read
concurrency:
group: diagnose-windows-package-${{ github.ref }}
cancel-in-progress: false
jobs:
windows-native-build:
name: Build bundled Windows x64 native controls
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version-file: .nvmrc
- name: Prepare cross compiler
run: |
# Slow Azure archive transfers can exhaust the job before compilation.
# Keep the same signed packages and avoid slow HTTP mirror fallback.
for source in /etc/apt/apt-mirrors.txt /etc/apt/sources.list /etc/apt/sources.list.d/ubuntu.sources; do
if [ -f "$source" ]; then
sudo sed -i 's|azure.archive.ubuntu.com|archive.ubuntu.com|g; s|http://archive.ubuntu.com|https://archive.ubuntu.com|g' "$source"
fi
done
sudo apt-get update
sudo apt-get install --no-install-recommends -y g++-mingw-w64-x86-64
- run: npm run build:windows-native
- run: npm run verify:windows-native:artifact
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: windows-native-controls
path: native/windows/build/
if-no-files-found: error
windows-profile:
name: Profile real Windows package verifier
needs: windows-native-build
runs-on: windows-latest
timeout-minutes: 25
steps:
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
- uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version-file: .nvmrc
- uses: ./.github/actions/npm-cache
- run: npm ci
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with:
name: windows-native-controls
path: native/windows/build/
- run: npm run verify:windows-native:artifact
- run: npm run build:cached
- name: Record version and prepare profile artifact
run: |
node --version
npm --version
git rev-parse HEAD
New-Item -ItemType Directory -Force (Join-Path $env:RUNNER_TEMP "rea-package-diagnostics")
- name: Real pack, install, CLI, MCP, setup, uninstall, update and cleanup
env:
REA_CI_PACKAGE_TRACE: ${{ runner.temp }}/rea-package-diagnostics/phases.jsonl
run: npm run verify:package:windows
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
if: ${{ always() }}
with:
name: windows-package-phase-profile
path: ${{ runner.temp }}/rea-package-diagnostics/
if-no-files-found: error
retention-days: 7