TimoKramer / wendy

Bob's SO and the reference CLI.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Wendy

Bob's SO and the reference CLI.

License: GPL v3 CircleCI Dependencies Status

Built with Spacemacs

She is an opinionated client for Bob and takes care of the following tasks:

  • Implement a full CLI to all of Bob's REST API with corresponding and semantic commands
  • Read a build.toml file and translate to REST API calls to Bob
  • Plan a build:
    • Bob doesnt know of the order of execution of pipelines
    • Wendy reads the dependencies of a pipeline on other pipelines and schedules them accordingly
    • Trigger all of the upstream pipelines of a pipeline such that Bob can proceed with the builds

Wendy is a reference client for Bob implementing a build with certain opinions but others are encouraged to build their own CLIs using Bob as an engine in ways they see fit.

This is a work in progress in conjunction with Bob and will be evolving.

Installation

TBD

Building and running from source

Requirements:

Running

Installing GraalVM:

  • Download and extract GraalVM CE. Go to the extracted location and navigate to the directory where you can find bin, lib, jre and other directories.
  • Run export GRAALVM_HOME=$PWD.

Clone the repo and from the repo directory:

  • Run clojure -A:test -m kaocha.runner if using Clojure CLI or lein kaocha with leiningen.
  • Run $GRAALVM_HOME/bin/gu install native-image to get the Graal native compiler.
  • Run clojure -A:native-image if using Clojure CLI or lein native-image with leiningen to compile it to a native executable. (Warning: Quite a resource heavy step)
  • The executable is found in target/ if compiled via Clojure CLI or in /target/default+uberjar/ with leiningen.
  • Running ./wendy can-we-build-it should output "Yes we can! 🔨 🔨"

The full command reference can be found here

About

Bob's SO and the reference CLI.

License:GNU General Public License v3.0


Languages

Language:Clojure 100.0%