103 lines
2.7 KiB
YAML
103 lines
2.7 KiB
YAML
# Node.js
|
|
# Build a general Node.js project with npm.
|
|
# Add steps that analyze code, save build artifacts, deploy, and more:
|
|
# https://docs.microsoft.com/azure/devops/pipelines/languages/javascript
|
|
trigger:
|
|
- master
|
|
- azure-pipelines
|
|
|
|
|
|
jobs:
|
|
|
|
- job: generic_build
|
|
strategy:
|
|
matrix:
|
|
linux:
|
|
imageName: 'ubuntu-16.04'
|
|
outputExtension: '*.AppImage'
|
|
builderOptions: '--linux'
|
|
buildName: "Linux AppImage"
|
|
artefactName: "Linux AppImage"
|
|
mac:
|
|
imageName: 'macos-10.13'
|
|
outputExtension: '*.dmg'
|
|
builderOptions: '--mac'
|
|
buildName: "Mac"
|
|
artefactName: "Mac 64-bit"
|
|
windows-64:
|
|
imageName: 'vs2017-win2016'
|
|
outputExtension: '*.exe'
|
|
builderOptions: '--win'
|
|
buildName: "Windows 64-bit"
|
|
artefactName: "Windows 64-bit"
|
|
|
|
pool:
|
|
vmImage: $(imageName)
|
|
|
|
steps:
|
|
- task: NodeTool@0
|
|
inputs:
|
|
versionSpec: '8.x'
|
|
displayName: 'Install Node.js'
|
|
- bash: |
|
|
npm cache clean --force
|
|
rm -rf node_modules/
|
|
npm install
|
|
npm install electron-builder -g
|
|
electron-builder --publish=never $(builderOptions)
|
|
displayName: $(buildName)
|
|
- task: CopyFiles@2
|
|
inputs:
|
|
sourceFolder: '$(Build.SourcesDirectory)/dist'
|
|
contents: $(outputExtension)
|
|
targetFolder: $(Build.ArtifactStagingDirectory)
|
|
- task: PublishBuildArtifacts@1
|
|
inputs:
|
|
pathtoPublish: $(Build.ArtifactStagingDirectory)
|
|
artifactName: $(artefactName)
|
|
|
|
#- task: GithubRelease@0
|
|
# displayName: 'Create GitHub Release'
|
|
# inputs:
|
|
# githubConnection: speeduino
|
|
# repositoryName: speeduino/SpeedyLoader
|
|
# action: 'create'
|
|
# target: '$(build.sourceVersion)'
|
|
# assets: $(Build.ArtifactStagingDirectory)/*.zip
|
|
# addChangeLog: true
|
|
# isDraft: true
|
|
|
|
- job: job_win_32_bit_self_hosted
|
|
pool: 'Default'
|
|
timeoutInMinutes: 5
|
|
|
|
steps:
|
|
- task: NodeTool@0
|
|
enabled: false
|
|
inputs:
|
|
versionSpec: '8.x'
|
|
displayName: 'Install Node.js'
|
|
- script: |
|
|
npm install
|
|
npm install electron-builder -g
|
|
electron-builder --win
|
|
displayName: 'Windows 32-bit'
|
|
- task: CopyFiles@2
|
|
inputs:
|
|
sourceFolder: '$(Build.SourcesDirectory)\dist'
|
|
contents: '*.exe'
|
|
targetFolder: $(Build.ArtifactStagingDirectory)
|
|
- task: PublishBuildArtifacts@1
|
|
inputs:
|
|
pathtoPublish: $(Build.ArtifactStagingDirectory)
|
|
artifactName: "Windows 32-bit"
|
|
#- task: GithubRelease@0
|
|
# displayName: 'Create GitHub Release'
|
|
# inputs:
|
|
# githubConnection: speeduino
|
|
# repositoryName: speeduino/SpeedyLoader
|
|
# action: 'create'
|
|
# target: '$(build.sourceVersion)'
|
|
# assets: $(Build.ArtifactStagingDirectory)/*.zip
|
|
# addChangeLog: true
|
|
# isDraft: true |