diff --git a/.gitattributes b/.gitattributes index 285440b7f7..6748da0803 100644 --- a/.gitattributes +++ b/.gitattributes @@ -5,3 +5,6 @@ packages/three-native/tests/compatibility/goldens/** linguist-generated packages/three-native/tests/compatibility/fixtures/** linguist-generated packages/three-native/api/*.json linguist-generated packages/three-native/generated/** linguist-generated + +# A CRLF checkout breaks Vite's shebang strip (`/^#!.*\n/`), so a shebang module fails to import on Windows. +*.mjs text eol=lf diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index abbad14749..b335d640ce 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -208,6 +208,9 @@ jobs: run: | set -euo pipefail pnpm lint + # PRD-836: the capability reference and the context skill are build output, not tracked + # files, and `check:docs` resolves links against the working tree. + pnpm capabilities:sync pnpm check:docs pnpm exec vitest run \ scripts/__tests__/check-doc-links.spec.ts \ @@ -1451,6 +1454,9 @@ jobs: shared-artifact: workspace-packages save-bundles: "false" pack-archives: "false" + # The capability reference is build output (PRD-836): `budgets --check`s it, so a clean + # checkout generates it first, exactly as the docs lane does. + - run: pnpm capabilities:sync - run: pnpm budgets - run: pnpm quality - run: pnpm sync:agents --check diff --git a/.github/workflows/native-platforms.yml b/.github/workflows/native-platforms.yml index dd0a63d233..8725d8a774 100644 --- a/.github/workflows/native-platforms.yml +++ b/.github/workflows/native-platforms.yml @@ -1513,6 +1513,14 @@ jobs: pnpm --filter @threenative/runtime-native native:build - if: runner.os != 'Windows' run: pnpm --filter @threenative/runtime-native native:build + - name: Install the Linux display probe's tools + if: runner.os == 'Linux' + run: | + # `host-window.test.mjs` reads the window the X server reports. The hosted image ships + # Xvfb, xwininfo and xprop but no xdotool, so the verify lane below failed on the + # prerequisite instead of running the probe. Installed here, not trusted to the image. + sh scripts/retry-download.sh sudo apt-get update + sh scripts/retry-download.sh sudo apt-get install -y xdotool xvfb x11-utils - name: Report the compiler cache hit rate if: always() && env.CCACHE_UNAVAILABLE != '1' shell: bash diff --git a/.github/workflows/native-release.yml b/.github/workflows/native-release.yml index fd88f7d560..b6c0e6675f 100644 --- a/.github/workflows/native-release.yml +++ b/.github/workflows/native-release.yml @@ -258,6 +258,7 @@ jobs: libxcursor-dev libxi-dev libxfixes-dev libxss-dev libxkbcommon-dev libgtk-3-dev libwebkit2gtk-4.1-dev libxcomposite-dev xcompmgr libvulkan1 mesa-vulkan-drivers vulkan-tools zlib1g-dev + xdotool xvfb x11-utils - name: Install Windows HTTP build dependencies if: runner.os == 'Windows' run: >- @@ -551,11 +552,15 @@ jobs: name: runtime-ios-simulator-arm64 path: release/threenative-ios-simulator-arm64.zip if-no-files-found: error + # Runs when the proof above fails, which is the only time anyone reads these logs: a failed + # launch writes `variant-