Files
atom/script/vsts/macos.yml
2018-07-11 06:11:43 -07:00

56 lines
1.8 KiB
YAML

phases:
- phase: macOS
dependsOn: GetReleaseVersion
variables:
ReleaseVersion: $[ dependencies.GetReleaseVersion.outputs['Version.ReleaseVersion'] ]
queue:
name: Hosted macOS Preview
timeoutInMinutes: 180
steps:
- task: NodeTool@0
inputs:
versionSpec: 8.9.3
displayName: Install Node.js 8.9.3
- script: |
script/build --code-sign --compress-artifacts
displayName: Build Atom
env:
ATOM_RELEASE_VERSION: $(ReleaseVersion)
ATOM_MAC_CODE_SIGNING_CERT_DOWNLOAD_URL: $(ATOM_MAC_CODE_SIGNING_CERT_DOWNLOAD_URL)
ATOM_MAC_CODE_SIGNING_CERT_PASSWORD: $(ATOM_MAC_CODE_SIGNING_CERT_PASSWORD)
ATOM_MAC_CODE_SIGNING_KEYCHAIN: $(ATOM_MAC_CODE_SIGNING_KEYCHAIN)
ATOM_MAC_CODE_SIGNING_KEYCHAIN_PASSWORD: $(ATOM_MAC_CODE_SIGNING_KEYCHAIN_PASSWORD)
- script: script/lint
displayName: Run linter
- script: |
osascript -e 'tell application "System Events" to keystroke "x"' # clear screen saver
caffeinate -s script/test # Run with caffeinate to prevent screen saver
env:
CI: true
CI_PROVIDER: VSTS
displayName: Run tests
# This step is necessary in the short term due to a bug in the *NIX
# implementation of the CopyFiles task which scans the entire file
# system structure just to resolve the glob pattern.
- script: rm -rf $(Build.SourcesDirectory)/out/*/
displayName: Delete Intermediate Output
- task: CopyFiles@2
inputs:
sourceFolder: $(Build.SourcesDirectory)/out
contents: '*.zip'
targetFolder: $(Build.ArtifactStagingDirectory)
displayName: Stage Artifacts
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: $(Build.ArtifactStagingDirectory)
ArtifactName: Binaries
ArtifactType: Container
displayName: Upload Artifacts