The Base Julia CI setup makes use of rootfs images that contain our build tools.
Most images are based on Debian, making use of debootstrap
to provide a quick and easy rootfs with packages installed through an initial apt
invocation.
This repository contains the scripts to build the rootfs images.
The other configuration files for Base Julia CI are located in the .buildkite
directory in the Julia repository.
The documentation for the Base Julia CI setup is located in the base-buildkite-docs repository.
git clone https://github.com/JuliaCI/rootfs-images.git
cd rootfs-images
julia --project -e 'import Pkg; Pkg.instantiate()'
If you want to test a rootfs image locally, you can use the test_rootfs.jl
script, passing in the URL of the rootfs you want to test. It will drop you into a shell within the build environment, where you can recreate build failures more reliably.
To see the instructions for running the test_rootfs.jl
script, run:
julia --project test_rootfs.jl --help
Suppose that you want to test the rootfs image at https://github.com/JuliaCI/rootfs-images/releases/download/v3.18/package_linux.x86_64.tar.gz
. First, run the following command:
julia --project test_rootfs.jl --url https://github.com/JuliaCI/rootfs-images/releases/download/v3.18/package_linux.x86_64.tar.gz
This will print out a message with the tree hash of the rootfs. Now, run the following command:
julia --project test_rootfs.jl --url https://github.com/JuliaCI/rootfs-images/releases/download/v3.18/package_linux.x86_64.tar.gz --treehash 1234567890000000000000000000000000000000
(Replace 1234567890000000000000000000000000000000
with the tree hash that was printed in the previous step.)
This will drop you into a shell within the build environment.