11
31
Fork
You've already forked silverfish
19

WIP: Enable building with musl for non glibc distros (e.g alpine) #161

Closed
doctor_yiff wants to merge 3 commits from 150_musl_build into main
pull from: 150_musl_build
merge into: conjured:main
conjured:main
conjured:zkat/products
conjured:zkat/scaffolder

This PR hopefully adds steps to the release flow enabling silverfish to be built for distros such as alpine. It installs the musl-dev package and targets the appropriate uh, targets. I elected not to touch the Justfile partly out of not being familiar with just. This could stand to be DRY'd up and I might refactor things a bit before merging (or later).

This PR hopefully adds steps to the release flow enabling silverfish to be built for distros such as alpine. It installs the `musl-dev` package and targets the appropriate uh, targets. I elected not to touch the Justfile partly out of not being familiar with just. This could stand to be DRY'd up and I might refactor things a bit before merging (or later).
Add draft release steps for musl builds
All checks were successful
CI Silverfish Stall / silverfish-stall-amd64 (pull_request) Successful in 3m26s
91499c8eff
Author
Owner
Copy link

Related to issue #150

Related to issue https://codeberg.org/conjured/silverfish/issues/150

currently testing this on my own fork. Do you have a test instance of this?

currently testing this on my own fork. Do you have a test instance of this?

image
Needs some extra build support

![image](/attachments/bf69ed8c-7546-488c-8777-9244b1fd9756) Needs some extra build support

testing this with adding targets: x86_64-unknown-linux-gnu, aarch64-unknown-linux-gnu, x86_64-unknown-linux-musl, aarch64-unknown-linux-musl to the Set Up Rust

This will also need a new workflow under .forgego/workflows/ci-musl*.yml

testing this with adding `targets: x86_64-unknown-linux-gnu, aarch64-unknown-linux-gnu, x86_64-unknown-linux-musl, aarch64-unknown-linux-musl ` to the `Set Up Rust` This will also need a new workflow under `.forgego/workflows/ci-musl*.yml`

looks like that change still failed for aarch64-unknown-linux-musl. Investigating...

looks like that change still failed for `aarch64-unknown-linux-musl`. Investigating...

by the way, if you want to test this yourself, you should configure your own fork of the project and either merge the proposed changes into main or change the default branch to this one. Then push tags to to the fork

by the way, if you want to test this yourself, you should configure your own fork of the project and either merge the proposed changes into `main` or change the default branch to this one. Then push tags to to the fork

but that does have some overhead if you have not configured a forgejo runner before

but that does have some overhead if you have not configured a forgejo runner before

even with those changes, the aarch64 musl build fails at ring.

https://github.com/briansmith/ring/issues/1414

This is a known issue, unfortunately. Investigating...

even with those changes, the aarch64 musl build fails at `ring`. https://github.com/briansmith/ring/issues/1414 This is a known issue, unfortunately. Investigating...

this may require building in a separate docker container

this may require building in a separate docker container
Author
Owner
Copy link

@SpencerFabricant wrote in #161 (comment):

even with those changes, the aarch64 musl build fails at ring.

https://github.com/briansmith/ring/issues/1414

This is a known issue, unfortunately. Investigating...

Yep, I was having this problem trying to compile locally. I was hoping (naively it turns out) that installing musl-dev would fix it. I'll try spinning up a local alpine container at some point soon and seeing how it goes.

@SpencerFabricant wrote in https://codeberg.org/conjured/silverfish/pulls/161#issuecomment-8453622: > even with those changes, the aarch64 musl build fails at `ring`. > > https://github.com/briansmith/ring/issues/1414 > > This is a known issue, unfortunately. Investigating... Yep, I was having this problem trying to compile locally. I was hoping (naively it turns out) that installing `musl-dev` would fix it. I'll try spinning up a local alpine container at some point soon and seeing how it goes.

I wouldn't mind just adding musl for x86_64, for now, and leaving aarch64 musl alone until we have an ask for it.

I wouldn't mind just adding musl for x86_64, for now, and leaving aarch64 musl alone until we have an ask for it.

could you add the x86_64 musl build in the build-and-test part of CI as well, as a new CI job? we'll need to be running tests for it if we want to include it in releases.

could you add the x86_64 musl build in the build-and-test part of CI as well, as a new CI job? we'll need to be running tests for it if we want to include it in releases.

I have what is hopefully a working version forked from this branch

I have what is hopefully a working version forked from this branch
Author
Owner
Copy link

It might be a little bit until I have the time to get back to this, please feel free to run with whatever you need to do.

It might be a little bit until I have the time to get back to this, please feel free to run with whatever you need to do.

This PR can be closed #183

This PR can be closed https://codeberg.org/conjured/silverfish/pulls/183
All checks were successful
CI Silverfish Stall / silverfish-stall-amd64 (pull_request) Successful in 3m26s

Pull request closed

Please reopen this pull request to perform a merge.
Sign in to join this conversation.
No reviewers
Labels
Clear labels
Compat
Breaking
Breaking change that won't be backward compatible
Flag/Good First Issue
Good issue for first-time contributors
Kind/Accessibility
Accessibility issue, bug or otherwise
Kind/Appearance
Design, styling, and other aesthetic and visual items
Kind/Bug
Something is not working
Kind/Compliance
Legal, policy, or some other kind of compliance
Kind/DevOps
CI/CD, releases, etc
Kind/Documentation
Documentation changes
Kind/Enhancement
Improve existing functionality
Kind/Feature
New functionality
Kind/Performance
Gotta go fast
Kind/Security
This is security issue
Kind/Technical Improvement
Underlying technical improvement that is not necessarily user-impacting or visible.
Kind/Testing
Issue or pull request related to testing
Kind/UX
Related to user experience/product
Priority
Critical
The priority is critical
Priority
High
The priority is high
Priority
Low
The priority is low
Priority
Medium
The priority is medium
Reviewed
Confirmed
Issue has been confirmed
Reviewed
Duplicate
This issue or pull request already exists
Reviewed
Invalid
Invalid issue
Reviewed
Won't Fix
This issue won't be fixed
Size
L
Significant change
Size
M
Medium-size change
Size
S
Small change
Size
XL
Very large change that might take months to complete and impact many components
Size
XS
Trivially small change
Status
Abandoned
Somebody has started to work on this but abandoned work
Status
Blocked
Something is blocking this issue or pull request
Status
Need More Info
Feedback is required to reproduce issue or to continue work
Status
Needs Design
Requires design/review from Alchemists (product/UX)
Status
Needs Discussion
A discussion needs to happen before implementation
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
conjured/silverfish!161
Reference in a new issue
conjured/silverfish
No description provided.
Delete branch "150_musl_build"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?