/bash-kit

Images for testing .devkit-based projects against specific bash versions

Primary LanguageDockerfile

Bash images for .devkit project tests

This is a docker image for compatibility-testing .devkit-based projects with specific versions of bash. It adds the following modules to an official bash image:

  • less and ncurses (for paging test results and cutting them to the current screen size)
  • py-pygments (for colorizing the test diffs)
  • python (for running cram)
  • git (to fetch dependencies)
  • entr and modd (to support .devkit's watch command)
  • jq, yaml2json and py-yaml (for jqmd)
  • php7 as php (for testing imposer)
  • go and musl-dev (for building go-based dependencies)
  • shellcheck (for linting shell scripts)
  • coreutils (for a touch -r command that works correctly with bash 5 timestamp comparison)

By default, it builds from bash 3.2, but you can set --build-arg BASH_VER=some.version to create an image based on a specific bash version. It has a work directory called /workdir, so mounting $PWD to /workdir will let you run things from the current directory.

To use it interactively on the command line, just do, e.g.:

docker run --rm -it -v "$PWD:/workdir" ghcr.io/bashup/bash-kit:3.2

(Or whatever bash version you want, that's available in the current tags.)