Skip to content

Release 2.1.0: runner hooks#15

Merged
dcrockwell merged 3 commits intomainfrom
develop
Feb 1, 2026
Merged

Release 2.1.0: runner hooks#15
dcrockwell merged 3 commits intomainfrom
develop

Conversation

@dcrockwell
Copy link
Copy Markdown
Contributor

Why

  • Add runner-level hooks and metadata so teams can apply setup/teardown across suites without editing every suite.
  • Unblock CI by aligning the workflow with the required Gleam version.
  • Ship the 2.1.0 release notes, docs, and snippets that explain the new APIs.

What

  • Runner-level hooks (per-test, per-suite, per-run) with TestInfo/SuiteInfo metadata and best-effort source tracking.
  • Updated docs, examples, tests, changelog, and release notes for 2.1.0.
  • CI workflow updated to install Gleam 1.14.0.

How

  • Added new hook types in runner and wired per-test hooks through the parallel executor.
  • Propagated source metadata through discovery and Gherkin parsing.
  • Added comprehensive tests and snippet examples; refreshed release artifacts.

Test plan

  • CI run
  • Optional: make test

dcrockwell and others added 3 commits February 1, 2026 15:23
## Why This Change Was Made
- Provide a first-class way to apply setup/teardown across suites without editing each suite’s internal hooks.
- Expose deterministic metadata (name, full name, tags, kind, source) so runner hooks can make decisions based on identifiers.
- Keep execution behavior explicit and predictable under parallelism while improving documentation and tested examples.

## What Was Changed
- Added runner-level hook APIs in `dream_test/runner` and executed them in `dream_test/parallel` with sandboxing.
- Introduced `types.TestInfo` and `types.SuiteInfo`, plus `source` propagation from discovery and Gherkin parsing.
- Updated docs, snippets, tests, compatibility reports, and bumped the project to 2.1.0 with release notes.

## Note to Future Engineer
- Runner hook failures have specific semantics (`SetupFailed` for before_each_test, synthetic failures for suite/run hooks); please keep these aligned if you refactor execution.
- The `source` field is best-effort and will be `None` for manually constructed suites—sorry in advance to your future self’s forensic ambitions.
## Why This Change Was Made
- CI was failing because gleam_stdlib now requires Gleam >= 1.14.0, but the workflow was pinned to 1.13.0.

## What Was Changed
- Bumped the GitHub Actions workflow to install Gleam 1.14.0.

## Note to Future Engineer
- If CI suddenly breaks with a version mismatch, check this pin before blaming the universe.
- Yes, another version bump. You're welcome, future you.
@dcrockwell dcrockwell changed the title Release: runner hooks and docs refresh Release 2.1.0: runner hooks Feb 1, 2026
@dcrockwell dcrockwell merged commit 0d2a16c into main Feb 1, 2026
2 checks passed
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.

1 participant