Skip to content

Releases: jjuliano/runner

Release 0.1.1 (Persistent pre/post flight and skip conditions)

22 Sep 15:29
9b8bdef
Compare
Choose a tag to compare

This release adds persistent execution of preflight, postflight and skip conditions.
Persistent conditions will be retried until they are satisfied.

Persistent flag '@' can be prepended in all check prefixes except "ENV:".

For example, supposed you need the following URL to be available before executing the step, prepend it with "@".

check:
  - "@URL:https://example.com:3000/api/v2"

Persistent flags can also be combined with negation, i.e.

skip:
  - "@FILE:/tmp/tempfile.txt"
check:
  - "@URL:https://example.com:3000/api/v2"
expect:
  - "!@FILE:/tmp/file.sock"

runner v0.1.1

runner is a graph-based orchestrator designed to calculate and execute workflows in the correct order, based on their dependencies. With runner, you can simplify complex shell scripts and streamline your workflow automation.

Features

  • 🛠 Simplified Automation: Avoid piles of overly complex unmaintainable shell scripts. Use a structured and maintainable YAML configurations, making complex workflows team friendly, easy to collaborate, manage and understand.
  • 🚀 Optimized for Developer Experience (DX): Simplify the use of automation workflows for your team, whether it's compiling code & running services in Kubernetes, or managing deployments, making day-to-day tasks more time-saving, efficient and accessible.
  • 🔄 GitOps-Ready: Store your scripts and workflows in version control as a single source of truth, enabling seamless tracking, collaboration, and deployment.
  • ⚙️ CI/CD Integration: Deploy runner within Docker images or as part of your CI/CD pipelines.
  • 🔧 Language Agnostic: Use 99% YAML configurations, and shell scripts for execution. No Python or JavaScript required.
  • 🌍 Cross-Platform & Multiarchitecture: Supporting over 40 architectures, runner seamlessly adapts whether you’re deploying on cloud infrastructure, Kubernetes clusters, bare-metal machines, or lightweight IoT devices like Raspberry Pi and Arduino.
  • 🌐 HTTPs Resource Support: Include YAML resources from local files or external URLs in your workflows, which makes it easier to share and reuse other workflows.

Quick Start

  1. Define Your Workflow: Create a runner.yml file with workflow resources.
  2. Create Your Resources: Define steps in YAML files for each task.
  3. Execute the Workflow: Run the workflow using the runner run <resource> command.
  4. Dependency Management: Use runner rdepends to list dependencies.

CLI Commands

  • run: Execute workflows.
  • rdepends: List reverse dependencies.
  • tree: Display dependency trees.
  • More commands like search, category, and show to explore resources.

Installation

  • Go Install: Install via go install github.com/jjuliano/runner@latest.
  • Build from Source: Clone the repository and build using make build.

Full Changelog: dev...0.1.0