Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
65616a8
feat(w2): validate full Qwen3 frontend and runtime contracts
yuki-328 Oct 3, 2026
2d07ccc
fix(w2): clean up owned gates on acceptance cancellation
yuki-328 Oct 5, 2026
22bd3b5
docs: standardize deployment reproduction on Linux
yuki-328 Oct 6, 2026
f7ebbfa
docs: align shared setup guide with Linux reproduction
yuki-328 Oct 6, 2026
8fcc6ea
fix(w2): backport compact probe summaries to acceptance CI
yuki-328 Oct 11, 2026
611958d
Merge upstream main to retain two-layer evidence publication fixes
yuki-328 Oct 11, 2026
611417a
docs: disambiguate the kernel architecture guide
yuki-328 Oct 9, 2026
bf9caa1
docs: make architecture command examples valid Bash
yuki-328 Oct 11, 2026
701ac22
ci: consolidate PR validation and summaries into one workflow
yuki-328 Oct 11, 2026
3663719
ci: limit the W2 summary to operators, precision and timing
jizhenjun Oct 11, 2026
417ea9e
reports: drop the redundant word from the comparison status column
jizhenjun Oct 11, 2026
9269bc6
ci: say how each W2 precision row was produced
jizhenjun Oct 11, 2026
7858b71
ci: fold the Linux reproduction check into the unconditional test job
jizhenjun Oct 11, 2026
e6cfee8
ci: drop the hand-written kernel row from the W2 operator table
jizhenjun Oct 11, 2026
5bbe75f
ci: drop the test job's step summary
jizhenjun Oct 11, 2026
f440e68
ci: move the W1 deliverable table from the summary into the step log
jizhenjun Oct 11, 2026
6c76480
fix(ci): correct W2 summary results and operator coverage (#107)
yuki-328 Oct 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 57 additions & 16 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,44 @@ on:
pull_request:
branches: [main]

# Only newer PR revisions cancel older PR runs. Pushes retain their own run.
concurrency:
group: ci-${{ github.event.pull_request.number || github.run_id }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true

permissions:
contents: read

jobs:
scope:
name: Select validation scope
runs-on: ubuntu-24.04
timeout-minutes: 5
outputs:
llm: ${{ steps.scope.outputs.llm }}
w4: ${{ steps.scope.outputs.w4 }}
steps:
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262
with:
persist-credentials: false
fetch-depth: 0
- name: Preserve deployment and documentation path scopes
id: scope
run: python3 scripts/ci_scope.py

llm:
name: Deployment acceptance
needs: scope
if: github.event_name == 'pull_request' && needs.scope.outputs.llm == 'true'
uses: ./.github/workflows/llm-deploy.yml

topic06:
name: Topic 06 benchmark
uses: ./.github/workflows/topic06-benchmark.yml

# ═════════════════════════════════════════════════════════════════════════
# 课题功能测试:所有14个模块的单元测试 + 集成测试
# ═════════════════════════════════════════════════════════════════════════
Expand Down Expand Up @@ -92,10 +123,14 @@ jobs:
echo "Using python: $($PY -c 'import sys; print(sys.executable, sys.version)')"
$PY -m pip install --upgrade pip setuptools wheel
$PY -m pip install -e ".[all]"
$PY -m pip install "pytest>=7,<10"
$PY -m pip install "pytest>=7,<10" "PyYAML==6.0.3"

# Unconditional: a docs-only change never selects the deployment scope, so
# this check cannot live behind a path filter.
- name: Check public instructions and Bash syntax
run: $PY scripts/check_linux_repro_docs.py --check-bash

- name: Run Topic 04 PassManager regressions
id: topic04_pass_manager
env:
PYTHONHASHSEED: "0"
run: |
Expand All @@ -110,20 +145,6 @@ jobs:
--junit-xml=benchmark_reports/topic04_pass_manager.xml \
| tee benchmark_reports/topic04_pass_manager.txt

- name: Summarize Topic 04 PassManager results
if: always()
env:
TOPIC04_OUTCOME: ${{ steps.topic04_pass_manager.outcome }}
run: |
{
echo "## Topic 04 PassManager"
echo "Result: $TOPIC04_OUTCOME"
echo ""
echo "Coverage: pass registration, enable/disable switches, constant folding, functional pipelines, and optimizer regressions."
echo ""
echo "JUnit XML and detailed test output are included in the test-reports artifact when tests run."
} >> "$GITHUB_STEP_SUMMARY"

- name: Run IR interpreter and LICM regressions
timeout-minutes: 5
env:
Expand Down Expand Up @@ -640,6 +661,10 @@ jobs:
- name: Write job summary
if: always()
run: |
echo "## Compiler benchmarks" >> "$GITHUB_STEP_SUMMARY"
echo "Detailed measurements and diagnostics are retained below and in the benchmark artifact." >> "$GITHUB_STEP_SUMMARY"
echo "<details><summary>Compiler benchmark details</summary>" >> "$GITHUB_STEP_SUMMARY"
echo "" >> "$GITHUB_STEP_SUMMARY"
if [ -f benchmark_reports/ir_interpreter.md ]; then
cat benchmark_reports/ir_interpreter.md >> "$GITHUB_STEP_SUMMARY"
fi
Expand Down Expand Up @@ -692,6 +717,7 @@ jobs:
if [ -f benchmark_reports/ir_verifier.md ]; then
cat benchmark_reports/ir_verifier.md >> "$GITHUB_STEP_SUMMARY"
fi
echo "</details>" >> "$GITHUB_STEP_SUMMARY"

# ═════════════════════════════════════════════════════════════════════════
# GitHub Pages 部署 (仅 main 分支)
Expand All @@ -710,3 +736,18 @@ jobs:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4

acceptance:
name: CI acceptance
if: always()
needs: [scope, test, benchmark, topic06, llm]
runs-on: ubuntu-24.04
timeout-minutes: 5
steps:
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262
with:
persist-credentials: false
- name: Summarize and require every selected check
env:
CI_JOB_RESULTS: ${{ toJSON(needs) }}
run: python3 scripts/summarize_ci.py >> "$GITHUB_STEP_SUMMARY"
Loading
Loading