-
-
Notifications
You must be signed in to change notification settings - Fork 26
/
Copy pathbuild.yaml
151 lines (146 loc) · 3.85 KB
/
build.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
---
# Build definitions for `build.py`
# Upstream Framework versions
# This section defines target commits after which a particular framework is required.
# This is used by build.py to automatically determine which framework version to use
# within the build containers based on whatever HEAD the project is at (from checkout.py).
# Target commits should be a merge commit!
# Target commits should be in order from oldest to newest!
# HOW THIS WORKS:
# For each submodule, and then for each upsteam framework version ARG to Docker...
# Provide a commit hash as a key, and a version as a value...
# If the given commit is in the commit tree of the current HEAD of the repo...
# Use the given version. Otherwise use the default.
frameworks:
jellyfin-web:
NODEJS_VERSION:
6c0a64ef12b9eb40a7c4ee4b9d43d0a5f32f2287: 20 # Default
jellyfin-server:
DOTNET_VERSION:
6d1abf67c36379f0b061095619147a3691841e21: 8.0 # Default
ceb850c77052c465af8422dcf152f1d1d1530457: 9.0
# DEB packages
debian:
releases:
bullseye: '11'
bookworm: '12'
archmaps:
amd64:
PACKAGE_ARCH: amd64
arm64:
PACKAGE_ARCH: arm64
armhf:
PACKAGE_ARCH: armhf
cross-gcc:
bullseye: '10'
bookworm: '12'
build_function: build_package_deb
dockerfile: debian/docker/Dockerfile
imagename: jellyfin-builder-debian
ubuntu:
releases:
focal: '20.04'
jammy: '22.04'
noble: '24.04'
archmaps:
amd64:
PACKAGE_ARCH: amd64
arm64:
PACKAGE_ARCH: arm64
armhf:
PACKAGE_ARCH: armhf
cross-gcc:
focal: '10'
jammy: '12'
noble: '13'
build_function: build_package_deb
dockerfile: debian/docker/Dockerfile
imagename: jellyfin-builder-ubuntu
# Portable archives
linux:
build_function: build_linux
archivetypes: targz,tarxz
archmaps:
amd64:
DOTNET_ARCH: x64
PACKAGE_ARCH: amd64
amd64-musl:
DOTNET_ARCH: musl-x64
PACKAGE_ARCH: amd64-musl
arm64:
DOTNET_ARCH: arm64
PACKAGE_ARCH: arm64
arm64-musl:
DOTNET_ARCH: musl-arm64
PACKAGE_ARCH: arm64-musl
armhf:
DOTNET_ARCH: arm
PACKAGE_ARCH: armhf
dockerfile: portable/Dockerfile
imagename: jellyfin-builder-linux
windows:
build_function: build_windows
archivetypes: zip
archmaps:
amd64:
DOTNET_ARCH: x64
PACKAGE_ARCH: amd64
arm64:
DOTNET_ARCH: arm64
PACKAGE_ARCH: arm64
dockerfile: portable/Dockerfile
imagename: jellyfin-builder-windows
macos:
build_function: build_macos
archivetypes: tarxz
archmaps:
amd64:
DOTNET_ARCH: x64
PACKAGE_ARCH: amd64
arm64:
DOTNET_ARCH: arm64
PACKAGE_ARCH: arm64
dockerfile: portable/Dockerfile
imagename: jellyfin-builder-macos
portable:
build_function: build_portable
archivetypes: targz,tarxz,zip
dockerfile: portable/Dockerfile
imagename: jellyfin-builder-portable
# Docker images
docker:
build_function: build_docker
archmaps:
amd64:
DOTNET_ARCH: x64
IMAGE_ARCH: amd64
PACKAGE_ARCH: amd64
QEMU_ARCH: x86_64
TARGET_ARCH: amd64
arm64:
DOTNET_ARCH: arm64
IMAGE_ARCH: arm64v8
PACKAGE_ARCH: arm64
QEMU_ARCH: aarch64
TARGET_ARCH: arm64/v8
armhf:
DOTNET_ARCH: arm
IMAGE_ARCH: arm32v7
PACKAGE_ARCH: armhf
QEMU_ARCH: arm
TARGET_ARCH: arm/v7
dockerfile: docker/Dockerfile
imagename: jellyfin/jellyfin
# Nuget packages
nuget:
build_function: build_nuget
projects:
- Jellyfin.Data/Jellyfin.Data.csproj
- MediaBrowser.Common/MediaBrowser.Common.csproj
- MediaBrowser.Controller/MediaBrowser.Controller.csproj
- MediaBrowser.Model/MediaBrowser.Model.csproj
- Emby.Naming/Emby.Naming.csproj
- src/Jellyfin.Extensions/Jellyfin.Extensions.csproj
feed_urls:
stable: https://api.nuget.org/v3/index.json
unstable: https://nuget.pkg.github.com/jellyfin/index.json