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.22.tar.gz (19.9 kB view details)

Uploaded Source

File details

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

File metadata

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

File hashes

Hashes for menhir-0.0.22.tar.gz
Algorithm Hash digest
SHA256 10b42d0d50fe06bc84cdcfaa38d5f16afa4e27acca40255612942d71dd668f86
MD5 1a532b4fe5e8ba7fa84196ba1a8a3fcc
BLAKE2b-256 07bdc72c0724b25f858551740fa8d8b5dda2e5ac7b73ba77f3aef91cb0cd3ce4

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