Skip to the content.

Introduction

Kheops is currently in the prototype phase and under continuous development.

Kheops is a tool for linting software architectures. It is available as a Docker image that can run in GitHub Actions or locally.

Running on Github

There are a few steps to follow in order to enable Kheops for a code repository using Github Actions workflows:

Kheops-based workflows are now available for your repository through Github Actions and can be triggered based on the events specified in the .yml files.

For more information, check out the Github actions workflows documentation.

Configuration

Before starting the Github workflow, make sure Github runners are configured. The sample .yml files are configured to use a self-hosted runner. Alternatively, you can configure Github-hosted runners.

Both ci-pr.yml and ci-push.yml contain a configurable parameters. The ones you need to be configured are:

Note that the directories and file paths below are relative to the Docker image.

Running locally

The parameters above are passed as input arguments to kheopscli. The list of arguments can inspected by running kheopscli with the --help option. First,

$ docker pull ghcr.io/oxoaresearch/kheops-compiled:latest

and run with the --help option

docker run -it ghcr.io/oxoaresearch/kheops-compiled:latest /kheopscli/bin/kheopscli --help

This page is still a work in progres and under construction… ¯(ツ)/¯ 0x0α Research, 2024.