Commit Graph
63 Commits
Author SHA1 Message Date
Joshua M. Boniface f1be25acc3 Split Docker builds for parallelization
The previous pattern built the amd64 and arm64 Docker images
sequentially and then build and pushed manifests as one single long task
under build.py. Split this up so the two architectures can be built in
parallel, and then handle manifests as a separate step in the GitHub
Actions workflow. Also split out the pushes from build.py, and remove
--local since no manual runs of this script should ever need this.
2026-04-01 00:03:39 -04:00
Shadowghost b725dd43eb Fix Docker build 2025-09-27 13:06:11 +02:00
Joshua M. Boniface 671d66c35c Fix Trixie cross-building
Debian 13 removed the `cross-gcc-dev` package as it was unmaintained
(Debian bug #1107126). This broke the existing cross build setup.

Instead, switch to using binary cross-gcc packages, which work the same
without having to manually generate the libraries. This is still fully
symmetrical.
2025-08-14 11:39:15 -04:00
Joshua M. Boniface 47b0b2271a Fix typo 2025-06-07 17:01:14 -04:00
Joshua M. Boniface 0d1b457b1e Correct manifests for Docker preview builds 2025-06-07 16:40:04 -04:00
Joshua M. Boniface 499fddfa78 Remove deprecated armhf builds for 10.11.x 2025-06-07 16:21:22 -04:00
Joshua M. Boniface 8e34413f4d Fix CONFIG env for Docker build 2025-04-15 13:07:21 -04:00
Joshua M. Boniface 34ba5153c4 Add support for Debug releases
Allows specifying --debug to build.py to build Debug builds of the
server, facilitating easier debugging. This is then called by default
for weekly builds.
2025-04-11 16:52:35 -04:00
Joshua M. Boniface f1efc37632 Fix spacing 2024-11-21 14:53:49 -05:00
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 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
nyanmisaka aef8d0f6d1 Explicitly set the target platform of Docker builds
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-11-13 13:18:36 +08: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 06cdec877c Fail if docker builds fail
Huge oversight that allows failures to propagate.
2024-05-12 20:23:25 -04:00
Steve Kowalik d576b9ec7d Refactor arch checking into a function
Remove some duplicated code by refactoring the architecture checking
into a function. The error paths would have also likely resulted in
NameErrors being thrown due to function arguments having underscores, so
that has been corrected as well.
2024-04-07 17:46:50 +10: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 75f8b49616 Fix nuget arch requirement 2024-03-27 11:23:33 -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 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 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 84951d3003 Remove references to CentOS/Fedora
Moving these to RPMFusion now.
2024-03-07 10:52:31 -05:00
Joshua M. Boniface ef5a6b0d98 Fix typo in Version command 2024-03-06 21:03:12 -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
Cody Robibero c39620ebb5 Add workflow to publish nuget packages 2024-03-06 18:39:49 -07:00
Joshua M. Boniface 4e81d71c54 Add ability to disable Docker pushes 2024-03-03 23:42:51 -05:00
Joshua M. Boniface 2d1c1e20ce Try removing explicit docker.io 2024-03-03 23:03:04 -05:00
Joshua M. Boniface 5fcad3f3c5 Fix bad import and formatting 2024-03-03 22:22:24 -05:00
Joshua M. Boniface 8ac15107ea Rework manifest builds and push configuration 2024-03-03 22:13:42 -05:00
Joshua M. Boniface 35f2185eeb Disable building and pushing 2024-03-03 21:30:42 -05:00
Joshua M. Boniface 351a6a7c73 Move pushes earlier 2024-03-03 21:11:34 -05:00
Joshua M. Boniface bddb4cd79f Add login step 2024-03-03 19:25:10 -05:00
Joshua M. Boniface 652b6046b3 Avoid using amend for manifests 2024-03-03 19:21:27 -05:00
Joshua M. Boniface d7aeb7cab3 Fix typoes 2024-03-03 18:28:42 -05:00
Joshua M. Boniface 285e1b397a Try fixing the Docker push issue again 2024-03-03 18:11:47 -05:00
Joshua M. Boniface 481b495ff5 Fix bad log statements 2024-03-03 17:17:49 -05:00
Joshua M. Boniface a9a9d6b017 Fix syntax error 2024-03-03 17:08:22 -05:00
Joshua M. Boniface fb3889209a Push the "unstable" tag to Docker as well 2024-03-03 17:05:25 -05:00
Joshua M. Boniface d82270d270 Add flushing log function 2024-03-03 02:35:15 -05:00
Joshua M. Boniface 64fa0d7c3f Redirect stderr to stdout for docker cmds 2024-03-03 02:09:06 -05:00
Joshua M. Boniface 9e857da959 Add logging for image and manifest pushes 2024-03-03 01:29:37 -05:00
Joshua M. Boniface 6abc19f3d9 Reformat (Black) and lint (flake8) Python scripts 2024-02-16 03:00:16 -05:00
Joshua M. Boniface e777812ef1 Move configuration into YAML document
Simplifies changes in the future especially for new releases of e.g.
Debian/Ubuntu, and makes the definitions easier to read.
2024-02-16 02:43:32 -05:00
Joshua M. Boniface 1c936530c4 Add JELLYFIN_VERSION to all build-time envs 2024-02-16 01:14:03 -05:00