feat: static builds using nix, including cross #1853
Labels
No labels
Abandoned
Blocked
Bug
Changelog
Added
Changelog
Missing
Changelog
None
Cherry-picking
Database
Dependencies
Dependencies/Renovate
Difficulty
Easy
Difficulty
Hard
Difficulty
Medium
Documentation
Enhancement
Good first issue
Help wanted
Inherited
Matrix/Administration
Matrix/Appservices
Matrix/Auth
Matrix/Client
Matrix/Core
Matrix/E2EE
Matrix/Federation
Matrix/Hydra
Matrix/MSC
Matrix/Media
Matrix/T&S
Merge
Merge/Manual
Merge/Squash
Meta
Meta/CI
Meta/Packaging
Priority
Blocking
Priority
High
Priority
Low
Security
Status
Confirmed
Status
Duplicate
Status
Invalid
Status
Needs Investigation
Support
No milestone
No project
No assignees
4 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
continuwuation/continuwuity!1853
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "Henry-Hiles/continuwuity:quad/feat/musl-static-builds"
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?
This pull request allows for static builds with nix, by building
.#default-static-aarch64or.#default-static-x86_64.To-do:
rust-rocksdb-zaidoon1builds automatically. We dropped the rocksdb package in this PR due to breaking static builds, but we can keep it for dynamically linked builds. It might help with caching. However, I would not add it back unless someone asks for it.I have tested dynamically linked, and statically linked on both x86_64 (NixOS) and aarch64 (postmarketOS).
Arguably fixes #912.
Pull request checklist:
mainbranch, and the branch is named something other thanmain.myself, if applicable. This includes ensuring code compiles.
Dynamic builds look a tad broken, will investigate in morning.
It's working now.
49486523c195324ef0af95324ef0afd650932195AArch64 working well:

WIP: feat: static builds using nix, including crossto feat: static builds using nix, including cross@oddlid tested on MacOS, appears to work well.
2247d74f8548137d45c0We should test on https://forgejo.ellis.link/continuwuation/continuwuity-ci-test before merge, to make sure the build-nix workflow works correctly.
Maxperf builds appear to not be fully static, currently.
feat: static builds using nix, including crossto WIP: feat: static builds using nix, including cross6d69989ac58116c7eb1b8116c7eb1bc99c1d1389WIP: feat: static builds using nix, including crossto feat: static builds using nix, including cross@Henry-Hiles wrote in #1853 (comment):
I believe I have fixed this, could do with a bit more testing though.
I have tested all the x86_64 builds, they are working properly. Re-testing aarch64.
AArch64 confirmed working.
ac8d224f10b409a101a3Testing in https://forgejo.ellis.link/continuwuation/continuwuity-ci-test/actions/runs/1276/jobs/0/attempt/1
@Henry-Hiles wrote in #1853 (comment):
Success. Will now try a tag.
@Henry-Hiles wrote in #1853 (comment):
Tag CI running: https://forgejo.ellis.link/continuwuation/continuwuity-ci-test/actions/runs/1277/jobs/0/attempt/2
@Henry-Hiles wrote in #1853 (comment):
It worked :)
This is ready for review.
@ -53,0 +55,4 @@Where `packageName` is one of:- `default`- `max-perf`: Takes longer to build, but has more runtime optimizations- `max-perf-haswell`: Optimized for modern CPUs, don't use if your CPU is not Haswell.LGTM :)
@ -29,14 +28,14 @@ letattrs = {inherit src;strictDeps = true;As discussed on Matrix, you may want to add
__structuredAttrs = true;here as well.Done.
Re-testing builds after adding
__structuredAttrs: https://forgejo.ellis.link/continuwuation/continuwuity-ci-test/actions/runs/1280/jobs/0/attempt/1@Henry-Hiles wrote in #1853 (comment):
Success. This PR should be ready for merge.
@ -0,0 +10,4 @@- "v*.*.*"workflow_dispatch:schedule:- cron: '30 0 * * *'Any particular reason for nightly builds at 00:30? I don't think
maingets pushed to that often, it's more of a burst than a constant stream of updatesJade said to copy it from the distro packages, and this is what they had (e.g. this) Jade also said "once a week" though, so now I'm confused.
I thought the distro packages ran less often
What would you prefer I set this to?
looks like fedora and debian both run on the same schedule, that's probably really wasteful
Probably set each of the distro builds to run once a week, on a different day each
In this PR, or a follow-up? I can make one right after, if you don't want scope creep in this.
Follow up, I guess
Looks good to me