Skip to content

fix: restore main CI after git diff support#13

Merged
tacogips merged 4 commits into
mainfrom
fix/main-ci-after-diff-view
Jun 2, 2026
Merged

fix: restore main CI after git diff support#13
tacogips merged 4 commits into
mainfrom
fix/main-ci-after-diff-view

Conversation

@tacogips

@tacogips tacogips commented Jun 2, 2026

Copy link
Copy Markdown
Owner

Summary

  • add Git to the Nix build/test/dev inputs and packaged Linux runtime PATH for Git-backed diff support
  • clear stale Tauri build-script outputs before the clippy check when crane reuses cargo artifacts
  • force X11 + llvmpipe/Mesa software rendering for Linux Tauri e2e startup under Xvfb

CI failures addressed

  • nix-flake-check: Git diff tests failed because git was unavailable inside the Nix sandbox
  • nix-flake-check: clippy could reuse Tauri build-script outputs with stale absolute OUT_DIR paths
  • tauri-e2e-linux: WebKitGTK startup aborted with Could not create default EGL display: EGL_BAD_PARAMETER

Verification

  • bun run typecheck
  • bash .agents/scripts/format-ts.sh
  • bash -n scripts/run-tauri-e2e-linux.sh
  • git diff --check
  • nix flake check -L

tacogips added 4 commits June 2, 2026 15:30
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
@tacogips tacogips merged commit 795d767 into main Jun 2, 2026
3 checks passed
@tacogips tacogips deleted the fix/main-ci-after-diff-view branch June 2, 2026 10:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant