Skip to content
Snippets Groups Projects
  • Maxim Cournoyer's avatar
    566bd6e8
    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 the tarball and build.
    
    GitLab: jami-packaging#98
    Change-Id: I13088b75c9ccd5166662a84b7c5f8d4e8b7b65da
    ci: Spread builds across multiple nodes.
    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 the tarball and build.
    
    GitLab: jami-packaging#98
    Change-Id: I13088b75c9ccd5166662a84b7c5f8d4e8b7b65da
Code owners
Assign users and groups as approvers for specific file changes. Learn more.