Commit Graph

24 Commits

Author SHA1 Message Date
Manuel Raimann ee59c9cdd0 refactor(examples): split multi-concept examples into focused single-topic files
- Split pruning_and_callbacks into pruning and early_stopping
- Split advanced_features into async_parallel, journal_storage, ask_and_tell, multi_objective
- Each example now requires only its own feature flag
- Trim sampler_comparison winner logic and verbose header
- Update CI workflow and README to match new example names
2026-02-12 12:49:24 +01:00
Manuel Raimann cc0dce5daf ci: add doc tests and update examples to match current codebase 2026-02-12 12:49:24 +01:00
Manuel Raimann 047a788afd fix: remove unnecessary feature flag for visualization example in CI 2026-02-11 23:39:43 +01:00
Manuel Raimann 0c295b4bc7 ci: simplify test command by removing feature matrix 2026-02-11 23:03:38 +01:00
Manuel Raimann 0a6f2345a8 feat: add Storage trait and JSONL journal backend
Replace the internal Vec<CompletedTrial<V>> with a pluggable Storage<V>
trait. MemoryStorage is the default (no behavior change for existing
users). Behind the `journal` feature flag, JournalStorage persists
trials to a JSONL file with fs2 file locking for multi-process safety.

- Storage<V> trait with push(), trials_arc(), refresh() methods
- MemoryStorage<V> wraps Arc<RwLock<Vec<CompletedTrial<V>>>>
- JournalStorage<V> appends JSON lines with exclusive file locks
- Study::with_sampler_and_storage() general constructor
- Study::with_journal() convenience constructor (journal feature)
- Refresh from storage on create_trial() for multi-process discovery
- MSRV bumped to 1.89
2026-02-11 22:58:38 +01:00
Manuel Raimann b3bf4ccb71 chore: parallelize feature-check CI with 4 matrix partitions
Use cargo hack's --partition flag to split the feature powerset across
4 parallel jobs, reducing wall-clock time for the feature-check step.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 21:13:39 +01:00
Manuel Raimann 7bf64d6cf6 chore: add bench-check to CI workflow 2026-02-11 21:06:56 +01:00
Manuel Raimann e359392a00 feat: add HTML visualization reports with Plotly.js charts
Add a `visualization` feature flag that generates self-contained HTML
reports with interactive Plotly.js charts for offline visualization of
optimization results. Charts include optimization history, slice plots,
parallel coordinates, parameter importance, trial timeline, and
intermediate values (learning curves).
2026-02-11 20:12:35 +01:00
Manuel Raimann f873722763 ci: add benchmark CI jobs and missing examples
Add bench-check job (push): smoke-tests benchmarks compile and run.
Add bench-compare job (PRs): runs benchmarks on base and head commits,
compares with critcmp, and posts a comparison comment on the PR.
Add missing examples (benchmark_convergence, parameter_api) to the
examples job.
2026-02-11 19:50:24 +01:00
Manuel Raimann af8a9f7638 feat: add examples for async API parameter optimization and ML hyperparameter tuning 2026-01-31 11:56:50 +01:00
Manuel Raimann 473b973408 feat: add permissions for read access to contents in CI and scheduled workflows 2026-01-30 19:28:47 +01:00
Manuel Raimann eb57519506 feat: allow publishing with dirty workspace in CI 2026-01-30 19:23:32 +01:00
Manuel Raimann 6a8a938b6e feat: enhance publish step to handle already uploaded versions 2026-01-30 18:47:55 +01:00
Manuel Raimann 6912cc83d9 feat: add cross-target compilation checks in CI 2026-01-30 18:46:31 +01:00
Manuel Raimann daab3ea202 Remove Serde 2026-01-30 18:43:45 +01:00
Manuel Raimann 22527b5d5f feat: add CI step for unused dependencies check with cargo-machete 2026-01-30 18:24:22 +01:00
Manuel Raimann 34d61bc544 feat: add CI step to publish to crates.io 2026-01-30 18:20:00 +01:00
Manuel Raimann 2e96115db7 refactor: remove Miri job from CI configuration 2026-01-30 18:09:25 +01:00
Manuel Raimann 12d572025f feat: add typos check job to CI with Rust installation and caching 2026-01-30 18:03:35 +01:00
Manuel Raimann 8a11dd8ca4 feat: enhance CI configuration with additional jobs for MSRV, Cargo Deny, Semver Check, Miri, Minimal Versions, and Typos 2026-01-30 18:02:36 +01:00
Manuel Raimann 6a283ce7ce feat: add feature-check job to CI for checking feature combinations 2026-01-30 17:56:01 +01:00
Manuel Raimann 7bc720dfa4 feat: add Codecov token for coverage upload in CI workflow 2026-01-30 17:36:59 +01:00
Manuel Raimann f27e911633 feat: add CI workflow for code coverage reporting with Codecov 2026-01-30 17:34:26 +01:00
Manuel Raimann 727906b3bb feat: add CI, audit, publish, and dependabot workflows 2026-01-30 17:25:01 +01:00