Skip to content

JuliaCI/rootfs-images

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rootfs images for Base Julia CI

Build (Linux) Build (Windows)

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.

Cloning this repository

git clone https://github.com/JuliaCI/rootfs-images.git
cd rootfs-images

Instantiating the environment

julia --project -e 'import Pkg; Pkg.instantiate()'

Testing out a rootfs image

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

Example

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.