Skip to content

Actions: Add Linux build step#654

Merged
dcantah merged 2 commits intoapple:mainfrom
dcantah:linux-ci
Apr 7, 2026
Merged

Actions: Add Linux build step#654
dcantah merged 2 commits intoapple:mainfrom
dcantah:linux-ci

Conversation

@dcantah
Copy link
Copy Markdown
Member

@dcantah dcantah commented Apr 6, 2026

Related to #606

To make sure the project (and many linux specific libraries) builds on linux lets add a linux step to build for both musl and glibc. Eventually this will run unit tests as well. This change needs a bit more libc agnostic-ifying work to make sure things work for both libcs.

@dcantah dcantah force-pushed the linux-ci branch 3 times, most recently from 14a0f76 to 0e6b951 Compare April 7, 2026 04:55
To make sure the project (and many linux specific libraries)
builds on linux lets add a linux step to build for both musl and
glibc. Eventually this will run unit tests as well.
@dcantah dcantah marked this pull request as ready for review April 7, 2026 04:57
name: Linux compile check
timeout-minutes: 30
runs-on: ubuntu-24.04
container: swift:6.3-noble
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I would prefer we install swift in the steps so we can programmatically decide what version to install instead of needing to update this container image manually.

Today there's quite a few things that do not compile if
you change musl out for glibc. This is either due to
type differences between what some of the syscall wrappers
expect (enums vs. raw integers) or the fact that swifts
glibc modulemap doesn't define gnu_source so some headers
don't get included (vfs.h for statfs and pals). To work
around this, we need to expose either compatability shims,
or just expose the headers we need in our existing c shims
we already have.
@dcantah dcantah merged commit 997d5a4 into apple:main Apr 7, 2026
4 checks passed
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