Aegisub icon indicating copy to clipboard operation
Aegisub copied to clipboard

Add CI for popular Linux distros

Open 0tkl opened this issue 11 months ago • 6 comments

  • [x] Archlinux
  • [x] Debian 11/12
  • [x] Debian Testing/Unstable
  • [x] Ubuntu 20.04/22.04/24.04
  • [x] Fedora Latest/Rawhide
  • [x] OpenSUSE Leap Stable/Next
  • [x] OpenSUSE Tumbleweed

WIP: At the moment, distro.yml just try to compile Aegisub and bet if it can pass all tests. May add packaging routine some day. (Hope to finish it for Archlinux before feature_13? ;-) )

The version of FFMS2 I use in the script is 5.0 RC3, will switch to 5.0 final release once it is available (along with your update on its meson.build).

~T64 transition is ongoing in Debian unstable, still figuring what packages are affected.~ Fixed

openSUSE Leap have relatively old packages (some are even older than Debian 10), so I have to use "experimental" repos. ~However it looks like boost provided by "experimental" repos causes two icu with conflicting versions, and thus failed on tests.~ It mysteriously disappeared. Now the problem comes from iconv:

[ RUN      ] lagi_format.wchar_t
unknown file: Failure
Unknown C++ exception thrown in the test body.

[ RUN      ] lagi_iconv.BasicSetup
../tests/tests/iconv.cpp:25: Failure
Expected: IconvWrapper("UTF-8", "UTF-16LE") doesn't throw an exception.
  Actual: it throws.

[ RUN      ] lagi_iconv.StrLen2
unknown file: Failure
Unknown C++ exception thrown in the test body.

[ RUN      ] lagi_iconv.StrLen4
unknown file: Failure
Unknown C++ exception thrown in the test body.

[ RUN      ] lagi_iconv.Conversions
unknown file: Failure
Unknown C++ exception thrown in the test body.

[ RUN      ] lagi_iconv.Buffer
unknown file: Failure
Unknown C++ exception thrown in the test body.

[ RUN      ] lagi_line.int
unknown file: Failure
Unknown C++ exception thrown in the test body.

[ RUN      ] lagi_line.double
unknown file: Failure
Unknown C++ exception thrown in the test body.

[ RUN      ] lagi_line.string
unknown file: Failure
Unknown C++ exception thrown in the test body.

~Btw, do you think we should test on some older distros like Debian 10/11 or Ubuntu 20.04?~ Ubuntu 20.04 and Debian 11 are added.

0tkl avatar Mar 09 '24 18:03 0tkl

~Remove "WIP:" and let's see what's happening on openSUSE Leap build…~

Oops, forgot that PR on cibuilds branch won't trigger CI :-(

0tkl avatar Apr 06 '24 08:04 0tkl

bump to ffms2 5.0 release now

0tkl avatar May 29 '24 01:05 0tkl

So iconv in openSUSE Leap supports very few encodings. Even UTF16-* are unsupported (UCS-2* aren't quite the same thing to UTF16-*)

user1@host:/__w/Aegisub/Aegisub> iconv -V
iconv (GNU libc) 2.38
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Ulrich Drepper.

user1@host:/__w/Aegisub/Aegisub> iconv -l
The following list contains all the coded character sets known.  This does
not necessarily mean that all combinations of these names can be used for
the FROM and TO command line parameters.  One coded character set can be
listed with several different names (aliases).

  10646-1:1993, 10646-1:1993/UCS4, ANSI_X3.4-1968, ANSI_X3.4-1986, ANSI_X3.4,
  ASCII, CP367, CSASCII, CSUCS4, IBM367, ISO-10646, ISO-10646/UCS2,
  ISO-10646/UCS4, ISO-10646/UTF-8, ISO-10646/UTF8, ISO-IR-6, ISO-IR-193,
  ISO646-US, ISO_646.IRV:1991, OSF00010020, OSF00010100, OSF00010101,
  OSF00010102, OSF00010104, OSF00010105, OSF00010106, OSF05010001, UCS-2,
  UCS-2BE, UCS-2LE, UCS-4, UCS-4BE, UCS-4LE, UCS2, UCS4, UNICODEBIG,
  UNICODELITTLE, US-ASCII, US, UTF-8, UTF8, WCHAR_T

~~I'll manage to add a test in the root meson.build to know whether system iconv supported UTF-16/32.~~ Even if it can be implemented, I still struggle to compile libiconv on openSUSE Leap :-(

0tkl avatar Jun 02 '24 06:06 0tkl

Apply some ugly replacements when building on openSUSE. Now all release and debug builds on openSUSE Leap could pass tests.

debugoptimized builds on openSUSE Leap/Tumbleweed are still broken, which is reported in https://github.com/arch1t3cht/Aegisub/issues/137.

0tkl avatar Jun 02 '24 08:06 0tkl

…lol, I don't know that openSUSE Leap image doesn't install glibc-locale-base by default while Tumbleweed does, until a kind developer revealed that to me. Now glibc-locale-base provides much more encodings to iconv which resolves the error, normally.

Another change is that we use local boost on openSUSE Leap. We build Aegisub with gcc-13 because of C++17 (and possibly C++20 in the future), but libboost* provided by devel_tools_c_c++ repo are linked to the default old gcc-7.

0tkl avatar Jun 03 '24 15:06 0tkl

fedora:latest bump from 39 to 40, so age decreased from 3 to 2.

0tkl avatar Jun 04 '24 13:06 0tkl