37 lines
1.1 KiB
Bash
37 lines
1.1 KiB
Bash
|
#!/bin/bash
|
||
|
|
||
|
# Builds the TAR archive inside the Docker container
|
||
|
|
||
|
set -o errexit
|
||
|
set -o xtrace
|
||
|
|
||
|
# Move to source directory
|
||
|
pushd ${SOURCE_DIR}
|
||
|
|
||
|
# Clone down and build Web frontend
|
||
|
web_build_dir="$( mktemp -d )"
|
||
|
web_target="${SOURCE_DIR}/MediaBrowser.WebDashboard/jellyfin-web"
|
||
|
git clone https://github.com/jellyfin/jellyfin-web.git ${web_build_dir}/
|
||
|
pushd ${web_build_dir}
|
||
|
if [[ -n ${web_branch} ]]; then
|
||
|
checkout -b origin/${web_branch}
|
||
|
fi
|
||
|
yarn install
|
||
|
yarn build
|
||
|
mkdir -p ${web_target}
|
||
|
mv dist/* ${web_target}/
|
||
|
popd
|
||
|
|
||
|
# Get version
|
||
|
version="$( grep "version:" ./build.yaml | sed -E 's/version: "([0-9\.]+.*)"/\1/' )"
|
||
|
|
||
|
# Build archives
|
||
|
dotnet publish --configuration Release --self-contained --runtime linux-x64 --output /dist/jellyfin_${version}/ "-p:GenerateDocumentationFile=false;DebugSymbols=false;DebugType=none;UseAppHost=true"
|
||
|
tar -cvzf /jellyfin_${version}.portable.tar.gz -C /dist jellyfin_${version}
|
||
|
rm -rf /dist/jellyfin_${version}
|
||
|
|
||
|
# Move the artifacts out
|
||
|
mkdir -p ${ARTIFACT_DIR}/
|
||
|
mv /jellyfin[-_]*.tar.gz ${ARTIFACT_DIR}/
|
||
|
chown -Rc $(stat -c %u:%g ${ARTIFACT_DIR}) ${ARTIFACT_DIR}
|