mirror of
https://github.com/lensapp/lens.git
synced 2024-11-10 10:36:25 +03:00
79db7bbbe4
Signed-off-by: Jari Kolehmainen <jari.kolehmainen@gmail.com>
189 lines
6.4 KiB
YAML
189 lines
6.4 KiB
YAML
variables:
|
|
YARN_CACHE_FOLDER: $(Pipeline.Workspace)/.yarn
|
|
pr:
|
|
branches:
|
|
include:
|
|
- master
|
|
- releases/*
|
|
paths:
|
|
exclude:
|
|
- .github/*
|
|
- docs/*
|
|
- mkdocs/*
|
|
trigger:
|
|
branches:
|
|
include:
|
|
- '*'
|
|
tags:
|
|
include:
|
|
- "*"
|
|
paths:
|
|
exclude:
|
|
- .github/*
|
|
- docs/*
|
|
- mkdocs/*
|
|
jobs:
|
|
- job: Windows
|
|
pool:
|
|
vmImage: windows-2019
|
|
strategy:
|
|
matrix:
|
|
node_12.x:
|
|
node_version: 12.x
|
|
steps:
|
|
- powershell: |
|
|
$CI_BUILD_TAG = git describe --tags
|
|
Write-Output ("##vso[task.setvariable variable=CI_BUILD_TAG;]$CI_BUILD_TAG")
|
|
displayName: 'Set the tag name as an environment variable'
|
|
condition: "and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/'))"
|
|
- task: NodeTool@0
|
|
inputs:
|
|
versionSpec: $(node_version)
|
|
displayName: Install Node.js
|
|
- task: Cache@2
|
|
inputs:
|
|
key: 'yarn | "$(Agent.OS)"" | yarn.lock'
|
|
restoreKeys: |
|
|
yarn | "$(Agent.OS)"
|
|
path: $(YARN_CACHE_FOLDER)
|
|
displayName: Cache Yarn packages
|
|
- script: make node_modules
|
|
displayName: Install dependencies
|
|
- script: make build-npm
|
|
displayName: Generate npm package
|
|
- script: make -j2 build-extensions
|
|
displayName: Build bundled extensions
|
|
- script: make test
|
|
displayName: Run tests
|
|
- script: make test-extensions
|
|
displayName: Run In-tree Extension tests
|
|
- bash: |
|
|
set -e
|
|
rm -rf extensions/telemetry
|
|
make integration-win
|
|
git checkout extensions/telemetry
|
|
displayName: Run integration tests
|
|
- script: make build
|
|
condition: "and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/'))"
|
|
displayName: Build
|
|
env:
|
|
WIN_CSC_LINK: $(WIN_CSC_LINK)
|
|
WIN_CSC_KEY_PASSWORD: $(WIN_CSC_KEY_PASSWORD)
|
|
GH_TOKEN: $(GH_TOKEN)
|
|
- job: macOS
|
|
pool:
|
|
vmImage: macOS-10.14
|
|
strategy:
|
|
matrix:
|
|
node_12.x:
|
|
node_version: 12.x
|
|
steps:
|
|
- script: CI_BUILD_TAG=`git describe --tags` && echo "##vso[task.setvariable variable=CI_BUILD_TAG]$CI_BUILD_TAG"
|
|
displayName: Set the tag name as an environment variable
|
|
condition: "and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/'))"
|
|
- task: NodeTool@0
|
|
inputs:
|
|
versionSpec: $(node_version)
|
|
displayName: Install Node.js
|
|
- task: Cache@2
|
|
inputs:
|
|
key: 'yarn | "$(Agent.OS)" | yarn.lock'
|
|
restoreKeys: |
|
|
yarn | "$(Agent.OS)"
|
|
path: $(YARN_CACHE_FOLDER)
|
|
displayName: Cache Yarn packages
|
|
- script: make node_modules
|
|
displayName: Install dependencies
|
|
- script: make build-npm
|
|
displayName: Generate npm package
|
|
- script: make -j2 build-extensions
|
|
displayName: Build bundled extensions
|
|
- script: make test
|
|
displayName: Run tests
|
|
- script: make test-extensions
|
|
displayName: Run In-tree Extension tests
|
|
- bash: |
|
|
set -e
|
|
rm -rf extensions/telemetry
|
|
make integration-mac
|
|
git checkout extensions/telemetry
|
|
displayName: Run integration tests
|
|
- script: make test-extensions
|
|
displayName: Run In-tree Extension tests
|
|
- script: make build
|
|
condition: "and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/'))"
|
|
displayName: Build
|
|
env:
|
|
APPLEID: $(APPLEID)
|
|
APPLEIDPASS: $(APPLEIDPASS)
|
|
CSC_LINK: $(CSC_LINK)
|
|
CSC_KEY_PASSWORD: $(CSC_KEY_PASSWORD)
|
|
GH_TOKEN: $(GH_TOKEN)
|
|
- job: Linux
|
|
pool:
|
|
vmImage: ubuntu-16.04
|
|
strategy:
|
|
matrix:
|
|
node_12.x:
|
|
node_version: 12.x
|
|
steps:
|
|
- script: CI_BUILD_TAG=`git describe --tags` && echo "##vso[task.setvariable variable=CI_BUILD_TAG]$CI_BUILD_TAG"
|
|
displayName: Set the tag name as an environment variable
|
|
condition: "and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/'))"
|
|
- task: NodeTool@0
|
|
inputs:
|
|
versionSpec: $(node_version)
|
|
displayName: Install Node.js
|
|
- task: Cache@2
|
|
inputs:
|
|
key: 'yarn | "$(Agent.OS)" | yarn.lock'
|
|
restoreKeys: |
|
|
yarn | "$(Agent.OS)"
|
|
path: $(YARN_CACHE_FOLDER)
|
|
displayName: Cache Yarn packages
|
|
- script: make node_modules
|
|
displayName: Install dependencies
|
|
- script: make build-npm
|
|
displayName: Generate npm package
|
|
- script: make -j2 build-extensions
|
|
displayName: Build bundled extensions
|
|
- script: make test
|
|
displayName: Run tests
|
|
- script: make test-extensions
|
|
displayName: Run In-tree Extension tests
|
|
- bash: |
|
|
sudo apt-get update
|
|
sudo apt-get install libgconf-2-4 conntrack -y
|
|
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
|
|
sudo install minikube-linux-amd64 /usr/local/bin/minikube
|
|
sudo minikube start --driver=none
|
|
# Although the kube and minikube config files are in placed $HOME they are owned by root
|
|
sudo chown -R $USER $HOME/.kube $HOME/.minikube
|
|
displayName: Install integration test dependencies
|
|
- bash: |
|
|
set -e
|
|
rm -rf extensions/telemetry
|
|
xvfb-run --auto-servernum --server-args='-screen 0, 1600x900x24' make integration-linux
|
|
git checkout extensions/telemetry
|
|
displayName: Run integration tests
|
|
- bash: |
|
|
sudo chown root:root /
|
|
sudo apt-get update && sudo apt-get install -y snapd
|
|
sudo snap install snapcraft --classic
|
|
echo -n "${SNAP_LOGIN}" | base64 -i -d > snap_login
|
|
snapcraft login --with snap_login
|
|
displayName: Setup snapcraft
|
|
condition: "and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/'))"
|
|
env:
|
|
SNAP_LOGIN: $(SNAP_LOGIN)
|
|
- script: make build
|
|
displayName: Build
|
|
condition: "and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/'))"
|
|
env:
|
|
GH_TOKEN: $(GH_TOKEN)
|
|
- script: make publish-npm
|
|
displayName: Publish npm package
|
|
condition: "and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/'))"
|
|
env:
|
|
NPM_TOKEN: $(NPM_TOKEN)
|