Skip to content

Q3 — Release Hygiene for v0.1.0 #29

@idky137

Description

@idky137

Q3 — Release Hygiene for v0.1.0

Intent

Put the minimal-but-real CI gates and release process in place so
limen-core v0.1.0 can be tagged cleanly and does not become a source of
breakage for downstream crates.

Decisions Made

  • no_std build gate is mandatory in CI — not optional.
  • CI is kept minimal but real: no speculative gates, but nothing skipped
    that would catch a regression.
  • MSRV is decided and pinned before tagging; it is part of the published
    release notes.
  • Minimum viable MSRV lower bound: Rust ≥ 1.65. Const-generic arrays
    [T; N] (stable since 1.51); #[non_exhaustive] on structs (stable since
    1.40); const-generic ergonomics used in NodePolicy<const IN> require at
    least 1.65 for practical usage. Final MSRV pin decided in this issue.

Depends On

  • C0 — feature matrix (CI must exercise the same matrix C0 defined)
  • Q1 — tests must pass before CI gates are meaningful
  • Q2 — docs must build cleanly; audit must be signed off

Completes

  • A0 epic — Q3 sign-off is the final gate before tagging v0.1.0.

Sub-Tasks

  • Decide and document MSRV (lower bound ≥ 1.65; exact pin TBD)
  • Add CI gate: cargo fmt --all -- --check
  • Add CI gate: cargo clippy --workspace --all-features
  • Add CI gate: cargo test --workspace (no_std, alloc, std)
  • Ensure full feature matrix builds run in CI (per C0)
  • Make no_std build gate mandatory (fails CI if broken)
  • Add CHANGELOG.md / release notes scaffold
  • Confirm cargo doc --workspace --all-features builds without warnings
  • Confirm examples (if any in core) compile under the feature matrix

Open Questions

  • MSRV: exact pin within ≥ 1.65 range — conservative (1.65) for broad
    embedded toolchain compatibility, or newer for better const-generic error
    messages? Decide before any CI pin is added.
  • Is the CI runner self-hosted (for embedded cross-compile verification) or
    GitHub-hosted only for v0.1.0?
  • Does the no_std gate require a thumbv7em-none-eabi cross-compile check,
    or is a --target build on the host sufficient for v0.1.0?

Metadata

Metadata

Assignees

No one assigned

    Labels

    CORE STABALISATIONIssue / functionality that needs to be solved / implemented to stabilise limen-coreROADMAPitems on the planned roadmap

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions