I’m working on a hobby project of mine which requires Gnu Make 4.4. I am now trying to setup the project’s Travis pipeline on github. Travis, understandably, only offers LTS Ubuntu images and sadly Gnu Make 4.4 is not available on those images.

Is there any way, compiling from the sources aside, to install the said version on an Ubuntu image? Something like a PPA?

  • bahmanmOP
    link
    fedilink
    arrow-up
    1
    ·
    11 months ago

    RE Travis: I feel quite comfortable and happy w/ Travis already. Additionally, I want to keep my reliance on github minimal. The only reason I’m using it is that it is where things are searched for and found by fellow programmers :-)

    RE Container: My home machine is running Tumbleweed which’s had Gnu Make 4.4 for a few months now already. I was trying to make the pipeline behave as closely as possible to the user’s machine who may not have that version installed. Otherwise as you and @sugar_in_your_tea@sh.itjust.works mentioned, I could pack everything I’d need in a container.

    • sugar_in_your_tea@sh.itjust.works
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      11 months ago

      You’d just use the container for testing other Make versions. If your users use Ubuntu, run your tests with an Ubuntu docker image. You can run several versions that way with minimal effort.

      I don’t know much about Travis, but it’s pretty easy to set that up with Jenkins.

      • bahmanmOP
        link
        fedilink
        English
        arrow-up
        1
        ·
        11 months ago

        That’s pretty much what I ended up doing. Install Gnu Make 4.4 as part of the pipeline. I then added a check to warn the user if the Make version they use is not supported.

        • sugar_in_your_tea@sh.itjust.works
          link
          fedilink
          arrow-up
          1
          ·
          11 months ago

          No, I’m saying you’d support older versions of make in your project and use docker images in your CIb pipeline to test each of those supported versions. If you’re not using any 4.4-specific features, 4.2 (20.04) and 4.3 (22.04) would probably work. So you’d have a docker container for every OS that you’re officially supporting (or at least every version of make that supported OSes use).

          • bahmanmOP
            link
            fedilink
            arrow-up
            1
            ·
            11 months ago

            I see your point. Though the main thing, as I mentioned in the question, is that I’m using features from 4.4 so that strategy wouldn’t work for me.