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 Nightly arm64 Linux job, and nightly distribution jobs #3321

Merged
merged 6 commits into from
Feb 21, 2025

Conversation

ADKaster
Copy link
Member

@ADKaster ADKaster commented Jan 20, 2025

Refactor the Lagom CI template a bit:

  • Actually use the arch parameter again
  • Pass build_preset from top level matrix instead of FUZZ/NO_FUZZ

Add a nightly job using the newly widely available ubuntu-24.04-arm runners (https://github.blog/changelog/2025-01-16-linux-arm64-hosted-runners-now-available-for-free-in-public-repositories-public-preview/)

  • Disable wasm spec tests on this job, because wabt doesn't have an arm64 release
  • Manually pass PKG_CONFIG_EXECUTABLE, otherwise we don't detect system libpulse-dev binaries.
  • Set VCPKG_FORCE_SYSTEM_BINARIES=1 as explained in vcpkg docs, and so the vcpkg binary doesn't yell at us

Add 3 nightly jobs for Distribution_CI preset: macOS, x86_64 linux, arm64 linux.

Draft until the new jobs pass on my fork. Expected-to-pass run ™️ : https://github.com/ADKaster/ladybird-browser/actions/runs/13394961544

@ADKaster ADKaster requested review from trflynn89 and gmta January 20, 2025 16:20
Copy link

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. Thank you for your contributions!

@github-actions github-actions bot added the stale label Feb 11, 2025
@ADKaster ADKaster force-pushed the arm64-and-distro-nightly branch from 3b5e8ec to 58b8819 Compare February 14, 2025 21:24
@github-actions github-actions bot removed the stale label Feb 15, 2025
@ADKaster ADKaster force-pushed the arm64-and-distro-nightly branch from 58b8819 to 8ad14d5 Compare February 17, 2025 20:29
@ADKaster ADKaster force-pushed the arm64-and-distro-nightly branch 2 times, most recently from 80b1b3a to cac4395 Compare February 18, 2025 18:32
@ADKaster ADKaster marked this pull request as ready for review February 18, 2025 18:32
@ADKaster ADKaster force-pushed the arm64-and-distro-nightly branch from cac4395 to a825be0 Compare February 18, 2025 18:35
@ADKaster
Copy link
Member Author

Note that arm64 Linux builds disable wasm spec tests, due to WebAssembly/wabt#2533

@ADKaster
Copy link
Member Author

@gmta where is the "required checks" config? This PR will rename "Lagom (Linux, ubuntu-24.04, NO_FUZZ, Clang, true) / CI" to "Lagom / (Linux, ubuntu-24.04, x86_64, Sanitizer_CI, Clang, true) / CI"

@ADKaster
Copy link
Member Author

where is the "required checks" config?

Ah, found it in the Branch Protection rules for master. Hm. Guess this will require a repo settings update when merged.

This was a relic from the SerenityOS CI, where architecture meant
what architecture to build Serenity for. For just ladybird, we might
want to build ladybird for multiple architectures per OS.
This requires setting VCPKG_FORCE_SYSTEM_BINARIES to 1, per vcpkg
documentation.
This avoids static builds putting the "no-op" implementation of
PlaybackStream::create() in the static archive before the strong
implementation later. On ELF (and probably PE/COFF too), a weak
definition in a static archive is chosen and locked-in as the
definition before a strong definition later in the archive.

Before this change, static builds would have no audio support
at all.
@ADKaster ADKaster force-pushed the arm64-and-distro-nightly branch from a825be0 to e458296 Compare February 20, 2025 21:10
@gmta gmta merged commit 893e9e3 into LadybirdBrowser:master Feb 21, 2025
7 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.

2 participants