-
Notifications
You must be signed in to change notification settings - Fork 16
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
automate builds with gh actions #78
base: main
Are you sure you want to change the base?
Conversation
Oh nice! I added my WIP/experimental ports build to repo. You can check it out here. I forgot to upload it last week :( I can add this (and something for the UI part) if I am unable to get a ports version working |
Thank you! I will have a look and then try to make it work, but ofc feel free to push commits yourself. :) |
I managed to get the environment more or less set up, at least how I understand it should be set up. Here are the first few lines for convenience.
It goes on and on with the final lines being
Thank you for your help! |
So NuGet has this long standing history of looking for or restoring NuGets that are not needed during a specific code path. This can (rarely) happen if there is mismatch between the the requested SDK and the resolved SDK. This can make the determining the FULL list of depends rather challenging. Some of the ones listed were also stored and restored from local cache when I built jellyfin outside of ports this which is why they got missed here. I will work on getting that updated with the actual list On the plus side: the recently released FreeBSD 14.1 includes ZFS based VM images which will make troubleshooting inside a proper build environment easier the UI looks like it built without issue |
Thank you for the help. From what you wrote I understand that you'll work on an updated list of NuGets that should fix this build. In the meantime, how would I go about building jellyfin outside of ports? Might be the simpler way in the end. Excellent news, I love myself some zfs goodness :) I am currently running a FreeBSD VM through quickemu on an Ubuntu 24.04 host. |
The method that I currently use to build Jellyfin is to use Azure Pipelines Agent (I publish a build here) and use a locally hosted instance.
|
I have updated the NuGet list. That should be all of them. This is also more than what is actually consumed by the build but instead everything that is explicitly referenced, transitively referenced, and things that NuGet wants restored anyways. |
fixed an extra file in |
The first run ran just short of 2h and then the runner crashed...so I first assumed we ran out of ram or disk space, but reading the gh runner docs they mention 16GB of ram and 14GB of disk, so I do not believe we could be crashing due to RAM running out. Did you run the |
I think most runners are capped at 2h. If
The command issued was against ports tree with the jellyfin port files replaced with ones from this repo. This is why log: jellyfin-10.9.2.log |
Great, thank you for the explanation.
It seems the runner runs out of space during the build, see this run for example. I switched over to ubicloud I also implemented renovate so that it automatically compares the current release of jellyfin to the version string in the I noticed the version string is also present in
I guess we need to fix those as well. |
I used 10.9.2 as a framework and to wait for @mvanbaak feedback on it. I was able to get it to build in The upside of it being a source built from ports is people won't complain about it being "binary only" :)
This is working as designed. Any time Jellyfin gets a bump the NuGet files (tedious), Node files (trivial), and |
Oki, great! Then what do you recommend? That I switch to |
A single AFAIK |
Great, I have been switching to |
This draft pull request aims to automate the builds using gh actions vmactions/freebsd-vm@v1 and renovate bot to trigger the builds when https://github.com/jellyfin/jellyfin publish a new release.
I need help with the building part using dotnet.
pkg install dotnet
to get dotnet in the FreeBSD VM,I don't have any experiences building with dotnet, so if you could give me some pointers, I am happy to spend time to get this automated build process going.