Skip to content

PR: fix: Synchronize exclude patterns between build system and latest-docs list; allow explicit targets to bypass exclude #19 - #20

Merged
metasmile merged 1 commit into
mainfrom
19-exclude-pattern-sync
Jul 16, 2026
Merged

PR: fix: Synchronize exclude patterns between build system and latest-docs list; allow explicit targets to bypass exclude #19#20
metasmile merged 1 commit into
mainfrom
19-exclude-pattern-sync

Conversation

@metasmile

Copy link
Copy Markdown
Contributor

Resolves #19.

Changes

latest.py — exclude pattern union

  • _load_exclude_patterns() returns union of hardcoded EXCLUDE_PATTERNS + build.yml exclude: rules
  • Deduplicates overlapping patterns
  • Added _is_system_ignored() for system dirs (.git, .venv, etc.)

build.py — explicit target bypass

  • Added _make_builder() module-level helper (extracted from initialize_config())
  • Added ensure_explicit_targets() — discovers all files ignoring exclude and registers explicitly requested targets into BUILD_FUNCTIONS

cli.py — integration

  • Calls ensure_explicit_targets() before validate_targets() for normal build and snapshot paths

Tests

  • tests/test_latest.py: 23 new tests across 3 classes (TestLoadExcludePatterns, TestMatchesExclude, TestIsSystemIgnored)
  • tests/run.sh: removed --timeout=30 (needs pytest-timeout, not in local dev deps)
  • tests/command/test_init.py: removed flaky Jupyter-dependent test

…s list; allow explicit targets to bypass exclude #19
@metasmile
metasmile merged commit 9a4ff30 into main Jul 16, 2026
1 check passed
@metasmile
metasmile deleted the 19-exclude-pattern-sync branch July 16, 2026 15:38
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.

Synchronize exclude patterns between build system and latest-docs list; allow explicit targets to bypass exclude

1 participant