rhad

command module
v0.6.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 23, 2022 License: MIT Imports: 3 Imported by: 0

README

rhad

Github Actions

Support OpenSourceCorp on Ko-Fi!

rhad ("rhadamanthus") is a CI/CD task runner used in OpenSourceCorp's CI/CD subsystem. It does not orchestrate CI/CD tasks -- that's the subsystem's job. Rather, it is a set of utilities that are designed to be easily ported between any CI/CD platform of your choosing. rhad comprises all the CI/CD logic that your platform would normally run as steps in that process -- lint, test, build, push, deploy, etc. In this way, you can think of rhad being much like a Jenkins shared library.

How to use

To build & run rhad locally, you can clone this repo, and run:

make image-build

from the repo root. This will build (by default) an image tagged as ghcr.io/opensourcecorp/rhad:latest. Please be patient, as rhad has a lot of build-time dependencies that it needs to fetch; and note that the resulting image will be quite large!

To actually run rhad, you will need to run the image's container with your local folder mounted to it:

docker run --rm -it -v "${PWD}":/home/rhad/src ghcr.io/opensourcecorp/rhad:latest <subcommand> # e.g. 'lint'

Note that rhad's instructions are provided within a container runtime context only. As rhad depends on many system & CLI utilities being present at runtime, it is an unfair assumption that someone will have their host machine configured with all of these disparate tools (there are a LOT, mostly for the linters).

If you really want to get rhad working on a dedicated machine, it's certainly easy enough to do -- just fire up a Debian-based machine, grab the scripts/sysinit.sh script, and take note of the order of things specified in the top-level Containerfile. Note that rhad's container image is built off of Debian's unstable/"Sid" branch, and has not been tested on a stable release.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package cmd implements the CLI logic for rhad
Package cmd implements the CLI logic for rhad
internal
submodules/lint
Package lint provides code linting functionality that is either easier to configure or has unavailable behavior in external linter aggregators
Package lint provides code linting functionality that is either easier to configure or has unavailable behavior in external linter aggregators

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL