fix: restore main CI after git diff support#13
Merged
Conversation
1. Primary Changes and Intent: Restored main CI compatibility after the Git diff viewer work by making Git available in Nix build, test, development, and packaged runtime contexts and by hardening Linux Tauri e2e execution under Xvfb. 2. Key Technical Concepts: - Nix nativeBuildInputs and dev shell runtime tools - Tauri packaged binary PATH wrapping for Git-backed diff commands - Crane cargo artifact reuse and Tauri build-script output invalidation - WebKitGTK/Xvfb software rendering with EGL and Mesa llvmpipe 3. Files and Code Sections: - flake.nix: Adds git to cargo artifact, package, clippy, and dev shell inputs; wraps the Linux binary PATH with git; clears stale Tauri build-script outputs before clippy when cargo artifacts are reused. - scripts/run-tauri-e2e-linux.sh: Adds EGL and Mesa software-rendering defaults for Linux e2e runs. - tests/tauri/tauri-smoke.e2e.ts: Mirrors the Linux headless rendering environment in generated Tauri launchers. 4. Problem Solving: Fixes nix-flake-check failures caused by missing git in the Nix sandbox and avoids stale Tauri OUT_DIR permission paths during clippy. Also addresses the tauri-e2e-linux EGL_BAD_PARAMETER startup failure by forcing X11 and llvmpipe software rendering. 5. Impact: Main CI can validate the Git diff feature without missing runtime tools, and Linux desktop smoke tests should start reliably in headless CI. 6. Unresolved TODOs: - [ ] None
1. Primary Changes and Intent: Pins the Linux WebKitGTK and adjacent GUI/media runtime stack to nixos-24.05 while leaving the rest of the project on the existing Nix inputs, avoiding the WebKitGTK 2.48.3 EGL crash seen in GitHub Actions Tauri e2e. 2. Key Technical Concepts: - Separate Nixpkgs input for Linux GUI dependencies - WebKitGTK 4.1 ABI compatibility for Tauri v2 - GTK/GStreamer/runtime-library consistency under Nix dev shells and packages - Headless Linux WebDriver stability under Xvfb 3. Files and Code Sections: - flake.nix: Adds nixpkgs-webkit, imports it per system, and routes Linux GUI, GIO, XDG, WebKit media, and GStreamer packages through the pinned package set. - flake.lock: Records the nixos-24.05 nixpkgs input used for the pinned Linux WebKit stack. 4. Problem Solving: Addresses the persistent tauri-e2e-linux failure where WebKitGTK aborted with EGL_BAD_PARAMETER even after forcing software rendering environment variables. 5. Impact: Keeps Linux Tauri WebDriver tests on a known compatible WebKitGTK stack while preserving the main Nix build and development inputs. 6. Unresolved TODOs: - [ ] None
1. Primary Changes and Intent: Added a project-scope Codex skill documenting the general Apple Developer ID, app-specific password, kinko storage, and notarization readiness workflow for chilla. 2. Key Technical Concepts: - Project-scope Codex skills under .agents/skills - Apple Developer ID Application signing - Apple app-specific passwords for notarization - kinko secret injection without credential disclosure - Nix shell notarytool wrapper guidance 3. Files and Code Sections: - .agents/skills/apple-notarization-setup/SKILL.md: New credential-safe procedural workflow for Apple signing and notarization setup. - .agents/skills/apple-notarization-setup/agents/openai.yaml: UI metadata for the new project skill. 4. Problem Solving: Captures the Apple registration and local notarization setup process as reusable project guidance without embedding any credential values. 5. Impact: Future local macOS signing/notarization work can follow a consistent, credential-safe workflow. 6. Unresolved TODOs: - [ ] None
1. Primary Changes and Intent: Updated the Linux Tauri smoke test to wait until the workspace path text reflects the loaded fixture workspace before asserting startup success. 2. Key Technical Concepts: - Selenium WebDriver polling - Tauri desktop startup synchronization - Linux headless e2e timing stability 3. Files and Code Sections: - tests/tauri/tauri-smoke.e2e.ts: Reuses the existing waitUntil helper around .file-browser__path text retrieval so transient Loading... content does not fail the startup check. 4. Problem Solving: Fixes the latest tauri-e2e-linux failure where the app started successfully but the test read the path element before workspace loading completed. 5. Impact: The Linux e2e check should now wait for the same user-visible readiness state it asserts, reducing CI timing flakiness after WebKit startup is fixed. 6. Unresolved TODOs: - [ ] None
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
CI failures addressed
gitwas unavailable inside the Nix sandboxCould not create default EGL display: EGL_BAD_PARAMETERVerification
bun run typecheckbash .agents/scripts/format-ts.shbash -n scripts/run-tauri-e2e-linux.shgit diff --checknix flake check -L