quickjs-ng / quickjs

QuickJS, the Next Generation: a mighty JavaScript engine
https://quickjs-ng.github.io/quickjs/
MIT License
972 stars 79 forks source link

linux-gcc48 has repetitive failures due to distribution issues #389

Closed chqrlie closed 5 months ago

chqrlie commented 5 months ago

We keep getting CI failures for this test that seem unrelated to the project files. How can we work around this problem?

saghul commented 5 months ago

The last failure I saw seemed to be related to a networking problem between the GH runner and the Ubuntu repo I think.

The only thing I can think of is to try and setup a GH actions cache so it doesn't need to install dependencies every time.

chqrlie commented 5 months ago

The CI installs these packages:

binutils cpp-4.8 gcc-4.8 gir1.2-glib-2.0 iso-codes libasan0 libatomic1
  libc-dev-bin libc6-dev libcloog-isl4 libdbus-glib-1-2 libgcc-4.8-dev
  libgirepository-1.0-1 libglib2.0-0 libglib2.0-data libgmp10 libgomp1
  libisl10 libitm1 libmpc3 libmpfr4 libquadmath0 libtsan0 libxml2
  linux-libc-dev make manpages manpages-dev python-apt-common python3-apt
  python3-dbus python3-gi python3-pycurl python3-software-properties sgml-base
  shared-mime-info software-properties-common time unattended-upgrades wget
  xml-core xz-utils

Why do we need python, the glib, the gmp lib, the xml libs or the xz utilities?

saghul commented 5 months ago

I guess they are suggested or recommended from gcc? We can try with --no-install-recommends and --no-install-suggests

bnoordhuis commented 5 months ago

How about we just chuck the linux-gcc48 buildbot? It's running on ubuntu 14.04, released 10 years ago, EOL'd 5 years ago... to say nothing of the kludges and shell scripts needed to get gcc and cmake to actually install.

I'll open a PR for you to aye/nay.

saghul commented 5 months ago

OL'd 5 years ago...

Technically, it goes EOL this very month :scream: https://wiki.ubuntu.com/Releases

Ubuntu 18.04 LTS which is in support for a few more years seems to have GCC 4.8. Let me give it a quick try.

saghul commented 5 months ago

https://github.com/quickjs-ng/quickjs/pull/393

bnoordhuis commented 5 months ago

Technically, it goes EOL this very month

Yes, but only when you pay Canonical. Us freeloaders have been unsupported since 2019. :-)

saghul commented 5 months ago

haha, true that!

My PR "works" as in, it still relies on checkout v3 which won't last forever, but it's hopefully more reliable since Ubuntu 18.04 is a bit more recent.

I removed the test running other than the basic interpreter run to (sort of) singnal the level of support to be expect.

I'm fine keeping or removing the job, just thought I'd give it a try.

bnoordhuis commented 5 months ago

I'm fine with keeping it, provided it's not an inconvenience.

bnoordhuis commented 5 months ago

Should be fixed by #393.