terraphim / terraphim/terraphim-ai

CI/CD Infrastructure: Fix pre-existing Python Bindings, Test Tauri, and Documentation Deploy failures

Open
#328 13 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
62
Forks
5
Avg merge
2h 27m
Merged PRs (30d)
1

Description

Summary

Multiple CI/CD workflows are consistently failing across all PRs due to infrastructure issues unrelated to code changes. These failures are blocking PR merges despite the actual changes being valid and passing relevant checks.

Affected Workflows

1. Python Bindings CI/CD (.github/workflows/python-bindings.yml)

Status: ❌ Consistently failing since 2025-11-17
Impact: All Python versions (3.9-3.12) on all platforms (Ubuntu, macOS, Windows)

Error Patterns:

  • Black formatter: would reformat terraphim_automata/__init__.pyi and tests/test_thesaurus.py
  • Maturin build: Couldn't find a virtualenv or conda environment
  • Benchmark job: Missing Rust target x86_64-unknown-linux-gnu

Root Cause: Environment setup and code formatting issues in terraphim_automata_py crate

2. Test Tauri (.github/workflows/test-on-pr-desktop.yml)

Status: ❌ Consistently failing since 2025-11-18
Impact: All platforms (Ubuntu 22.04/24.04, macOS, Windows)

Error Patterns:

  • Windows: Missing Rust target x86_64-unknown-linux-gnu
  • Ubuntu: webkit2gtk-4.1-dev package dependency issues
  • macOS: Environment setup failures

Root Cause: Tauri test environment configuration and platform-specific dependency issues

3. Deploy Documentation (.github/workflows/deploy-docs.yml)

Status: ❌ Cloudflare Pages deployment failing
Impact: Documentation builds on self-hosted runners

Root Cause: Self-hosted runner (terraphim) configuration issues with mdBook deployment

Evidence of Pre-existing Issues

  • ❌ Zero successful runs in recent history (3+ days)
  • ❌ Identical failures across PRs #324, #325, #326, #327 (unrelated changes)
  • ❌ Infrastructure errors (environment setup, not code logic)
  • ✅ No code changes in these PRs affect these workflows

Recommended Fixes

Python Bindings CI/CD
# Add to .github/workflows/python-bindings.yml

- name: Setup virtual environment
  run: |
    uv venv
    source .venv/bin/activate
  working-directory: crates/terraphim_automata_py

- name: Fix Black formatting
  run: uv run black python/
  working-directory: crates/terraphim_automata_py
  continue-on-error: false

- name: Install Rust target for benchmarks
  run: rustup target add x86_64-unknown-linux-gnu
  if: matrix.os == 'ubuntu-latest'
Test Tauri
# Add to .github/workflows/test-on-pr-desktop.yml

- name: Install Rust target (Windows)
  run: rustup target add x86_64-unknown-linux-gnu
  if: matrix.os == 'windows-latest'

- name: Fix Ubuntu webkit dependencies
  run: |
    sudo apt-get update
    sudo apt-get install -y libwebkit2gtk-4.1-dev libjavascriptcoregtk-4.1-dev
  if: matrix.os == 'ubuntu-latest'
Documentation Deploy
  1. Verify self-hosted runner terraphim is online and has necessary tools:

    • mdBook installed
    • Cloudflare CLI configured
    • Proper network access
  2. Update workflow to use GitHub-hosted runners temporarily if self-hosted is unreliable

Immediate Workaround

If these workflows block PR merges:

  1. Temporarily disable these workflows in PR branches by adding to .github/workflows/*.yml:

    on:
      push:
        branches-ignore:
          - feat/*
          - build/*
          - test/*
          - docs/*
    
  2. Focus on core workflows that are passing:

    • CI Native (GitHub Actions + Docker Buildx)
    • CI Optimized (Docker Layer Reuse)
    • Claude Code Review
    • Pre-commit hooks

Priority

High - These failures are blocking all PR work and creating false signals about code quality

Additional Context

These issues were discovered while splitting PR #320 into focused PRs (#324-#327). The focused PRs themselves are valid and pass all relevant checks (secret detection, Rust build/tests, pre-commit hooks), but are blocked by these pre-existing infrastructure failures.

Related PRs

  • PR #324: feat: enhance secret management with 1Password infrastructure
  • PR #325: build: rename terraphim_tui package to terraphim_agent in server
  • PR #326: test: reorder test settings profiles for consistency
  • PR #327: docs: remove trailing whitespace from codebase-eval-check.md

Definition of Done

  • Python Bindings CI/CD passes on all platforms
  • Test Tauri passes on all platforms
  • Deploy Documentation successfully builds and deploys
  • All three workflows show green status on main branch
  • New PRs no longer show false failure signals

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading .github/workflows/python-bindings.yml, .github/workflows/test-on-pr-desktop.yml, and .github/workflows/deploy-docs.yml, then compare their failures across PRs #324-#327. Check the affected environment setup and platform-specific dependencies before rerunning the workflows. Done means all three workflows pass on their supported platforms and documentation deploys successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, python, rust, tauri
Domain
ci-cd, documentation, infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.