mirror of
https://github.com/lidarr/lidarr.git
synced 2025-08-24 15:25:20 -07:00
Try to parallelize backend and frontend build
This commit is contained in:
parent
67fb97db7b
commit
d2d634f641
2 changed files with 119 additions and 49 deletions
|
@ -4,6 +4,7 @@
|
||||||
# https://aka.ms/yaml
|
# https://aka.ms/yaml
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
|
outputFolder: './_output'
|
||||||
artifactsFolder: './_artifacts'
|
artifactsFolder: './_artifacts'
|
||||||
testsFolder: './_tests'
|
testsFolder: './_tests'
|
||||||
majorVersion: '0.6.2'
|
majorVersion: '0.6.2'
|
||||||
|
@ -20,16 +21,14 @@ variables:
|
||||||
stages:
|
stages:
|
||||||
- stage: Build
|
- stage: Build
|
||||||
jobs:
|
jobs:
|
||||||
- job: Windows
|
- job: Windows_Backend
|
||||||
displayName: Windows
|
displayName: Windows Backend
|
||||||
pool:
|
pool:
|
||||||
vmImage: 'vs2017-win2016'
|
vmImage: 'vs2017-win2016'
|
||||||
steps:
|
steps:
|
||||||
# Set the build name properly. The 'name' property won't recursively expand so hack here:
|
# Set the build name properly. The 'name' property won't recursively expand so hack here:
|
||||||
- powershell: Write-Host "##vso[build.updatebuildnumber]$($env:BUILDNAME)"
|
- powershell: Write-Host "##vso[build.updatebuildnumber]$($env:BUILDNAME)"
|
||||||
- task: NodeTool@0
|
displayName: Set Build Name
|
||||||
inputs:
|
|
||||||
versionSpec: '10.x'
|
|
||||||
- checkout: self
|
- checkout: self
|
||||||
submodules: true
|
submodules: true
|
||||||
- task: Assembly-Info-NetFramework@2
|
- task: Assembly-Info-NetFramework@2
|
||||||
|
@ -43,11 +42,73 @@ stages:
|
||||||
VersionNumber: '$(lidarrVersion)'
|
VersionNumber: '$(lidarrVersion)'
|
||||||
FileVersionNumber: '$(lidarrVersion)'
|
FileVersionNumber: '$(lidarrVersion)'
|
||||||
InformationalVersion: '$(lidarrVersion)-rc1'
|
InformationalVersion: '$(lidarrVersion)-rc1'
|
||||||
- task: Bash@3
|
- bash: ./build.sh --only-backend
|
||||||
displayName: Build Lidarr
|
displayName: Build Lidarr Backend
|
||||||
|
- publish: $(outputFolder)
|
||||||
|
artifact: 'WindowsBackend'
|
||||||
|
|
||||||
|
- job: Windows_Frontend
|
||||||
|
displayName: Windows Backend
|
||||||
|
pool:
|
||||||
|
vmImage: 'vs2017-win2016'
|
||||||
|
steps:
|
||||||
|
- task: NodeTool@0
|
||||||
|
displayName: Set Node.js version
|
||||||
inputs:
|
inputs:
|
||||||
targetType: 'filePath'
|
versionSpec: '10.x'
|
||||||
filePath: ./build.sh
|
- checkout: self
|
||||||
|
submodules: true
|
||||||
|
- bash: ./build.sh --only-frontend
|
||||||
|
displayName: Build Lidarr Frontend
|
||||||
|
- publish: $(outputFolder)
|
||||||
|
artifact: 'WindowsFrontend'
|
||||||
|
|
||||||
|
# - job: macOS
|
||||||
|
# displayName: macOS
|
||||||
|
# pool:
|
||||||
|
# vmImage: 'macOS-10.13'
|
||||||
|
# steps:
|
||||||
|
# - task: NodeTool@0
|
||||||
|
# inputs:
|
||||||
|
# versionSpec: '10.x'
|
||||||
|
# - checkout: self
|
||||||
|
# submodules: true
|
||||||
|
# - task: Bash@3
|
||||||
|
# displayName: Build Lidarr
|
||||||
|
# inputs:
|
||||||
|
# targetType: 'filePath'
|
||||||
|
# filePath: ./build.sh
|
||||||
|
|
||||||
|
# - job: Linux
|
||||||
|
# displayName: Linux
|
||||||
|
# pool:
|
||||||
|
# vmImage: 'ubuntu-16.04'
|
||||||
|
# steps:
|
||||||
|
# - task: NodeTool@0
|
||||||
|
# inputs:
|
||||||
|
# versionSpec: '10.x'
|
||||||
|
# - checkout: self
|
||||||
|
# submodules: true
|
||||||
|
# - task: Bash@3
|
||||||
|
# displayName: Build Lidarr
|
||||||
|
# inputs:
|
||||||
|
# targetType: 'filePath'
|
||||||
|
# filePath: ./build.sh
|
||||||
|
|
||||||
|
- stage: Package
|
||||||
|
jobs:
|
||||||
|
- job: Windows_Packages
|
||||||
|
displayName: Windows Packages
|
||||||
|
pool:
|
||||||
|
vmImage: 'vs2017-win2016'
|
||||||
|
steps:
|
||||||
|
- download: current
|
||||||
|
artifact: 'WindowsBackend'
|
||||||
|
- download: current
|
||||||
|
artifact: 'WindowsFrontend'
|
||||||
|
|
||||||
|
- bash: ./build.sh --only-packages
|
||||||
|
displayName: Create Lidarr Packages
|
||||||
- task: PublishPipelineArtifact@0
|
- task: PublishPipelineArtifact@0
|
||||||
displayName: Publish Tests Artifact
|
displayName: Publish Tests Artifact
|
||||||
inputs:
|
inputs:
|
||||||
|
@ -99,38 +160,7 @@ stages:
|
||||||
condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/develop'))
|
condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/develop'))
|
||||||
env:
|
env:
|
||||||
SENTRY_AUTH_TOKEN: $(sentryAuthToken)
|
SENTRY_AUTH_TOKEN: $(sentryAuthToken)
|
||||||
|
|
||||||
- job: macOS
|
|
||||||
displayName: macOS
|
|
||||||
pool:
|
|
||||||
vmImage: 'macOS-10.13'
|
|
||||||
steps:
|
|
||||||
- task: NodeTool@0
|
|
||||||
inputs:
|
|
||||||
versionSpec: '10.x'
|
|
||||||
- checkout: self
|
|
||||||
submodules: true
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Build Lidarr
|
|
||||||
inputs:
|
|
||||||
targetType: 'filePath'
|
|
||||||
filePath: ./build.sh
|
|
||||||
|
|
||||||
- job: Linux
|
|
||||||
displayName: Linux
|
|
||||||
pool:
|
|
||||||
vmImage: 'ubuntu-16.04'
|
|
||||||
steps:
|
|
||||||
- task: NodeTool@0
|
|
||||||
inputs:
|
|
||||||
versionSpec: '10.x'
|
|
||||||
- checkout: self
|
|
||||||
submodules: true
|
|
||||||
- task: Bash@3
|
|
||||||
displayName: Build Lidarr
|
|
||||||
inputs:
|
|
||||||
targetType: 'filePath'
|
|
||||||
filePath: ./build.sh
|
|
||||||
- stage: Test
|
- stage: Test
|
||||||
dependsOn: Build
|
dependsOn: Build
|
||||||
condition: succeeded()
|
condition: succeeded()
|
||||||
|
|
56
build.sh
56
build.sh
|
@ -340,11 +340,51 @@ case "$(uname -s)" in
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
Build
|
POSITIONAL=()
|
||||||
RunGulp
|
while [[ $# -gt 0 ]]
|
||||||
PackageMono
|
do
|
||||||
PackageMacOS
|
key="$1"
|
||||||
PackageMacOSApp
|
|
||||||
PackageTests
|
case $key in
|
||||||
CleanupWindowsPackage
|
--only-backend)
|
||||||
PackageArtifacts
|
ONLY_BACKEND=YES
|
||||||
|
shift # past argument
|
||||||
|
;;
|
||||||
|
--only-frontend)
|
||||||
|
ONLY_FRONTEND=YES
|
||||||
|
shift # past argument
|
||||||
|
;;
|
||||||
|
--only-packages)
|
||||||
|
ONLY_PACKAGES=YES
|
||||||
|
shift # past argument
|
||||||
|
;;
|
||||||
|
*) # unknown option
|
||||||
|
POSITIONAL+=("$1") # save it in an array for later
|
||||||
|
shift # past argument
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
set -- "${POSITIONAL[@]}" # restore positional parameters
|
||||||
|
|
||||||
|
# Only build backend if we haven't set only-frontend or only-packages
|
||||||
|
if [ -z "$ONLY_FRONTEND" ] && [ -z "$ONLY_PACKAGES" ];
|
||||||
|
then
|
||||||
|
Build
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Only build frontend if we haven't set only-backend or only-packages
|
||||||
|
if [ -z "$ONLY_BACKEND" ] && [ -z "$ONLY_PACKAGES" ];
|
||||||
|
then
|
||||||
|
RunGulp
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Only package if we haven't set only-backend or only-frontend
|
||||||
|
if [ -z "$ONLY_BACKEND" ] && [ -z "$ONLY_FRONTEND" ];
|
||||||
|
then
|
||||||
|
PackageMono
|
||||||
|
PackageMacOS
|
||||||
|
PackageMacOSApp
|
||||||
|
PackageTests
|
||||||
|
CleanupWindowsPackage
|
||||||
|
PackageArtifacts
|
||||||
|
fi
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue