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

i#1973 musl: Add CI workflow #7197

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

ziyao233
Copy link
Member

The workflow constructs an Alpine Linux chroot environment in place and build DynamoRIO in it, serving as compatibility verification against musl. Tests are disabled in CI since only half of them pass.

Issue: #1973

The workflow constructs an Alpine Linux chroot environment in place and
build DynamoRIO in it, serving as compatibility verification against
musl. Tests are disabled in CI since only half of them pass.

Issue: DynamoRIO#1973
@derekbruening derekbruening requested review from abhinav92003 and removed request for derekbruening January 21, 2025 17:21
if (UNIX AND NOT APPLE AND "$ENV{DYNAMORIO_CLANG}" MATCHES "yes")
set(run_tests OFF)
message("Detected a CI clang suite: disabling running of tests")
# XXX i#1973: our musl port passes only half of the tests. Enable tests in CI
Copy link
Contributor

Choose a reason for hiding this comment

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

Perhaps this should be a TODO not an XXX.

# fortify-headers, which isn't compatible with DynamoRIO source.
# TODO i#1973: simplify after fixing compatibility problem.
sudo sbin/apk.static -p alpine-root -U --initdb --allow-untrusted add \
alpine-base binutils bash cmake doxygen file g++ git libunwind-dev \
Copy link
Contributor

Choose a reason for hiding this comment

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

Which of these need --allow-untrusted? Add that to comment?

Copy link
Member Author

Choose a reason for hiding this comment

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

It's necessary because we're creating a rootfs from scratch, thus there isn't any public key available to verify package signatures. I consider it acceptable since we're downloading packages through https (see the repository configuration)

Will add a comment on this.

echo "https://dl-cdn.alpinelinux.org/v3.21/main/" | \
sudo tee alpine-root/etc/apk/repositories
# Meta-package build-base simplifies dependencies, but it pulls in
# fortify-headers, which isn't compatible with DynamoRIO source.
Copy link
Contributor

Choose a reason for hiding this comment

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

Could you augment this comment with some more details:

  • What do you mean "not compatible with DynamoRIO source"?
  • What is the simplification suggested?

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