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

CI: add multi-distro build (using docker) #677

Merged
merged 1 commit into from
Mar 20, 2025
Merged

Conversation

fermino
Copy link
Collaborator

@fermino fermino commented Dec 9, 2024

This PR adds a github-actions job that builds rmlint on several distros, mostly to check compatibility against toolchain and libraries (and avoid stalling issues like #605).

If there is any other distro that could be added please let me know.

@fermino fermino marked this pull request as draft December 9, 2024 20:01
@fermino fermino force-pushed the ci-multi-distro-build branch from 27cd885 to 2e67976 Compare December 9, 2024 21:44
@fermino fermino marked this pull request as ready for review December 9, 2024 21:48
@fermino fermino force-pushed the ci-multi-distro-build branch 2 times, most recently from 327f047 to 37dbb9a Compare December 10, 2024 02:30
@vassilit
Copy link
Collaborator

This is not a distro, but FreeBSD would be great.

@fermino
Copy link
Collaborator Author

fermino commented Feb 28, 2025

This is not a distro, but FreeBSD would be great.

I looked into it but right now it's a bit convoluted, there's this which could work though: https://github.com/marketplace/actions/freebsd-vm

@vassilit
Copy link
Collaborator

Cirrus-CI has a good FreeBSD support that is free AFAIK for open-source projects

Copy link
Collaborator

@RayOei RayOei left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know how complete (@fermino) you want these builds to be?
I noticed that

  • most distros (except debian & ubuntu) don't build the manpage because of Unable to find sphinx binary in PATH
  • some warnings for scons (except Debian & Ubuntu):
    scons: Reading SConscript files ... /build/SConstruct:831: SyntaxWarning: invalid escape sequence '\.' 'sed -i "s/2\.0\.0/{v}/g" po/rmlint.pot', /build/SConstruct:832: SyntaxWarning: invalid escape sequence '\(' 'sed -i "s/^Version:\(\s*\)2\.0\.0/Version:\\1{v}/g" pkg/fedora/rmlint.spec'
  • Use apt-get instead of apt in the Debian section - this will not trigger the apt warning in the build
  • Some complain about: '/bin/sh: line 1: git: command not found
    Checking for git revision... Unable to find git revision.`

And, obviously, these warning/errors are not picked up as such.

@fermino
Copy link
Collaborator Author

fermino commented Mar 1, 2025

@RayOei I mostly wanted to make sure that things are building properly as some things have been breaking in arch and gentoo (and IIRC there is some soon to be packaging issues in debian).

Thanks for looking into those messages, I will fix what I can and get back with whatever's left :)

@fermino fermino force-pushed the ci-multi-distro-build branch from 37dbb9a to e1b27b6 Compare March 11, 2025 23:26
@vassilit
Copy link
Collaborator

Something useful would be to build on macOS (intel, arm) and also on 32bit architectures.

@RayOei
Copy link
Collaborator

RayOei commented Mar 20, 2025

Something useful would be to build on macOS (intel, arm) and also on 32bit architectures.

Do we want to add those first before moving on with this PR?
I think most of the build errors should be solved by other commits by now.
I would also want to see how we detect errors & warnings a bit better in the workflow, so things don't get overlooked.

@vassilit vassilit force-pushed the ci-multi-distro-build branch from e1b27b6 to df63d33 Compare March 20, 2025 16:08
@vassilit
Copy link
Collaborator

I've rebased to master just to check if we still compile correctly on all distributions.

I don't have an opinion if you should add macOS in this PR or another.

@fermino
Copy link
Collaborator Author

fermino commented Mar 20, 2025

Hey there, I'm not having the time right now to work on it, but besides that I think CirrusCI is a good option if we want to automate things in FreeBSD, and also AFAIR there is some support in github actions for mac, not sure if ARM only or x86 too. In any case, I'd rather have something merged and working than nothing at all™ 😆

@fermino
Copy link
Collaborator Author

fermino commented Mar 20, 2025

In the end, building ok does not guarantee correctness, so it might be a good idea to also test the whole thing in one FreeBSD/Darwin/whatever-other-unix and then have compilation-only checks for every distro/release.

@fermino fermino merged commit a869907 into master Mar 20, 2025
16 checks passed
@fermino fermino deleted the ci-multi-distro-build branch March 20, 2025 17:05
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.

3 participants