git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 3/4] ci: use more recent linux32 image

From
Patrick Steinhardt <ps@pks.im>
Date
Sep 12, 2024, 11:53 UTC
Message-ID
<ZuLWHBvrT31KVd9W@pks.im>
In-Reply-To
<20240912112242.GA622312@coredump.intra.peff.net>
On Thu, Sep 12, 2024 at 07:22:42AM -0400, Jeff King wrote:
Show 48 quoted lines
> On Thu, Sep 12, 2024 at 12:41:03PM +0200, Patrick Steinhardt wrote:
> 
> > On Thu, Sep 12, 2024 at 05:47:30AM -0400, Jeff King wrote:
> > > diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
> > > index 97f9b06310..db8e8f75a4 100644
> > > --- a/.github/workflows/main.yml
> > > +++ b/.github/workflows/main.yml
> > > @@ -339,8 +339,8 @@ jobs:
> > >            image: alpine
> > >            distro: alpine-latest
> > >          - jobname: linux32
> > > -          image: daald/ubuntu32:xenial
> > > -          distro: ubuntu32-16.04
> > > +          image: i386/ubuntu:focal
> > > +          distro: ubuntu32-20.04
> > >          - jobname: pedantic
> > >            image: fedora
> > >            distro: fedora-latest
> > 
> > We could counteract the loss of testing against Ubuntu 16.04 by adding
> > it to GitLab CI instead:
> > 
> >     diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> >     index 2589098eff7..80b1668ebeb 100644
> >     --- a/.gitlab-ci.yml
> >     +++ b/.gitlab-ci.yml
> >     @@ -25,6 +25,9 @@ test:linux:
> >            fi
> >        parallel:
> >          matrix:
> >     +      - jobname: linux-old
> >     +        image: ubuntu:16.04
> >     +        CC: gcc
> >            - jobname: linux-sha256
> >              image: ubuntu:latest
> >              CC: clang
> > 
> > I didn't test it, but it should work alright. GitLab doesn't put any
> > additional executables into the container, so it is entirely self
> > contained. Let me know in case you think this is a good idea and I'll
> > run a CI pipeline against this change.
> 
> That seems like a good thing to do to mitigate the loss. In a perfect
> world we'd have all platforms running all the tests, just because it
> helps align the work between finding and fixing (i.e., I might introduce
> a bug and not even know it is failing, and you have to spend time
> reporting it to me). But the world isn't perfect, so finding out about
> my bug _eventually_ is OK. :)

For reference, [here] is the merge request. The [first] pipeline failed because Java is too old, as you also mention in one of the preceding commits:

    JGit Version
    Exception in thread "main" java.lang.UnsupportedClassVersionError: org/eclipse/jgit/pgm/Main has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
        at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
        at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:151)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:348)
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:46)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:108)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
        at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:65)
I've thus added the following hunk:
    diff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh
    index 735ee6f4639..c85b1f55700 100755
    --- a/ci/install-dependencies.sh
    +++ b/ci/install-dependencies.sh
    @@ -55,6 +55,11 @@ ubuntu-*|ubuntu32-*)
                    ${CC_PACKAGE:-${CC:-gcc}} $PYTHON_PACKAGE
            case "$distro" in
    +       ubuntu-16.04)
    +               # Does not support JGit, but we also don't really care about
    +               # the others. We rather care whether Git still compiles and
    +               # runs fine overall.
    +               ;;
            ubuntu-*)
                    mkdir --parents "$CUSTOM_PATH"

And with that the [fixed] pipeline builds and executes our tests just fine. I didn't wait for tests to finish though.

Patrick

[here]: https://gitlab.com/gitlab-org/git/-/merge_requests/210 [first]: https://gitlab.com/gitlab-org/git/-/jobs/7808775485 [fixed]: https://gitlab.com/gitlab-org/git/-/jobs/7808836999

Previous: Jeff KingNext: Patrick Steinhardt
Message 13 of 24 in “ci: remove 'Upload failed tests' directories' step from linux32 jobs”
  1. ci: remove 'Upload failed tests' directories' step from linux32 jobsJunio C Hamano, Sep 9, 2024
  2. Junio C HamanoSep 11, 2024
  3. Jeff KingSep 12, 2024
  4. Jeff KingSep 12, 2024
  5. 0/4 make linux32 ci job work with recent actionsJeff King, Sep 12, 2024
  6. 1/4 ci: drop run-docker scriptsJeff King, Sep 12, 2024
  7. Patrick SteinhardtSep 12, 2024
  8. 2/4 ci: unify ubuntu and ubuntu32 dependenciesJeff King, Sep 12, 2024
  9. Patrick SteinhardtSep 12, 2024
  10. 3/4 ci: use more recent linux32 imageJeff King, Sep 12, 2024
  11. Patrick SteinhardtSep 12, 2024
  12. Jeff KingSep 12, 2024
  13. Patrick SteinhardtSep 12, 2024
  14. Patrick SteinhardtSep 12, 2024
  15. Jeff KingSep 13, 2024
  16. Patrick SteinhardtSep 13, 2024
  17. 4/4 ci: use regular action versions for linux32 jobJeff King, Sep 12, 2024
  18. Junio C HamanoSep 12, 2024
  19. 5/4 ci: add Ubuntu 16.04 job to GitLab CIPatrick Steinhardt, Sep 13, 2024
  20. Jeff KingSep 13, 2024
  21. Patrick SteinhardtSep 13, 2024
  22. Jeff KingSep 13, 2024
  23. Patrick SteinhardtSep 13, 2024
  24. Junio C HamanoSep 13, 2024

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.