ci

Diagnose and modify CodeArts and GitHub Actions CI pipelines for the ScienceDiscovery repository.

64|15|Updated Aug 14, 2026
One-click install
npx skills add https://github.com/openJiuwen-ai/sciencediscovery --skill ci-openjiuwen-ai
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: ci
Source: https://github.com/openJiuwen-ai/sciencediscovery/tree/main/.agents/skills/ci
Command: npx skills add https://github.com/openJiuwen-ai/sciencediscovery --skill ci-openjiuwen-ai

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? CI failures across two platforms (CodeArts on GitCode merge requests and GitHub Actions on the mirror) are hard to attribute: jobs are green by construction, layers run in QEMU guests, and results live in OBS objects. This Skill explains which platform runs which test layer, how to read a run, and how to fix or extend a pipeline without weakening sandbox assertions. ## Core Features & Use Cases - Pipeline routing: Maps UT (host/guest tiers), ST, mocked browser E2E, and binary packaging layers to the correct platform and entry point (pnpm ci:ut:host, ci:ut:guest, ci:st, ci:e2e). - Failure diagnosis: Provides a symptom-to-cause table covering bubblewrap namespace errors, QEMU TCG module issues, pnpm workspace-state mismatches, OBS 403s, and code-check JSON normalization. - Workflow editing rules: Enforces shared rules such as never weakening sandbox tests, preserving real exit codes during artifact upload, and using .ci/codearts-verify.sh as the only failure authority. - Use Case: A merge request shows a failed UT guest job. Use this Skill to identify that the guest needs a host-installed workspace, reproduce the failure locally with pnpm ci:ut:guest, and read ut-guest/run.log under CI_RESULTS_DIR. ## Quick Start Ask the assistant to diagnose why the CodeArts UT guest job failed on the latest merge request and explain how to reproduce it locally.

Frequently Asked Questions about ci

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I reproduce a CodeArts CI failure locally?▼

Run the layer entry point the job used, such as pnpm ci:ut:host for the CodeArts UT job or pnpm ci:ut for the GitHub one, on a checkout of the tested commit. Point CI_RESULTS_DIR and CI_RUNTIME_DIR somewhere writable; each layer leaves run.log and a summary under CI_RESULTS_DIR/<layer>/.

Which CI platform runs which test layer in this repository?▼

CodeArts on GitCode merge requests runs both UT tiers (host and QEMU guest), ST, and x86_64 plus aarch64 packaging, but not browser E2E. GitHub Actions on the mirror runs full ci:ut, ci:st, mocked ci:e2e, and smoke-gated binaries for both architectures.

Why does the CodeArts job show green when tests actually failed?▼

The console build-task shell returns success even when the layer fails so its OBS action can upload the log, making every job green by construction. The .ci/codearts-verify.sh script reads recorded exit-code objects back from OBS and is the only job that can turn a run red.

Why does the UT guest tier fail with a bubblewrap namespace error?▼

The error 'bwrap: No permissions to create new namespace' means the host forbids user namespaces, as on the default CodeArts CCE pool. Run the guest tier in the pre-provisioned QEMU Ubuntu guest instead, and never weaken sandbox assertions to make the pipeline pass.

What should I do when a formal CodeArts job reports a stable OBS cache miss?▼

Keep the job failed and do not add source fallback to formal CI. Push or rerun the ci/codearts-resources branch, verify its checksum-pinned upload, update prebuilt-image pins if needed, then rerun the formal workflow.

Why does the guest log show pnpm trying to reinstall the workspace?▼

pnpm's verify-deps-before-run keys the workspace state file by absolute paths, so a workspace moved into the guest always looks changed. Keep pnpm_config_verify_deps_before_run= (with the pnpm_ prefix and empty value) in the guest environment rather than letting the guest install.