mirror of
https://github.com/atom/atom.git
synced 2026-01-26 07:19:06 -05:00
139 lines
5.1 KiB
YAML
139 lines
5.1 KiB
YAML
jobs:
|
|
- job: Windows
|
|
dependsOn: GetReleaseVersion
|
|
timeoutInMinutes: 180
|
|
strategy:
|
|
maxParallel: 2
|
|
matrix:
|
|
x64:
|
|
buildArch: x64
|
|
x86:
|
|
buildArch: x86
|
|
|
|
pool:
|
|
vmImage: vs2015-win2012r2 # needed for python 2.7 and gyp
|
|
|
|
variables:
|
|
ReleaseVersion: $[ dependencies.GetReleaseVersion.outputs['Version.ReleaseVersion'] ]
|
|
IsReleaseBranch: $[ dependencies.GetReleaseVersion.outputs['Version.IsReleaseBranch'] ]
|
|
IsSignedZipBranch: $[ dependencies.GetReleaseVersion.outputs['Version.IsSignedZipBranch'] ]
|
|
|
|
steps:
|
|
- task: NodeTool@0
|
|
inputs:
|
|
versionSpec: 8.9.3
|
|
displayName: Install Node.js 8.9.3
|
|
|
|
- script: |
|
|
ECHO Installing npm-windows-upgrade
|
|
npm install --global --production npm-windows-upgrade
|
|
ECHO Upgrading npm
|
|
npm-windows-upgrade --no-spinner --no-prompt --npm-version 6.2.0
|
|
displayName: Install npm 6.2.0
|
|
|
|
- script: |
|
|
cd script\vsts
|
|
npm install
|
|
displayName: Install Windows build dependencies
|
|
|
|
- script: |
|
|
IF NOT EXIST C:\tmp MKDIR C:\tmp
|
|
SET SQUIRREL_TEMP=C:\tmp
|
|
IF [%IS_RELEASE_BRANCH%]==[true] (
|
|
ECHO Creating production artifacts for release branch %BUILD_SOURCEBRANCHNAME%
|
|
node script\vsts\windows-run.js script\build.cmd --code-sign --compress-artifacts --create-windows-installer
|
|
) ELSE (
|
|
IF [%IS_SIGNED_ZIP_BRANCH%]==[true] (
|
|
ECHO Creating signed CI artifacts for branch %BUILD_SOURCEBRANCHNAME%
|
|
node script\vsts\windows-run.js script\build.cmd --code-sign --compress-artifacts
|
|
) ELSE (
|
|
ECHO Pull request build, no code signing will be performed
|
|
node script\vsts\windows-run.js script\build.cmd --compress-artifacts
|
|
)
|
|
)
|
|
env:
|
|
BUILD_ARCH: $(buildArch)
|
|
ATOM_RELEASE_VERSION: $(ReleaseVersion)
|
|
ATOM_WIN_CODE_SIGNING_CERT_DOWNLOAD_URL: $(ATOM_WIN_CODE_SIGNING_CERT_DOWNLOAD_URL)
|
|
ATOM_WIN_CODE_SIGNING_CERT_PASSWORD: $(ATOM_WIN_CODE_SIGNING_CERT_PASSWORD)
|
|
IS_RELEASE_BRANCH: $(IsReleaseBranch)
|
|
IS_SIGNED_ZIP_BRANCH: $(IsSignedZipBranch)
|
|
displayName: Build Atom
|
|
|
|
- script: node script\vsts\windows-run.js script\lint.cmd
|
|
env:
|
|
BUILD_ARCH: $(buildArch)
|
|
displayName: Run linter
|
|
|
|
- script: node script\vsts\windows-run.js script\test.cmd
|
|
env:
|
|
CI: true
|
|
CI_PROVIDER: VSTS
|
|
BUILD_ARCH: $(buildArch)
|
|
displayName: Run tests
|
|
condition: and(succeeded(), ne(variables['Atom.SkipTests'], 'true'))
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
inputs:
|
|
PathtoPublish: $(Build.SourcesDirectory)/out/atom-x64-windows.zip
|
|
ArtifactName: atom-x64-windows.zip
|
|
ArtifactType: Container
|
|
displayName: Upload atom-x64-windows.zip
|
|
condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest'), eq(variables['buildArch'], 'x64'))
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
inputs:
|
|
PathtoPublish: $(Build.SourcesDirectory)/out/AtomSetup-x64.exe
|
|
ArtifactName: AtomSetup-x64.exe
|
|
ArtifactType: Container
|
|
displayName: Upload AtomSetup-x64.exe
|
|
condition: and(succeeded(), eq(variables['IsReleaseBranch'], 'true'), eq(variables['buildArch'], 'x64'))
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
inputs:
|
|
PathtoPublish: $(Build.SourcesDirectory)/out/atom-x64-$(ReleaseVersion)-full.nupkg
|
|
ArtifactName: atom-x64-$(ReleaseVersion)-full.nupkg
|
|
ArtifactType: Container
|
|
displayName: Upload atom-x64-$(ReleaseVersion)-full.nupkg
|
|
condition: and(succeeded(), eq(variables['IsReleaseBranch'], 'true'), eq(variables['buildArch'], 'x64'))
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
inputs:
|
|
PathtoPublish: $(Build.SourcesDirectory)/out/RELEASES-x64
|
|
ArtifactName: RELEASES-x64
|
|
ArtifactType: Container
|
|
displayName: Upload RELEASES-x64
|
|
condition: and(succeeded(), eq(variables['IsReleaseBranch'], 'true'), eq(variables['buildArch'], 'x64'))
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
inputs:
|
|
PathtoPublish: $(Build.SourcesDirectory)/out/atom-windows.zip
|
|
ArtifactName: atom-windows.zip
|
|
ArtifactType: Container
|
|
displayName: Upload atom-windows.zip
|
|
condition: and(succeeded(), ne(variables['Build.Reason'], 'PullRequest'), eq(variables['buildArch'], 'x86'))
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
inputs:
|
|
PathtoPublish: $(Build.SourcesDirectory)/out/AtomSetup.exe
|
|
ArtifactName: AtomSetup.exe
|
|
ArtifactType: Container
|
|
displayName: Upload AtomSetup.exe
|
|
condition: and(succeeded(), eq(variables['IsReleaseBranch'], 'true'), eq(variables['buildArch'], 'x86'))
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
inputs:
|
|
PathtoPublish: $(Build.SourcesDirectory)/out/atom-$(ReleaseVersion)-full.nupkg
|
|
ArtifactName: atom-$(ReleaseVersion)-full.nupkg
|
|
ArtifactType: Container
|
|
displayName: Upload atom-$(ReleaseVersion)-full.nupkg
|
|
condition: and(succeeded(), eq(variables['IsReleaseBranch'], 'true'), eq(variables['buildArch'], 'x86'))
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
inputs:
|
|
PathtoPublish: $(Build.SourcesDirectory)/out/RELEASES
|
|
ArtifactName: RELEASES
|
|
ArtifactType: Container
|
|
displayName: Upload RELEASES
|
|
condition: and(succeeded(), eq(variables['IsReleaseBranch'], 'true'), eq(variables['buildArch'], 'x86'))
|