Scripts for building Global Script, both on your machine and in a container
root
- bin
- globalscript-repo
- haskell-packages
- .boring
- .ignore
- COPYRIGHT
- Dockerfile-from-binary-packages
- Dockerfile-from-scratch
- PSL
- README
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-from-scratch --build-arg distribution=$distribution --build-arg version=$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/
(cd globalscript-repo; rm -f package-tools.tar.gz; ln -s $(gslatest package-tools-*.tar.gz) package-tools.tar.gz;)
docker build -t globalscript:$distribution-binary-packages-$version -f Dockerfile-from-binary-packages --build-arg distribution=$distribution --build-arg version=$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.
Note: the Ubuntu versions on Docker Hub are: latest - latest lts release; rolling - latest release (!); devel - next release