jellyfin-mpv-shim/azure-pipelines.yml
2020-08-23 00:30:44 -04:00

84 lines
2.7 KiB
YAML

# Starter pipeline
# Start with a minimal pipeline that you can customize to build and deploy your code.
# Add steps that build, run tests, deploy, and more:
# https://aka.ms/yaml
trigger:
- master
variables:
PIP_CACHE_DIR: $(Pipeline.Workspace)/.pip
pool:
vmImage: 'vs2017-win2016'
steps:
- task: UsePythonVersion@0
inputs:
versionSpec: '3.7'
- task: Cache@2
inputs:
key: 'python | "$(Agent.OS)" | setup.py'
restoreKeys: |
python | "$(Agent.OS)"
python
path: $(PIP_CACHE_DIR)
displayName: Cache pip packages
- task: Cache@2
inputs:
key: '"bindep 2020-08-22" | "$(Agent.OS)"'
path: bindep
cacheHitVar: CACHE_RESTORED
displayName: Cache binary dependencies
# This is downloading all of that stuff you normally have to
# get and extract by hand in the build documentation.
- bash: curl https://iwalton.com/ushare/mpv-shim-deps.7z > mpv-shim-deps.7z
condition: ne(variables.CACHE_RESTORED, 'true')
displayName: Download Binary Dependencies
- task: ExtractFiles@1
inputs:
archiveFilePatterns: '*.7z'
destinationFolder: 'bindep'
cleanDestinationFolder: true
condition: ne(variables.CACHE_RESTORED, 'true')
displayName: Extract Binary Dependencies
- task: CopyFiles@2
inputs:
SourceFolder: 'bindep'
Contents: '**'
TargetFolder: '.'
displayName: Copy Binary Dependencies
# Looks like innosetup is installed by default?
#- script: choco install innosetup
# displayName: Install InnoSetup
- script: pip install .[all] pywebview[cef]==3.3.3 pywin32
displayName: PIP Dependencies
- bash: 'pip uninstall pydantic; SKIP_CYTHON=1 pip install --force-reinstall --ignore-installed --no-binary :all: pydantic==0.32'
displayName: Pydantic w/o CYTHON
- bash: git clone https://github.com/pyinstaller/pyinstaller; cd pyinstaller/bootloader; python ./waf distclean all; cd ..; python setup.py install
displayName: PyInstaller Bootloader
- bash: ./gen_pkg.sh --skip-build
displayName: gen_pkg (Languages & Subrepos)
- script: build-win.bat
displayName: Main Build
- bash: ./artifacts.sh standard
displayName: Main Artifact Rename
- task: UsePythonVersion@0
inputs:
versionSpec: '3.7'
architecture: 'x86'
- script: pip install .[all] pywebview[cef]==3.3.3 pywin32
displayName: PIP Dependencies x86
- bash: 'pip uninstall pydantic; SKIP_CYTHON=1 pip install --force-reinstall --ignore-installed --no-binary :all: pydantic==0.32'
displayName: Pydantic w/o CYTHON x86
- bash: cd pyinstaller/bootloader; python ./waf distclean all; cd ..; python setup.py install
displayName: PyInstaller Bootloader x86
- script: build-win-32.bat
displayName: Legacy Build
- bash: ./artifacts.sh legacy
displayName: Legacy Artifact Rename
- publish: publish
artifact: WindowsBuild