Skip to content

Releases: ritten-org/Ritten

v0.20.0

Choose a tag to compare

@github-actions github-actions released this 24 Sep 18:38
56dd486

Added

  • WriteAllText and ReadAllTextIfExists on every IFile. Writes are atomic by default.
  • IFile.MoveTo, GetUnixFileMode and SetUnixFileMode, the primitives the atomic write is built from.

Changed

  • IFile.OpenWrite truncates. It used to open an existing file without emptying it, so every whole-file writer carried the same SetLength(0) workaround; they all use WriteAllText now.

v0.19.0

Choose a tag to compare

@github-actions github-actions released this 23 Sep 20:46
b6c2bd3

Added

  • Ritten.NuGet. The feed client, NugetRead, CheckVersion, NugetAuthenticate, NugetPush, so a host composing its own jobs can check and publish packages without the tool.
  • A continuous release cadence. release.cadence in ritten.json — curated or continuous. Under continuous every merge that changes what ships is a release, so a pull request that changes it must move the version.

v0.18.0

Choose a tag to compare

@github-actions github-actions released this 22 Sep 22:54
20a46b8

Changed

  • Empty reports no longer get commented. A run that stops early before any report section no longer gets posted as a comment on the PR.

v0.17.0

Choose a tag to compare

@github-actions github-actions released this 22 Sep 21:01
ef918b7

Added

  • ISecretProvider, the secrets provider a host registers. Resolve turns a reference into the secret it names.
  • Ritten.OnePassword. The first provider: AddOnePassword() resolves op://vault/item/field references through the 1Password CLI, authenticated from the environment or a service-account token file.
  • EnvironmentFile. Reads an env file the way docker compose --env-file does — NAME=value, comments, quotes — and resolves the references in it through the registered provider, so a file on disk holds the names of secrets and never a value.
  • TofuEnvironment. The environment a root module is applied to: a variable file and env files, produced by a workflow's own step and read by every OpenTofu step after it.

Changed

  • The OpenTofu client deploys to any environment. Init, Plan and Apply take the TofuEnvironment per call.
  • TofuPlan produces its TofuPlanResult.

v0.16.1

Choose a tag to compare

@github-actions github-actions released this 20 Sep 23:46
a8618de

Fixed

  • Ritten.OpenTofu is no longer missing. Forgot to include the project in ritten.json.

v0.16.0

Choose a tag to compare

@github-actions github-actions released this 20 Sep 14:40
9309234

Added

  • Ritten.OpenTofu. IOpenTofu over the tofu on the path, with TofuInit, TofuFormatCheck, TofuPlan and TofuApply steps.
  • SectionName.Infrastructure. What a change would do, or did, to the infrastructure.
  • Docker steps. ComposeCheck, BuildImages and ComposeUp in Ritten.Docker.
  • IDocker.ComposeValidate. Resolves the compose file without touching anything, and hands back what compose objected to rather than a pass/fail.
  • The tool registers the Forgejo runtime. ritten on a Forgejo runner now gets the job summary and the pull request comment Ritten.Forgejo already knew how to write.

v0.15.0

Choose a tag to compare

@github-actions github-actions released this 20 Sep 13:11
2d50c48

Added

  • Forgejo PR comments. Ritten.Forgejo now keeps one comment per workflow on the pull request under review.
  • Better Forgejo envrionmen support. The runtime now reads the pull request's number and base ref from the run and registers a PullRequest info model.
  • IGit.ChangedFilesSince. For checking what files have been changed in a given branch.

v0.14.0

Choose a tag to compare

@github-actions github-actions released this 18 Sep 17:21
614489a

Added

  • IDocker can stop and start a compose stack in place. ComposeStop/ComposeStart. Dry runs report the stop and start.

v0.13.0

Choose a tag to compare

@github-actions github-actions released this 18 Sep 00:46
83034a2

Added

  • IGit.IsRepository. Whether the directory the client addresses is a working tree or inside one.
  • Ritten.Forgejo. The Forgejo Actions runtime: detected on FORGEJO_ACTIONS, claiming the GITHUB_* mirrors the runner exports for GitHub-written workflows so it outranks the GitHub runtime where both are registered.
  • Ritten.Docker. A docker client for workflows: IDocker builds, tags, pushes and logs in, runs a container to completion, and converges or removes a compose stack.

v0.12.0

Choose a tag to compare

@github-actions github-actions released this 17 Sep 21:02
74f9ee2

Added

  • IGit can address a repository other than the workflow's. InRepository(directory) returns a client bound to that working tree, for a job that maintains a checkout beside its own.
  • IGit commits and pushes. Stage, Commit, Push (with an optional GitCredential, handed to git through a one-shot credential helper in the environment so it never reaches the remote URL or an argument list), AddRemote, CurrentBranch, Upstream and CommitsAhead join the tagging operations. Dry runs report each write instead of making it.