diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e6b927316..3afd2d597 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -97,7 +97,7 @@ jobs: run: node tests/run-all.js env: CLAUDE_CODE_PACKAGE_MANAGER: ${{ matrix.pm }} - ECC_TEST_ALLOW_FAILURES: '1' + ECC_TEST_SKIP: 'ownership-guard,install-state-projection,install-state-selective-reinstall,codex-hooks,install-apply,hooks.test,observe-subdirectory-detection,claude-scope-migration,state-store,control-pane.test,setup.test' # Upload test artifacts on failure - name: Upload test artifacts @@ -324,7 +324,7 @@ jobs: - name: Run coverage run: npm run coverage env: - ECC_TEST_ALLOW_FAILURES: '1' + ECC_TEST_SKIP: 'ownership-guard,install-state-projection,install-state-selective-reinstall,codex-hooks,install-apply,hooks.test,observe-subdirectory-detection,claude-scope-migration,state-store,control-pane.test,setup.test' - name: Upload coverage report if: always() diff --git a/tests/run-all.js b/tests/run-all.js index 4ef029120..2a42fcdf3 100644 --- a/tests/run-all.js +++ b/tests/run-all.js @@ -103,6 +103,11 @@ console.log(boxLine(' Everything Claude Code - Test Suite')); console.log('╚' + '═'.repeat(BOX_W) + '╝'); console.log(); +if (skipPatterns.length > 0) { + console.log(`⚠ Skipped patterns: ${skipPatterns.join(', ')}`); + console.log(); +} + if (testFiles.length === 0) { console.log(`✗ No test files matched ${TEST_GLOB}${filter ? ` with filter "${filter}"` : ''}`); process.exit(1); @@ -196,5 +201,4 @@ if (failedFiles.length > 0) { console.log('╚' + '═'.repeat(BOX_W) + '╝'); console.log(`\nPassed: ${totalPassed}, Failed: ${totalFailed}`); -const allowFailures = process.env.ECC_TEST_ALLOW_FAILURES === '1'; -process.exit(!allowFailures && totalFailed > 0 ? 1 : 0); +process.exit(totalFailed > 0 ? 1 : 0);