aboutsummaryrefslogtreecommitdiff
path: root/build.yaml
blob: 72028ac0272da1dc58fd0255ebf315e62476784b (plain)
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
---
# Build definitions for `build.py`

# DEB packages
debian:
  build_function: build_package_deb
  archmaps:
    amd64:
      PACKAGE_ARCH: amd64
    arm64:
      PACKAGE_ARCH: arm64
    armhf:
      PACKAGE_ARCH: armhf
  cross-gcc:
    bullseye: '10'
    bookworm: '12'
  dockerfile: debian/docker/Dockerfile
  imagename: jellyfin-builder-debian
  releases:
    bullseye: '11'
    bookworm: '12'
ubuntu:
  build_function: build_package_deb
  archmaps:
    amd64:
      PACKAGE_ARCH: amd64
    arm64:
      PACKAGE_ARCH: arm64
    armhf:
      PACKAGE_ARCH: armhf
  cross-gcc:
    focal: '10'
    jammy: '12'
    noble: '12'
  dockerfile: debian/docker/Dockerfile
  imagename: jellyfin-builder-ubuntu
  releases:
    focal: '20.04'
    jammy: '22.04'
    noble: '24.04'

# RPM packages (TODO)
centos:
  build_function: build_package_rpm
fedora:
  build_function: build_package_rpm

# 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: targz,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
    arm64:
      DOTNET_ARCH: arm64
      IMAGE_ARCH: arm64v8
      PACKAGE_ARCH: arm64
      QEMU_ARCH: aarch64
    armhf:
      DOTNET_ARCH: arm
      IMAGE_ARCH: arm32v7
      PACKAGE_ARCH: armhf
      QEMU_ARCH: arm
  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
bgstack15