Skip to content

v0.19.0

Choose a tag to compare

@github-actions github-actions released this 11 Jun 15:58
Immutable release. Only release title and notes can be modified.
v0.19.0
22f73ad

🚀 Features

  • (config) Add JSON Schema and wire it into config init - (c96bc6f) by @bchatard

    Add bifrost.schema.json (draft-07) describing the full v1 .bifrost.yml:
    strategy, servers, paths, settings, variables, hooks, and environments
    with applications. additionalProperties is false throughout to mirror the
    loader's strict KnownFields decoding.

    config init now emits a '# yaml-language-server: $schema=' modeline as the
    first line so editors with the YAML language server validate against the
    schema. Tests cover the modeline and the schema's JSON validity; the schema
    was verified against the testdata configs and the generated scaffold.

    M17:bifrost.schema.json + config init schema modeline. Co-Authored-By:Claude Opus 4.8 noreply@anthropic.com

📚 Documentation

  • (roadmap) Mark M17 server-resolution and staging-path tests done - (2baff8b) by @bchatard

    Both tasks were already satisfied by tests written during their feature
    milestones under the project's TDD rule:

    • server resolution → internal/config/merge_test.go (M12)
    • staging dir path → internal/transport/staging_test.go (M13)

    No new tests needed; marking [x] to reflect actual coverage.

    Co-Authored-By:Claude Opus 4.8 noreply@anthropic.com

  • (specs) Reconcile specs 01-03,07 with shipped implementation - (cc7ecaa) by @bchatard

    • 01: current symlink documented as absolute target (matches SetCurrent
      and the integration tests)
    • 02: fix stale hook lifecycle table (post_extract/pre_link replace the
      obsolete pre_artifact entry)
    • 03: rewrite config section as show/check/init subcommands (M5), replace
      the removed top-level init with release init, add --agent-binary and a
      client-mode pointer to deploy/release commands
    • 07: document the BIFROST_KNOWN_HOSTS override for host-key verification

    Spec 08 reviewed; already accurate.

    M17:spec review and update. Co-Authored-By:Claude Opus 4.8 noreply@anthropic.com

🧪 Testing

  • (cmd) Integration test for --agent-binary download bypass - (eee82d5) by @bchatard

    Deploy over SSH with --agent-binary set and a deliberately unresolvable
    version. If the flag were ignored, deployToServer would fall through to
    ResolveAgentBinary and fail trying to download that tag; a successful
    deploy proves the supplied binary was used and no download was attempted.

    M17:integration test for --agent-binary (no download). Co-Authored-By:Claude Opus 4.8 noreply@anthropic.com

  • (cmd) Integration test for SSH auth failure exit code - (dba401c) by @bchatard

    Deploy against a container offering a valid but unauthorized key (the
    host key, absent from authorized_keys) with the agent fallback disabled.
    Host verification passes, authentication is rejected, and the resulting
    error must be an ExitError with code 3 (Runtime) naming the server.

    M17:integration test for SSH auth failure. Co-Authored-By:Claude Opus 4.8 noreply@anthropic.com

  • (cmd) Integration test for unknown remote arch exit code - (9d31be2) by @bchatard

    Replace the container's uname with one reporting Linux/i386 — an arch
    absent from mapPlatform's table — and deploy without --agent-binary so
    the download path runs platform detection first. The error must be an
    ExitError with code 3 (Runtime) naming the server and the rejected arch.

    A waitForSSHReady probe gates the deploy: wait.ForListeningPort only
    proves the port is open, leaving a window where sshd drops the handshake
    with EOF, which would otherwise surface as a connect error instead.

    M17:integration test for unknown remote arch. Co-Authored-By:Claude Opus 4.8 noreply@anthropic.com

  • (cmd) Integration test for staging cleanup on agent failure - (a7101b8) by @bchatard

    A failing post_extract hook makes the remote agent exit non-zero after
    it has created and extracted the release — a mid-deploy failure. The test
    asserts the release dir exists (agent reached extraction), the deploy
    returns the agent's non-zero exit, and the deferred staging cleanup left
    no bifrost-* directory behind under the staging base.

    M17:integration test for cleanup on mid-deploy failure. Co-Authored-By:Claude Opus 4.8 noreply@anthropic.com

  • (config) Cover flat config generator merge precedence - (d92beac) by @bchatard

    Add precedence-through-the-generator tests for GenerateFlatConfig:
    scalar override (env/app over global), variables precedence, shared
    path concatenation across all three levels, and hook priority sorting.
    The existing flatgen tests only exercised a single-level scenario.

    M17:flat config generator unit tests. Co-Authored-By:Claude Opus 4.8 noreply@anthropic.com

Commit Statistics

  • 8 commit(s) contributed to the release.
  • 0 day(s) passed between the first and last commit.
  • 8 commit(s) parsed as conventional.
  • 0 linked issue(s) detected in commits.
  • 1 day(s) passed between releases.