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

Update CI build matrix #213

Open
ralphlange opened this issue Jan 14, 2025 · 2 comments
Open

Update CI build matrix #213

ralphlange opened this issue Jan 14, 2025 · 2 comments

Comments

@ralphlange
Copy link
Member

The CI build (using GitHub Actions) lacks maintenance.

I am willing to update things as a one-off project, part of my current CI related PR.

@FreddieAkeroyd @exzombie @MarkRivers @mdavidsaver @keenanlang
But: You must help and tell me which combinations of build parameters the CI builds should cover.
Obviously, running all possible combinations creates way too many jobs. What we need is a useful, sensible subset.

Available options (not all shown)

(Everything italics and in brackets) is currently not used

Platforms (native)

(Ubuntu 20)
(Ubuntu 22)
Ubuntu 24

Windows-2019
(Windows-2022)
(Windows-2025)

(MacOS 13)
(MacOS 14)

Platforms (cross from Linux to)

RTEMS-4.9
RTEMS-4.10
(RTEMS-5.1)
(Linux@ARM64)
(Windows/MinGW)

Platforms (using docker)

(CentOS:8)
(RockyLinux:9)
(Fedora:33)
(Fedora:latest)

Sets of dependency versions

(dep1: SNCSEQ 2.2.8, SSCAN 2.11.3, CALC 3.7.3, IPAC 2.15)
dep2: SNCSEQ 2.2.8, SSCAN 2.11.5, CALC 3.7.4, IPAC 2.16
(dep-latest: default branch on all)

Configurations

shared (default)
(debug)
static (not on MacOS)
(static-debug (not on MacOS))

Compilers (all available in different versions)

GNU (not on MacOS)
(clang)
MSVC (only Windows)

Special cases

(Only use EPICS build system and libcom (no device support))
(Set INSTALL_LOCATION)

@tboegi
Copy link
Contributor

tboegi commented Jan 14, 2025

@ralphlange (hopefully this is useful information)
I am currently using Ubuntu 20:
https://github.com/EuropeanSpallationSource/m-epics-ethercatmc/blob/master/.github/workflows/ci-scripts-build.yml
However, that should be updated towards Ubuntu 22.
Or, if nobody else is on Ubuntu 22 an you want to drop it, to Ubuntu 24.

@FreddieAkeroyd
Copy link
Contributor

Regarding configurations, static and shared probably needed for most, debug is useful on windows as it uses different libraries and so a CI spots linker issues. Probably do not need all combination with all compiler versions as linker requirements are similar e.g. just all three with VS2022 and then maybe just release or static with the others to check compiler. How many VS versions do we feel we need? Personally we are now using Windows server 2019 and 2022 with Visual Studio 2022 (server 2022 is based on windows 11 based whereas 2019 was Windows 10 LTSC). We don't use MinGW ourselves, but this is well used i understand.

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

No branches or pull requests

3 participants