code-server/.travis.yml

81 lines
2.2 KiB
YAML

language: node_js
node_js: node
jobs:
include:
- name: Test
if: tag IS blank
script: ./ci/container/exec.sh ./ci/steps/test.sh
deploy: null
install: null
- name: Linux Release
if: tag IS present
script: ./ci/steps/linux-release.sh
install: null
# Unfortunately ARM on travis is very unreliable.
# We see random build failures, logging output being truncated, build being killed
# due to no output even though we use travis_wait etc.
# So we've disabled it for now.
# - name: Linux Release
# if: tag IS present
# arch: arm64
# script: |
# sudo apt-get update && sudo apt-get install -y jq || exit 1
# travis_wait 60 ./ci/steps/linux-release.sh
# install: null
- name: MacOS Release
if: tag IS present
os: osx
# node 13/14 crashes in the build process for some reason.
node_js: 12
script: |
HOMEBREW_NO_INSTALL_CLEANUP=1 HOMEBREW_NO_AUTO_UPDATE=1 brew install jq || exit 1
travis_wait 60 ./ci/steps/static-release.sh || exit 1
install: null
before_deploy:
- echo "$JSON_KEY" | base64 --decode > ./ci/key.json
deploy:
- provider: releases
edge: true
draft: true
overwrite: true
tag_name: $TRAVIS_TAG
target_commitish: $TRAVIS_COMMIT
name: $TRAVIS_TAG
file:
- release-github/*.tar.gz
- release-github/*.zip
- release-github/*.deb
- release-github/*.rpm
on:
tags: true
- provider: gcs
edge: true
bucket: "codesrv-ci.cdr.sh"
upload_dir: "releases"
key_file: ./ci/key.json
local_dir: ./release-gcp
on:
tags: true
# TODO: The gcs provider fails to install on arm64.
condition: $TRAVIS_CPU_ARCH == amd64
- provider: script
edge: true
# We do not use the travis npm deploy integration as it does not allow us to
# deploy a subpath and and v2 which should, just errors out that the src does not exist
script: ./ci/steps/publish-npm.sh
on:
tags: true
condition: $TRAVIS_CPU_ARCH == amd64 && $TRAVIS_OS_NAME == linux
cache:
timeout: 600
yarn: true
directories:
- .cache
- out
- dist
- lib/vscode/.build/extensions