• Maxim Cournoyer's avatar
    ci: Spread builds across multiple nodes. · 566bd6e8
    Maxim Cournoyer authored
    When a .tarball-version file containing the version string is present,
    it is taken for granted that the source tarball is present.  This
    allows to lift the requirement on a Git checkout to use the source
    tarball.  This makes it easy and cheap to sync this tarball and
    accompanying .tarball-version file across different Jenkins agents to
    distribute the packaging jobs, bring the total build time from about 1
    h 40 to 40 minutes.
    * Makefile (TARBALL_VERSION): New variable.  When defined, do not do
    not invoke Git to derive the version string, simply use it.
    [RELEASE_TARBALL_FILENAME]: Do not compute prerequisites when
    TARBALL_VERSION is defined; assume the tarball is present.
    * .gitignore: Ignore .tarball-version.
    * Jenkinsfile: (Generate release tarball): Generate a .tarball-version
    file, and stash it along the release tarball.  Explicit this should
    run on a 'guix' agent.
    (Build packages): Forward to any 'linux-builder' agent, clean the
    workspace, unstash and extract t...