Skip to content

Releases: mostlymaxi/cargo-athena

v0.7.1

Choose a tag to compare

@mostlymaxi mostlymaxi released this 01 Aug 21:07
Immutable release. Only release title and notes can be modified.
de897f8

Patch release.

Changes

  • Hook arguments now ride the ghost type-check. A binding shared by a task and a hook is two consumers, so it needs .clone(). (#93)
  • Admission checks run at compile time, with better error spans. Dead code is removed. (#94)
  • The nix toolchain pins an exact rust version (1.97.1), so the manifest hash no longer drifts when a new stable ships. (#95)
  • CI now tests against Argo v4.0.8 and v3.7.17. v3.6.19 stays as the minimum. (#96)

Full changelog: v0.7.0...v0.7.1

What's Changed

  • Validation + cleanup batch: admission checks at compile time, error spans, dead code by @mostlymaxi in #94
  • fix(macros): hook args ride the ghost type-check by @mostlymaxi in #93
  • nix: pin exact rust version (1.97.1), not the moving stable channel by @mostlymaxi in #95
  • ci: bump argo matrix to v4.0.8 / v3.7.17 by @mostlymaxi in #96
  • release: v0.7.1 by @mostlymaxi in #97

Full Changelog: v0.7.0...v0.7.1

What's Changed

  • Validation + cleanup batch: admission checks at compile time, error spans, dead code by @mostlymaxi in #94
  • fix(macros): hook args ride the ghost type-check by @mostlymaxi in #93
  • nix: pin exact rust version (1.97.1), not the moving stable channel by @mostlymaxi in #95
  • ci: bump argo matrix to v4.0.8 / v3.7.17 by @mostlymaxi in #96
  • release: v0.7.1 by @mostlymaxi in #97

Full Changelog: v0.7.0...v0.7.1

v0.7.0

Choose a tag to compare

@mostlymaxi mostlymaxi released this 18 Jul 23:50
Immutable release. Only release title and notes can be modified.
4a1d2c8

Ships everything since v0.6.1 (v0.6.2 was bumped in-repo but never tagged or published).

Fixes

  • .fan_out aggregate re-normalization is kind-aware and applied per-scope, not just at top level. (#87)
  • An empty .fan_out aggregate now lowers to [] instead of hard-erroring downstream; the aggregate lookup is nil-safe on Argo v3.6. (#85)
  • Fail loud on silent collision and misuse paths, plus assorted correctness fixes from a full codebase pass. (#86)
  • CI: refreshed the nix toolchain pin; publish-action Zig v2. (#84)

Full changelog: v0.6.1...v0.7.0

What's Changed

  • release: v0.6.2 (unbreak publish-action Zig + nix toolchain) by @mostlymaxi in #84
  • fix: empty fan_out aggregates to [] not a hard error by @mostlymaxi in #85
  • fix(macros): fan-out aggregate re-tagging is per-scope, not top-level-only by @mostlymaxi in #87
  • Full codebase analysis: fail-loud pass + low-hanging correctness fixes by @mostlymaxi in #86
  • release: v0.7.0 by @mostlymaxi in #92

Full Changelog: v0.6.1...v0.7.0

What's Changed

  • release: v0.6.2 (unbreak publish-action Zig + nix toolchain) by @mostlymaxi in #84
  • fix: empty fan_out aggregates to [] not a hard error by @mostlymaxi in #85
  • fix(macros): fan-out aggregate re-tagging is per-scope, not top-level-only by @mostlymaxi in #87
  • Full codebase analysis: fail-loud pass + low-hanging correctness fixes by @mostlymaxi in #86
  • release: v0.7.0 by @mostlymaxi in #92

Full Changelog: v0.6.1...v0.7.0

v0.6.1

Choose a tag to compare

@mostlymaxi mostlymaxi released this 10 Jun 00:01
Immutable release. Only release title and notes can be modified.

Patch release.

Fixes

  • A #[container] / #[fragment] calling a #[fragment] via a qualified path (foo::frag()) now correctly propagates the fragment's host! / secret! / artifact declarations onto the calling pod. Previously only single-segment calls (frag()) were recognized. (#81)

Full changelog: v0.6.0...v0.6.1

What's Changed

Full Changelog: v0.6.0...v0.6.1

v0.6.0

Choose a tag to compare

@mostlymaxi mostlymaxi released this 09 Jun 20:31
Immutable release. Only release title and notes can be modified.

Compile regular Rust into Argo Workflow YAML.

Highlights

  • Per-cluster template versioning: every WorkflowTemplate is <base>-<tag>, build-time-sealed; release/dev channels with --dev-tag; cargo athena prune <tag> to clean up a version.
  • Daemon containers: #[container(daemon)].
  • Binary-first CLI: positional [BINARY] / $PATH name, -w, flat ls/describe/emulate; global athena.toml fallback; a probe handshake (source-free consumer commands).
  • athena-publish GitHub Action: CI cross-compile + upload.
  • Workflow PVCs: #[ephemeral_pvc] / #[external_pvc] + pvc!(Type).
  • Broader Argo coverage: parallelism(_if_root), tolerations/affinity (+ _if_root + boundary), pod_spec_patch(_if_root), image_pull_secrets_if_root, #[inject("<argo expr>")].
  • cargo.athena/* provenance labels on every WorkflowTemplate (kubectl get wt -l).
  • Docs overhaul plus internal refactors (shared munge helpers, single-sourced version coordinate, CLI color/help polish).

Full changelog: v0.5.2...v0.6.0

What's Changed

  • feat(macros): tolerations + affinity (container + _if_root) by @mostlymaxi in #47
  • feat(macros): pod_spec_patch + pod_spec_patch_if_root by @mostlymaxi in #45
  • feat(macros): image_pull_secrets_if_root by @mostlymaxi in #46
  • feat(macros): #[inject("")] per-arg attribute by @mostlymaxi in #48
  • feat(macros): boundary_tolerations + boundary_affinity by @mostlymaxi in #49
  • chore(smoke): rely on cargo bin auto-discovery by @mostlymaxi in #50
  • test(e2e): cover service_account + node_selector injection by @mostlymaxi in #51
  • feat(macros): parallelism + parallelism_if_root on #[workflow] by @mostlymaxi in #52
  • refactor(host!): bake mount path at expand time, return &'static Path by @mostlymaxi in #53
  • refactor(macros): bake artifact paths + secret env names at expand time by @mostlymaxi in #54
  • feat(macros): #[ephemeral_pvc] / #[external_pvc] + pvc!(Type) by @mostlymaxi in #55
  • refactor: extract munge helpers to cargo-athena-api by @mostlymaxi in #56
  • feat(emit): stamp cargo.athena/* provenance labels on every WT by @mostlymaxi in #57
  • chore(flake): bump fenix to track stable 1.96.0 by @mostlymaxi in #58
  • feat(cli+core): global athena.toml fallback + probe handshake by @mostlymaxi in #59
  • feat(cli): binary-first commands (positional binary, -w, flat ls/describe/emulate) by @mostlymaxi in #60
  • ci: athena-publish composite GitHub Action by @mostlymaxi in #61
  • docs: tighten user-facing docs (impl-detail, accuracy, style) by @mostlymaxi in #62
  • feat: per-cluster template versioning + daemon containers by @mostlymaxi in #63
  • refactor(versioning): single-source the version coordinate by @mostlymaxi in #64
  • feat(cli): readable --help + colored feedback by @mostlymaxi in #78
  • release: v0.6.0 by @mostlymaxi in #79

Full Changelog: v0.5.2...v0.6.0

v0.5.2

Choose a tag to compare

@github-actions github-actions released this 26 May 00:07
Immutable release. Only release title and notes can be modified.

What's Changed

  • docs + cli: trim, restructure, add cargo-style feedback by @mostlymaxi in #34
  • docs: cookbook reframe, troubleshooting, examples, README + concepts + testing polish by @mostlymaxi in #35
  • feat(cli): init + doctor; cross-link reference to cookbook by @mostlymaxi in #36
  • feat(cli+macros): --priority on submit; shape-specific #[workflow] body errors by @mostlymaxi in #37
  • feat: container params via positional argv (env -> args) by @mostlymaxi in #38
  • Friendly describe + ls UX: short names, fn signature, color by @mostlymaxi in #40
  • feat: Artifact return type for DAG-wired S3 passthrough by @mostlymaxi in #41
  • docs: Artifact user docs + workflow-level smoke fixture by @mostlymaxi in #42
  • feat(runtime): support >128KB params via Argo args-offload by @mostlymaxi in #43
  • feat: is_container_run() predicate for gating in-pod-only setup by @mostlymaxi in #44

Full Changelog: v0.5.1...v0.5.2

v0.5.1

Choose a tag to compare

@github-actions github-actions released this 25 May 15:10
Immutable release. Only release title and notes can be modified.

What's Changed

  • feat: async fn #[container] bodies by @mostlymaxi in #23
  • chore: rename feature async -> tokio by @mostlymaxi in #24
  • feat: secret! / secret_opt! macros by @mostlymaxi in #25
  • feat: env/host_mount/annotations attrs + safe host! mounts by @mostlymaxi in #26
  • feat(container): privileged = true by @mostlymaxi in #27
  • test(e2e): live #[workflow(steps)] coverage by @mostlymaxi in #28
  • feat(workflow): boundary vs _if_root nodeSelector; inject support on _if_root by @mostlymaxi in #29
  • refactor: collector stamp_spec dedup + macros file split + node_tokens dedup by @mostlymaxi in #30
  • feat: mutexes / mutexes_if_root on #[workflow] / #[container] by @mostlymaxi in #31
  • feat(core): hash host! paths verbatim (FNV-1a, no canonicalization) by @mostlymaxi in #32
  • refactor: drop [artifact] config; docs cleanup; bump to 0.5.1 by @mostlymaxi in #33

Full Changelog: v0.5.0...v0.5.1

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 20 May 05:09
Immutable release. Only release title and notes can be modified.

What's Changed

  • ci: rustfmt --check gate + rustfmt.toml by @mostlymaxi in #17
  • feat: retry(...) + timeout attr args for #[workflow]/#[container] by @mostlymaxi in #18
  • feat: ttl(...) + pod_gc(...) spec-level attr args by @mostlymaxi in #19
  • feat: split timeout/pod_running_timeout/active_deadline_if_root + unified humantime by @mostlymaxi in #20
  • feat: drop tar dep from image and CLI by @mostlymaxi in #21
  • docs: clarity pass — trim attr tables, drop tar-needed mentions by @mostlymaxi in #22

Full Changelog: v0.4.0...v0.5.0

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 18 May 19:08
Immutable release. Only release title and notes can be modified.

What's Changed

Full Changelog: v0.3.0...v0.4.0

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 17 May 21:55
Immutable release. Only release title and notes can be modified.

What's Changed

  • feat(workflow): node_selector attr (literals-only) + fix rustdoc fenc… by @mostlymaxi in #1
  • chore: document the "protect main" ruleset as reproducible config by @mostlymaxi in #2
  • feat(cli): cargo athena container emulate by @mostlymaxi in #3
  • release: v0.3.0 by @mostlymaxi in #4

New Contributors

Full Changelog: v0.2.0...v0.3.0

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 17 May 03:52
Immutable release. Only release title and notes can be modified.

Full Changelog: v0.1.1...v0.2.0