• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

umputun / spot / 34021824164
85%

Build:
DEFAULT BRANCH: master
Ran 06 Sep 2026 08:28AM UTC
Jobs 1
Files 19
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

06 Sep 2026 08:25AM UTC coverage: 84.548% (+0.3%) from 84.227%
34021824164

push

github

web-flow
feat: add task import directive for playbooks (#359)

* feat(config): add task import directive for playbooks

Add support for splitting large playbooks into multiple files using
an `import` directive in the tasks list. Imports use the same `tasks:`
structure as playbooks and support both YAML and TOML formats.

Key features:
- Import tasks from external files via `import: path` in task list
- Recursive imports with cycle detection (visited set)
- Paths resolved relative to the importing file
- Mixed imports with inline tasks allowed
- Both YAML and TOML supported for main and imported files
- Strict parsing preserved (KnownFields) for all files

Test coverage includes: basic YAML/TOML, mixed inline+import,
recursive, circular detection, missing file, empty import,
invalid format, duplicate names, and cross-format (YAML→TOML).

* docs: add import tasks documentation, examples, and schema

- Add "Task imports" to Features list in README.md
- Add "Importing Tasks from External Files" section to README.md
- Add import directives info to site/docs/llms.txt (Playbook Structure)
- Create .examples/import-tasks/ with deploy example
- Add import field to schemas/playbook.json task definition
- Regenerate site/docs-src/index.md via make prep-site

* feat(config): validate duplicate task names per-file, allow diamond imports

Move duplicate task name validation from global checkConfig to per-file
parsing, so the same file imported through different diamond paths is
allowed while duplicates within a single file are still caught.

- Add checkUniqueTaskNames helper called from unmarshalPlaybookFile
  (main file) and parseImportFile (imported files)
- Remove duplicate name check from checkConfig (no longer global)
- Add diamond import test with shared common.yml imported via two paths
- Rename misleading tests: Import_BadYAML → BadYAML,
  Import_SimpleFormatNotSupported → Import_WithAdHocOverride

* refactor(config): simplify loadSecrets and unmarshalPlaybookFile

... (continued)

99 of 99 new or added lines in 1 file covered. (100.0%)

3398 of 4019 relevant lines covered (84.55%)

65.16 hits per line

Jobs
ID Job ID Ran Files Coverage
1 34021824164.1 06 Sep 2026 08:28AM UTC 19
84.55
GitHub Action Run
Source Files on build 34021824164
  • Tree
  • List 19
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 5b09b7f3 on github
  • Prev Build on master (#33978349256)
  • Next Build on master (#34022350600)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc