Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add CI for popular Linux distros #116

Closed
wants to merge 1 commit into from

Conversation

0tkl
Copy link

@0tkl 0tkl commented Mar 9, 2024

  • Archlinux
  • Debian 11/12
  • Debian Testing/Unstable
  • Ubuntu 20.04/22.04/24.04
  • Fedora Latest/Rawhide
  • OpenSUSE Leap Stable/Next
  • 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 0tkl force-pushed the 0tkl/linuxci branch 2 times, most recently from 23fd085 to 7ae32e8 Compare April 5, 2024 16:36
@0tkl
Copy link
Author

0tkl commented Apr 6, 2024

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 0tkl marked this pull request as ready for review April 6, 2024 08:27
@0tkl 0tkl marked this pull request as draft April 13, 2024 04:46
@0tkl 0tkl force-pushed the 0tkl/linuxci branch 4 times, most recently from b6c1db6 to f963564 Compare May 29, 2024 01:48
@0tkl
Copy link
Author

0tkl commented May 29, 2024

bump to ffms2 5.0 release now

@0tkl 0tkl force-pushed the 0tkl/linuxci branch 3 times, most recently from e574a58 to 3cd4001 Compare June 2, 2024 03:24
@0tkl
Copy link
Author

0tkl commented Jun 2, 2024

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 0tkl marked this pull request as ready for review June 2, 2024 08:47
@0tkl
Copy link
Author

0tkl commented Jun 2, 2024

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 #137.

@0tkl 0tkl force-pushed the 0tkl/linuxci branch 3 times, most recently from 0815e00 to 9323328 Compare June 3, 2024 15:36
@0tkl
Copy link
Author

0tkl commented Jun 3, 2024

…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
Copy link
Author

0tkl commented Jun 4, 2024

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

Archlinux; Debian 11/12/Testing/Sid;
Ubuntu 20.04/22.04/24.04; Fedora Latest/Rawhide;
OpenSUSE Leap Stable/Next; OpenSUSE Tumbleweed

Fix git error on Ubuntu 20.04
Add RPM Fusion repo on Fedora Rawhide to install ffms2
Install glibc-locale on openSUSE Leap
Build boost on openSUSE Leap
@0tkl 0tkl marked this pull request as draft June 7, 2024 14:04
@0tkl 0tkl closed this Dec 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant