Commit Graph
100 Commits
Author SHA1 Message Date
Joshua M. Boniface a1b09d2d36 Ensure keys are sorted by versions
So far it seems consistent, but if more are added, this might not be
guaranteed.
2024-11-21 14:47:25 -05:00
Joshua M. Boniface efa1e92c22 Set telemetry output in portable build.sh
Seems this was missed who knows how long ago, so add it just in case.

FYI This only affects our builds, not our users' privacy.
2024-11-21 14:34:26 -05:00
Joshua M. Boniface 22f1a26ee7 Add safe.directory for jellyfin-web
Ensures that the `git` command to obtain the commit hash works properly.
2024-11-21 14:34:26 -05:00
Joshua M. Boniface deaf5b96c5 Remove wget removal from Dockerfiles
This seems to throw errors randomly when building locally. As these are
purely build containers, the extra few kB due to wget doesn't matter.
2024-11-21 14:34:26 -05:00
Joshua M. Boniface 0717e31d66 Add support for arbitrary framework version detect
Adds a system to build.py which can automatically determine which
version of each upstream framework (.NET, NodeJS, others in the future)
a given HEAD is at in the submodules, and provide that build argument
into the Docker builds.

This will ensure we can reliably build versions on either side of a
framework version transition (i.e. both stable and master) without any
manual work.

For an explanation of how it works, see the comments in `build.yaml`.

Future code framework updates will need the `build.yaml` updated to
include the relevant (merge) commit hash and version.

Also adds better logging, including this new framework version as well
as a record of the Docker build commands for each build.
2024-11-21 14:34:07 -05:00
Joshua M. Boniface 67d680a3aa Remove masking and unmasking during postrm
I'm not sure why we ever added this, but like unmasking, this is outside
of our purview to manage.
2024-11-21 14:31:39 -05:00
Joshua M. Boniface 07c797fc78 Simplify service handling during postinst
1. Don't try to unmask the service; that's not in our purview.

1. Don't start the Jellyfin service if the
`DISABLE_JELLYFIN_AUTOSTART` environment variable is set. Allows
explicit disabling of Jellyfin starting during package updates.
2024-11-21 14:31:39 -05:00
Joshua M. Boniface 72bcd5a2f6 Remove old crufty commands
1. We should no longer care about Emby sudoers, that is long-since
obsoleted.

2. We shouldn't need to touch existing config dirs. While I've never had
this break things, I don't think we need to worry about this ancient
migration any longer.
2024-11-21 14:31:39 -05:00
Joshua M. Boniface 78589faa6d Fix up failed-to-stop message 2024-11-21 14:31:39 -05:00
Joshua M. Boniface eca529f271 Merge pull request #49 from jellyfin/renovate/ci-deps
Update appleboy/ssh-action action to v1.2.0
2024-11-21 02:00:20 -05:00
Joshua M. Boniface 878d8e1d7f Merge pull request #48 from nyanmisaka/fix-docker-target-platform
Explicitly set the target platform of Docker builds
2024-11-13 22:25:55 -05:00
Joshua M. Boniface 543b32369c Merge pull request #44 from jellyfin/renovate/ubuntu-24.x
Update dependency ubuntu to v24
2024-11-09 10:10:58 -05:00
Joshua M. Boniface c35f012e85 Merge pull request #47 from agentsas/master
Ignore proxy settings during healthcheck
2024-11-09 10:08:14 -05:00
Joshua M. Boniface 9ac08b6414 Merge pull request #46 from jellyfin/renovate/ci-deps
Update CI dependencies
2024-11-09 10:07:26 -05:00
Joshua M. Boniface 73642f3cda Ensure git is installed in builders
Needed for Webpack to get the commit SHA1 hash.
2024-11-03 11:05:05 -05:00
Joshua M. Boniface 6b2d24b40c Fix incorrect envvar for temporary path 2024-10-28 02:55:22 -04:00
Joshua M. Boniface b206dad89d Update submodules to current master branches
Fresh start for 10.10.0
2024-10-28 02:47:12 -04:00
Joshua M. Boniface 3913a5a5b4 Add TEMPDIR option to environments
Allows reconfiguration of jellyfin/jellyfin#12226 by the administrator
if required for Debuntu. Commented by default to preserve default
operation as this is a DotNET variable.
2024-10-28 02:45:56 -04:00
Joshua M. Boniface d568956d6c Update source label to packaging repo 2024-10-19 16:30:45 -04:00
Joshua M. Boniface 6beda5c94f Swap preference for Recommends
This order should prefer ours over the distro package.
2024-09-28 17:39:31 -04:00
Joshua M. Boniface c14ac40bf0 Add Git for web builds 2024-09-18 16:53:29 -04:00
Joshua M. Boniface a45bbf4738 Merge pull request #39 from nyanmisaka/ffmpeg7
Switch to jellyfin-ffmpeg7 in Jellyfin 10.10
2024-09-11 09:31:20 -04:00
Joshua M. Boniface a85c22d5ad Fix bad spacing 2024-09-03 15:05:23 -04:00
Joshua M. Boniface 674709b0ee Improve ownership further
1. Loop instead of individual entries
2. Create the dirs if they don't exist
3. Use stat to check current user; if it's root, chown
2024-09-03 15:02:28 -04:00
Joshua M. Boniface f1e361d211 Ensure CONFIGDATA is properly set up
Fixes #37
2024-08-25 23:21:13 -04:00
Joshua M. Boniface 5a4ba50dc8 Only change ownership during directory creation
If a user changes directory permissions or ownership, don't overwrite
this on upgrade; just set it once during creation.

Closes #32
2024-08-04 22:15:50 -04:00
Joshua M. Boniface ab92096493 Add dependencies for libfontconfig and adduser
Both are required for a functional system, so add them as hard
dependencies. Also add ffmpeg as a recommends, in case the Metapackage
is not installed.

Closes #34
Closes #33
2024-08-04 22:12:40 -04:00
Joshua M. Boniface 59794c9fac Merge pull request #31 from eppesuig/master
Ensure that "rm -rf" never fails in debian/jellyfin-server.postrm
2024-08-04 22:02:33 -04:00
Joshua M. Boniface c46373945b Add additional override options to service.d conf
1. Add examples of overriding the Group and WorkingDirectory; the former
being important if one decides to use an alternate data/working
directory.

2. Simplify the comments around the service hardening options,
especially given that we've now removed the hacky restart.sh restarting
method.
2024-07-06 13:47:44 -04:00
Joshua M. Boniface 7e8f016d63 Remove explicit --ffmpeg from Docker Entrypoint
The default is handled by the JELLYFIN_FFMPEG envvar anyways, and by
removing this, that envvar can then by used by containers to set the
path as required.
2024-06-20 15:56:05 -04:00
Joshua M. Boniface a167b10ca6 Merge pull request #30 from jellyfin/renovate/ci-deps
Update actions/checkout action to v4.1.7
2024-06-19 10:07:48 -04:00
Joshua M. Boniface 35a5f70653 Improve output messages for Docker builds 2024-06-06 14:39:11 -04:00
Joshua M. Boniface a7c2e52b9f Flip is_unstable conditionals
Using is_stable avoids "not is_unstable" which is confusing. Make
stability the default.

Also clean up the now completely unnecessary version_suffix in Docker
builds, as the only decider is stability.
2024-06-06 14:35:15 -04:00
Joshua M. Boniface 38311227a7 Add subpoint version manifests and cleanup
Remove the extra var is_latest as unneeded, use a better conditional for
stable releases, and ensure everything is consistent.

Closes #29
2024-06-06 14:32:01 -04:00
Joshua M. Boniface f368a7c998 Fix dependency update for other builds 2024-05-26 20:09:23 -04:00
Joshua M. Boniface 721c2e4b51 Ensure apt is updated first 2024-05-26 20:03:22 -04:00
Joshua M. Boniface 0380ed8c83 Update submodules to current master 2024-05-25 12:12:25 -04:00
Joshua M. Boniface 372f59604f Add mention of requiring docker-buildx-plugin
Closes #27
2024-05-25 12:10:38 -04:00
Joshua M. Boniface 6617b1e192 Correct GitPython requirement 2024-05-25 12:10:26 -04:00
Joshua M. Boniface 6eccb2596c Add CODEOWNERS 2024-05-21 09:52:40 -04:00
Joshua M. Boniface 0019b198b9 Remove temporary Ubuntu Noble-only workflow
This was just a helper and can be brought back as needed.
2024-05-21 09:45:08 -04:00
Joshua M. Boniface 5049512421 Merge pull request #23 from jellyfin/renovate/ci-deps
Update actions/checkout action to v4.1.6
2024-05-21 09:44:12 -04:00
Joshua M. Boniface 519743eb86 Merge pull request #26 from Shadowghost/bump-intel-compute-runtime
Bump Intel Compute Runtime to 24.17.29377.6
2024-05-21 09:43:12 -04:00
Joshua M. Boniface dea4f8dc0f Add temporary workflow only for Noble 2024-05-17 18:32:41 -04:00
Joshua M. Boniface d38fbe0d19 Switch (back) to using .NET install script
The .deb/repository fails on Ubuntu 24.04 "Noble". Since this must be
consistent across all builds, switch to the script instead.
2024-05-17 18:29:06 -04:00
Joshua M. Boniface 25a0eb4c45 Use master repo fallback instead of mirrors
Sometimes these fail as syncs are going on during builds, so just have
this builder use the master repo1 server.
2024-05-12 20:29:32 -04:00
Joshua M. Boniface 06cdec877c Fail if docker builds fail
Huge oversight that allows failures to propagate.
2024-05-12 20:23:25 -04:00
Joshua M. Boniface a974263fbf Disable non-Windows portable FFmpeg integration 2024-05-09 02:01:29 -04:00
Joshua M. Boniface 28d40dd778 Merge pull request #17 from jellyfin/renovate/ci-deps
Update actions/checkout action to v4.1.5
2024-05-08 22:05:07 -04:00
Joshua M. Boniface d125f7fdb1 Add portable build FFmpeg downloads 2024-05-08 17:23:31 -04:00
Joshua M. Boniface 76ad06ec95 Clarify debsig-verify status 2024-05-01 17:06:01 -04:00
Joshua M. Boniface 3ddb375a90 Add Debian package and dsc signing with repo key
Allows for the verification of the integrity and ownership of the
resulting .deb, .dsc, .changes, and .buildinfo files for both Debian and
Ubuntu using `debsig-verify` and the standard Apt toolkits.

Closes #14
2024-05-01 15:52:28 -04:00
Joshua M. Boniface 759c75a107 Correct to the actual value
My brain just reversed the order on me.
2024-05-01 13:01:51 -04:00
Joshua M. Boniface fad8561616 Disable fast-fail strategy
This will prevent a failed build from cancelling other failed builds,
important since all are independent of each other.
2024-05-01 12:59:22 -04:00
Joshua M. Boniface 47d631b115 Avoid failing if sources.list.d is empty 2024-04-30 01:39:23 -04:00
Joshua M. Boniface 0f59b4638b Remove extraneous sources.list.d entries on Ubuntu
Fixes a build failure on Noble due to duplications in here, but should
still work on older version as well since we write new versions and
those just used sources.list (not the .d directory)
2024-04-30 01:36:44 -04:00
Joshua M. Boniface b7777041f2 Merge pull request #18 from Gauvino/patch
Update gcc on noble and mali
2024-04-29 14:15:39 -04:00
Joshua M. Boniface e715c583d8 Enable build for Ubuntu 24.04 2024-04-25 19:59:32 -04:00
Joshua M. Boniface 972c9a2437 Merge pull request #16 from nvllsvm/docker_fontconfig_cache
Docker: Fix fontconfig cache
2024-04-24 14:31:51 -04:00
Joshua M. Boniface b89a12d7d7 Merge pull request #13 from s-t-e-v-e-n-k/dedupe-architecture
Refactor arch checking into a function
2024-04-07 16:41:26 -04:00
Joshua M. Boniface 044737dfd1 Use buildx build explicitly instead of alias
Fixes #12
2024-04-01 01:53:12 -04:00
Joshua M. Boniface 48897fad0c Fix link too 2024-03-28 14:13:45 -04:00
Joshua M. Boniface 6357d1df55 Update license badge 2024-03-28 14:13:18 -04:00
Joshua M. Boniface e13ce40e47 Merge pull request #11 from Shadowghost/bump-intel-compute-runtime
Bump Intel Compute Runtime to 24.09.28717.12
2024-03-28 14:12:00 -04:00
Joshua M. Boniface 7eb54a7141 Merge pull request #10 from felix920506/master
Remove targz from macos build config
2024-03-27 22:28:36 -04:00
Joshua M. Boniface 75f8b49616 Fix nuget arch requirement 2024-03-27 11:23:33 -04:00
Joshua M. Boniface 86964a61d0 Add missing LICENSE file
All this code is written by me or with other contributors under the GPL
when it was in jellyfin(-web), so just use GPLv3 here.
2024-03-19 13:19:16 -04:00
Joshua M. Boniface 8201c4c04f Properly codeblock arches 2024-03-18 13:02:41 -04:00
Joshua M. Boniface fb3cf9e4c9 Reorder entries in YAML config
Makes finding these slightly easier.
2024-03-18 13:01:32 -04:00
Joshua M. Boniface 1e9b7eb151 Fix incorrect ref 2024-03-18 13:00:45 -04:00
Joshua M. Boniface 18d74d5fa3 Add examples to quickstart 2024-03-18 12:39:32 -04:00
Joshua M. Boniface 3c9216ae12 Remove incorrect docker ref 2024-03-18 12:36:32 -04:00
Joshua M. Boniface 675b2a5af5 Switch no-push to local
Makes it a bit clearer what this option actually does.
2024-03-18 12:29:23 -04:00
Joshua M. Boniface 1f768876d4 Update more wording in README 2024-03-18 12:28:08 -04:00
Joshua M. Boniface b71934f3e4 Add Package names for Debian 2024-03-18 12:24:04 -04:00
Joshua M. Boniface f06ed16bfa Improve wording of Quickstart intro 2024-03-18 12:23:24 -04:00
Joshua M. Boniface 4304f9040b Improve header of repo 2024-03-18 12:21:48 -04:00
Joshua M. Boniface 3a2bc89c47 Add quickstart section to README
Provides instructions for non-automated builds using this tooling, and
simplifies the intro paragraph to reduce cruft.
2024-03-18 12:15:58 -04:00
Joshua M. Boniface 5295c46936 Avoid ghcr.io tag if no_push 2024-03-18 12:15:07 -04:00
Joshua M. Boniface 027db4a953 Switch build.py to argparse
Provides much more reliable and consistent argumentation and help
documentation for the script.

Also supports "auto" as a version identical to "master" for better
clarity of what it does.
2024-03-18 12:10:56 -04:00
Joshua M. Boniface a8f366ef65 Abort pushes if envvars aren't set 2024-03-18 11:50:51 -04:00
Joshua M. Boniface b8f27e85ff Support building docker images for only one arch 2024-03-18 11:48:04 -04:00
Joshua M. Boniface f043730c30 Add Windows installer submodule 2024-03-12 23:30:38 -04:00
Joshua M. Boniface deb844f1cb Remove -V from reprepro commands 2024-03-09 14:43:58 -05:00
Joshua M. Boniface ab62361625 Flip release and arch in incoming directory
Not actually important, but makes things a bit more consistent with how
FFmpeg uploads artifacts too and thus simplifies cleanup.
2024-03-09 14:43:19 -05:00
Joshua M. Boniface 0605d4a4ac Use "server" subdir for incoming files
Makes this consistent with the clients to avoid confusion and make
cleanup runs easier.
2024-03-09 13:57:27 -05:00
Joshua M. Boniface 8338e73b81 Ensure preserve-env is set everywhere 2024-03-08 13:44:53 -05:00
Joshua M. Boniface 2b5c386b50 Set preserve-env on NuGet sudo command 2024-03-07 12:49:42 -05:00
Joshua M. Boniface 1ac8187e51 Fail if nuget_key is not found 2024-03-07 11:54:40 -05:00
Joshua M. Boniface 8983e61902 Fix bad manifest tagging
Was missing {server} in the lists, so GHCR wasn't pushed.
2024-03-07 11:42:08 -05:00
Joshua M. Boniface f009facc26 Reorder NuGet in README 2024-03-07 10:54:00 -05:00
Joshua M. Boniface 84951d3003 Remove references to CentOS/Fedora
Moving these to RPMFusion now.
2024-03-07 10:52:31 -05:00
Joshua M. Boniface ea14e4b2d8 Update submodules to latest master 2024-03-06 21:06:26 -05:00
Joshua M. Boniface ef5a6b0d98 Fix typo in Version command 2024-03-06 21:03:12 -05:00
Joshua M. Boniface 6a6425273a Adjust unstable push target for production 2024-03-06 21:00:34 -05:00
Joshua M. Boniface 5ff299ae2a Reformat with black 2024-03-06 20:58:49 -05:00
Joshua M. Boniface 9040836f51 Reformat Nuget build component (style, fstrings) 2024-03-06 20:58:33 -05:00
Joshua M. Boniface 06908a14c5 Merge pull request #5 from jellyfin-sandbox/publish-nuget
Add workflow to publish nuget packages
2024-03-06 20:54:47 -05:00
Joshua M. Boniface 326840cd8e Merge pull request #4 from Gauvino/master
Update action version
2024-03-04 09:39:09 -05:00
Joshua M. Boniface b5974eed58 Add weekly unstable build timer 2024-03-04 00:36:39 -05:00