Skip to main content

A build tool for monolithic repositories

Project description

https://circleci.com/gh/dialoguemd/menhir.svg?circle-token=56c5301ac8a026188f52c86ee1522709e5d103cb https://codecov.io/gh/dialoguemd/menhir/branch/master/graph/badge.svg?token=Fl2ObQ8DC6

Menhir is a build tool for monolithic repositories. Unlike existing monolithic build tools, it does not aim at being prescriptive about how (sub-)projects are built. It prefers to use established single project build tools at the project level.

Usage

Menhir is zero configuration.

At the root of the repository, menhir can have a menhir_root.yaml file. This file configures a set of build tools for menhir to use, using a list on the tools key. If this file is not present, all built in tools are used. The file can specify add-in tools that are maintained outside of menhir itself.

Currently the supported build tools are setup_py, pyenv, pytest and script.

The menhir command line provides the exec command to execute a build phase on the monorepo. The build phases are implemented by the build tools.

codecov - uploads coverage to coverage.io

docker - build, push, publish

dynamodb - put

setup_py - sdist, lambda-package

pyenv - requirements

pytest - test

script - any phase for which bin/<phase-name> exists and is

executable

terraform - plan, apply, destroy

When executing the script tools, the following environment variables are set if the condition is true:

MENHIR_CHANGED MENHIR_CHANGED_DEP MENHIR_CHANGED

Installation

Install using pip.

pip install menhir

Cross project dependencies

The cross project dependencies are discovered by the build tools. Currently only the setup_py tool contributes dependencies.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

menhir-0.0.23.tar.gz (19.9 kB view details)

Uploaded Source

File details

Details for the file menhir-0.0.23.tar.gz.

File metadata

  • Download URL: menhir-0.0.23.tar.gz
  • Upload date:
  • Size: 19.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for menhir-0.0.23.tar.gz
Algorithm Hash digest
SHA256 857ea14e5e93fd96fd6776a97e9063204fc0a3157da183770345f7a5885f1679
MD5 8a1aa0721005e2a725a910d4144e4e2d
BLAKE2b-256 ad746afc22a744b76ce3a8ccd8bf61f68d4b16fb863fdd55fa9b1eb3df6d47d5

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page