diff --git a/.dockerignore b/.dockerignore index 45e5435258..ffd6de2d66 100644 --- a/.dockerignore +++ b/.dockerignore @@ -8,3 +8,4 @@ README.md deployment/*/dist deployment/*/pkg-dist deployment/collect-dist/ +ci/ diff --git a/.drone.yml b/.drone.yml index 98db4884bd..972bf36f3a 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,12 +1,111 @@ +--- kind: pipeline -name: build +name: build-debug steps: - name: submodules image: docker:git commands: - git submodule update --init --recursive + +- name: build + image: microsoft/dotnet:2-sdk + commands: + - dotnet publish "Jellyfin.Server" --configuration Debug --output "../ci/ci-debug" + +--- +kind: pipeline +name: build-release + +steps: +- name: submodules + image: docker:git + commands: + - git submodule update --init --recursive + +- name: build + image: microsoft/dotnet:2-sdk + commands: + - dotnet publish "Jellyfin.Server" --configuration Release --output "../ci/ci-release" + +--- + +kind: pipeline +name: check-abi + +steps: +- name: submodules + image: docker:git + commands: + - git submodule update --init --recursive + - name: build image: microsoft/dotnet:2-sdk commands: - - dotnet publish --configuration release --output /release Jellyfin.Server + - dotnet publish "Jellyfin.Server" --configuration Release --output "../ci/ci-release" + +- name: clone-dotnet-compat + image: docker:git + commands: + - git clone --depth 1 https://github.com/EraYaN/dotnet-compatibility ci/dotnet-compatibility + +- name: build-dotnet-compat + image: microsoft/dotnet:2-sdk + commands: + - dotnet publish "ci/dotnet-compatibility/CompatibilityCheckerCoreCLI" --configuration Release --output "../../ci-tools" + +- name: download-last-nuget-release-common + image: plugins/download + settings: + source: https://www.nuget.org/api/v2/package/Jellyfin.Common + destination: ci/Jellyfin.Common.nupkg + +- name: download-last-nuget-release-model + image: plugins/download + settings: + source: https://www.nuget.org/api/v2/package/Jellyfin.Model + destination: ci/Jellyfin.Model.nupkg + +- name: download-last-nuget-release-controller + image: plugins/download + settings: + source: https://www.nuget.org/api/v2/package/Jellyfin.Controller + destination: ci/Jellyfin.Controller.nupkg + +- name: download-last-nuget-release-naming + image: plugins/download + settings: + source: https://www.nuget.org/api/v2/package/Jellyfin.Naming + destination: ci/Jellyfin.Naming.nupkg + +- name: extract-downloaded-nuget-packages + image: garthk/unzip + commands: + - unzip -j ci/Jellyfin.Common.nupkg "*.dll" -d ci/nuget-packages + - unzip -j ci/Jellyfin.Model.nupkg "*.dll" -d ci/nuget-packages + - unzip -j ci/Jellyfin.Controller.nupkg "*.dll" -d ci/nuget-packages + - unzip -j ci/Jellyfin.Naming.nupkg "*.dll" -d ci/nuget-packages + +- name: run-dotnet-compat-common + image: microsoft/dotnet:2-runtime + err_ignore: true + commands: + - dotnet ci/ci-tools/CompatibilityCheckerCoreCLI.dll ci/nuget-packages/Jellyfin.Common.dll ci/ci-release/Jellyfin.Common.dll + +- name: run-dotnet-compat-model + image: microsoft/dotnet:2-runtime + err_ignore: true + commands: + - dotnet ci/ci-tools/CompatibilityCheckerCoreCLI.dll ci/nuget-packages/Jellyfin.Model.dll ci/ci-release/Jellyfin.Model.dll + +- name: run-dotnet-compat-controller + image: microsoft/dotnet:2-runtime + err_ignore: true + commands: + - dotnet ci/ci-tools/CompatibilityCheckerCoreCLI.dll ci/nuget-packages/Jellyfin.Controller.dll ci/ci-release/Jellyfin.Controller.dll + +- name: run-dotnet-compat-naming + image: microsoft/dotnet:2-runtime + err_ignore: true + commands: + - dotnet ci/ci-tools/CompatibilityCheckerCoreCLI.dll ci/nuget-packages/Jellyfin.Naming.dll ci/ci-release/Jellyfin.Naming.dll diff --git a/.editorconfig b/.editorconfig index 21f27df131..dc9aaa3ed5 100644 --- a/.editorconfig +++ b/.editorconfig @@ -15,6 +15,10 @@ insert_final_newline = true end_of_line = lf max_line_length = null +# YAML indentation +[*.{yml,yaml}] +indent_size = 2 + # XML indentation [*.{csproj,xml}] indent_size = 2 diff --git a/.gitignore b/.gitignore index aef6662727..65e47747ee 100644 --- a/.gitignore +++ b/.gitignore @@ -264,3 +264,5 @@ deployment/**/pkg-dist-tmp/ deployment/collect-dist/ jellyfin_version.ini + +ci/