mirror of
https://github.com/atom/atom.git
synced 2026-02-06 12:44:59 -05:00
This change adds automation for producing nightly Atom releases using VSTS CI. Most of the changes are just slight modifications to Atom's existing build scripts to produce another build channel and publish those artifacts in a way that can be installed and updated when new releases are available.
53 lines
1.6 KiB
YAML
53 lines
1.6 KiB
YAML
phases:
|
|
- phase: Linux
|
|
queue:
|
|
name: Hosted Linux Preview
|
|
timeoutInMinutes: 180
|
|
|
|
steps:
|
|
- task: NodeTool@0
|
|
inputs:
|
|
versionSpec: 8.11.3
|
|
displayName: Install Node.js 8.11.3
|
|
|
|
- script: |
|
|
apt-get update
|
|
apt-get install -y --no-install-recommends build-essential xvfb clang-3.5 fakeroot git libsecret-1-dev rpm libx11-dev libxkbfile-dev xz-utils xorriso zsync libxss1 libgconf2-4 libgtk-3-0
|
|
displayName: Install apt dependencies
|
|
|
|
- script: |
|
|
script/build --create-debian-package --create-rpm-package --compress-artifacts
|
|
displayName: Build Atom
|
|
|
|
- script: script/lint
|
|
displayName: Run linter
|
|
|
|
- script: |
|
|
/sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -ac -screen 0 1280x1024x16
|
|
export DISPLAY=':99.0'
|
|
Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
|
|
script/test
|
|
env:
|
|
CI: true
|
|
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: '?(*.deb|*.rpm|*.tar.gz)'
|
|
targetFolder: $(Build.ArtifactStagingDirectory)
|
|
displayName: Stage Artifacts
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
inputs:
|
|
PathtoPublish: $(Build.ArtifactStagingDirectory)
|
|
ArtifactName: Binaries
|
|
ArtifactType: Container
|
|
displayName: Upload Artifacts
|