Scripts for building Global Script, both on your machine and in a container

root

This repo has scripts and Dockerfiles, to test the release engineering of the Global Script typesetting system and friends.

To build from scratch in a container:

    docker build -t globalscript:$distribution -f Dockerfile-$distribution-from-scratch-$version .
    docker run -it globalscript:$distribution sh -c '~/bin/get-code && ~/bin/test-all'

You can start a persistent container via:

    docker run --name globalscript -d -i -t globalscript:distribution /bin/sh

You can run an individual step via:

    docker exec -it globalscript /root/bin/step

You can start an interactive shell in a container via:

    docker run -it globalscript:$distribution /bin/bash

To discard the running container, use

    docker stop globalscript && docker rm globalscript

To build from binary packages in a container:

    rsync -av --delete $GLOBALSCRIPT_REPO/ globalscript-repo/
    docker build -t globalscript:$distribution-binary-packages-$version -f Dockerfile-$distribution-from-binary-packages-$version .
    docker run -it globalscript:$distribution-binary-packages-$version sh -c 'cd ~/ibio-tests && ibio-spec'

To set up Global Script locally run:

    sudo ./bin/install-prereqs

Installs the compiler tools needed to build the system,
and sets up Plan 9 from User Space (https://github.com/9fans/plan9port)
in /usr/local/plan9.

    ./bin/get-code

Checks out every source repo in ~/src (hard-coded; will be created if you don't have it!)

    ./bin/test-all

Builds all source packages and runs integration tests on them;
this builds the packages in build order, so it can be used to bootstrap the system from scratch.