•  
      request #19270 Use the build environment based on Nix to build the RPM packages
    Infos
    #19270
    Thomas Gerbet (tgerbet)
    2021-02-09 13:03
    2021-02-05 11:17
    20842
    Details
    Use the build environment based on Nix to build the RPM packages

    Tuleap currently has two ways for building its RPM packages:

    • for packages located in the main repository an image called enalean/tuleap-buildrpms is used after the "preparation phase"
    • for packages located outside of the main repository they each have their own way, most of them use a Docker image based on Ubuntu to prepare the sources and build the packages

    It would be interesting to reuse and build upon the work done in request #18503:

    • reusing the same environment means we do not need to maintain (or keep it in a somewhat working state to be more exact with what's currently happening...) a set of images, accessing the Nix based environment is the only needed thing
    • it helps to get a reproducible build since our Nix based environment is pinned to a specific version
    • for the external packages the same exact tools will be used to test and to package the packages meaning that we will actually test what we deliver
    • we reduce a bit what we need to download for each build, the build environment is a bit bigger but that still far less than a whole Docker image dedicated to that
    Other
    All
    Empty
    • [ ] enhancement
    • [ ] internal improvement
    Empty
    Stage
    Thomas Gerbet (tgerbet)
    Closed
    2021-02-09
    Attachments
    Empty
    References
    Referencing request #19270

    Git commit

    tuleap/tools/jenkinsfile-library

    request #19270: Use the build environnement based on Nix to build the RPM packages master 72d5a6e30c
    Fix bash script syntax master 65da933f53

    tuleap/tuleap/stable

    Merge commit 'refs/changes/90/21690/3' of ssh://gerrit.tuleap.net:29418/tuleap into HEAD af3b586808
    request #19270: Use the build environnement based on Nix to build the RPM packages ce6109bc54
    request #19270: Use the build environment based on Nix to build the RPM packages 32209e2fb9
    request #19270: Use the build environment based on Nix to build the RPM packages 52b46d83d4
    request #19270: Use the build environment based on Nix to build the RPM packages b2fd392190
    request #19270: Use the build environment based on Nix to build the RPM packages 35523e7ea2
    request #19270: Use the build environment based on Nix to build the RPM packages b7565d3823
    request #19270: Use the build environment based on Nix to build the RPM packages 1991a9e7b9

    tuleap/u/tgerbet/tools/clamav-scanner

    request #19270: Use the build environnement based on Nix to build the RPM packages 72d5a6e30c
    Fix bash script syntax 65da933f53

    Follow-ups

    User avatar
    Thomas Gerbet (tgerbet)2021-02-09 13:03
    AFAIK yes that is all of the external packages we manage.

    • Status changed from Under implementation to Closed
    • Connected artifacts
    • Close date set to 2021-02-09
    User avatar
    Thomas Gerbet (tgerbet)2021-02-08 16:51
    • Summary
      -Use the build environnement based on Nix to build the RPM packages 
      +Use the build environment based on Nix to build the RPM packages 
    User avatar
    Thomas Gerbet (tgerbet)2021-02-05 11:29
    First part introducing the changes for main repository can be reviewed here: gerrit #21690.

    • Status changed from Under review to Under implementation