Skip to content

Releases: copyleftdev/oxide-ci

v0.1.0 — first tagged release

Choose a tag to compare

@copyleftdev copyleftdev released this 03 Aug 07:59

First tagged release. Early alpha: APIs and pipeline syntax may change.

Added

  • Engine: Local pipeline execution with DAG stage resolution, parallel stages, matrix expansion, retries, conditions, and step outputs.
  • Plugins: Native plugin system — git-checkout, cache, docker-build, rust-toolchain — each answering to a namespaced alias such as oxide/docker-build.
  • Plugin versions: uses: name@version is resolved rather than ignored. @v1 pins a major, @v1.2 a minor, @v1.2.3 an exact release, and a bare name or @latest takes what is installed.
  • CLI: oxide plugins list shows the built-in plugins, their versions, and their aliases.
  • Dogfooding: Self-hosting pipeline (.oxide-ci/pipeline.yaml) — Oxide CI builds and tests itself.
  • Compat: GitHub Actions compatibility layer, including uses: as a spelling of plugin: and file: for dockerfile:.
  • Spec: AsyncAPI 3.0 contract in spec/, with spec_link! correlation between Rust types and schemas.
  • Docs: mdBook documentation and Wiki sync.

Fixed

  • Plugin resolution: uses: docker-build@v1 failed with "Plugin not found" while the same message advertised docker-build as supported. Version suffixes are now parsed instead of being matched literally (#50).
  • docker-build tags: a tags: | block scalar kept its trailing newline and reached docker as a single argument. tags and cache_from now parse one entry per line, trimmed, ignoring blanks and comments.
  • docker-build parameters: cache_from was accepted and silently discarded; it is now passed as --cache-from. Unknown parameters warn rather than disappearing.
  • Integration tests (API drift, method renames).
  • Crate cloning and fixture usage.

Changed

  • Licensed under MIT consistently across LICENSE, the workspace and all crate manifests, and the AsyncAPI spec.

Install from source (not yet on crates.io):

git clone https://github.com/copyleftdev/oxide-ci && cd oxide-ci
cargo install --path crates/oxide-cli
oxide run .oxide-ci/dogfood.yaml