variables: YARN_CACHE_FOLDER: $(Pipeline.Workspace)/.yarn pr: none trigger: tags: include: - "*" paths: exclude: - .github/* - docs/* - mkdocs/* jobs: - job: Windows pool: vmImage: windows-2019 strategy: matrix: node: node_version: 16.x steps: - powershell: | $CI_BUILD_TAG = git describe --tags Write-Output ("##vso[task.setvariable variable=CI_BUILD_TAG;]$CI_BUILD_TAG") condition: "and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/'))" displayName: Set the tag name as an environment variable - 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 - bash: | set -e git clone "https://${GH_TOKEN}@github.com/lensapp/lens-ide.git" .lens-ide-overlay rm -rf .lens-ide-overlay/.git cp -r .lens-ide-overlay/* ./ jq -s '.[0] * .[1]' package.json package.ide.json > package.custom.json && mv package.custom.json package.json env: GH_TOKEN: $(LENS_IDE_GH_TOKEN) displayName: Customize config - script: make build condition: "and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/'))" env: WIN_CSC_LINK: $(WIN_CSC_LINK) WIN_CSC_KEY_PASSWORD: $(WIN_CSC_KEY_PASSWORD) AWS_ACCESS_KEY_ID: $(AWS_ACCESS_KEY_ID) AWS_SECRET_ACCESS_KEY: $(AWS_SECRET_ACCESS_KEY) BUILD_NUMBER: $(Build.BuildNumber) ELECTRON_BUILDER_EXTRA_ARGS: "--x64 --ia32" displayName: Build - job: macOS timeoutInMinutes: 90 pool: vmImage: macOS-11 strategy: matrix: node: node_version: 16.x steps: - script: CI_BUILD_TAG=`git describe --tags` && echo "##vso[task.setvariable variable=CI_BUILD_TAG]$CI_BUILD_TAG" condition: "and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/'))" displayName: Set the tag name as an environment variable - 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 - bash: | set -e git clone "https://${GH_TOKEN}@github.com/lensapp/lens-ide.git" .lens-ide-overlay rm -rf .lens-ide-overlay/.git cp -r .lens-ide-overlay/* ./ jq -s '.[0] * .[1]' package.json package.ide.json > package.custom.json && mv package.custom.json package.json env: GH_TOKEN: $(LENS_IDE_GH_TOKEN) displayName: Customize config - bash: | set -e echo "Importing codesign certificate ..." echo $CSC_LINK | base64 -D > certificate.p12 security create-keychain -p $KEYCHAIN_PASSWORD build.keychain security set-keychain-settings -lut 21600 build.keychain security default-keychain -s build.keychain security unlock-keychain -p $KEYCHAIN_PASSWORD build.keychain security import certificate.p12 -k build.keychain -P $CSC_KEY_PASSWORD -T /usr/bin/codesign -T /usr/bin/security -A security set-key-partition-list -S apple-tool:,apple: -k $KEYCHAIN_PASSWORD build.keychain rm certificate.p12 echo "Codesign certificate imported!" make build condition: "and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/'))" env: KEYCHAIN_PASSWORD: secretz APPLEID: $(APPLEID) APPLEIDPASS: $(APPLEIDPASS) CSC_LINK: $(CSC_LINK) CSC_KEY_PASSWORD: $(CSC_KEY_PASSWORD) AWS_ACCESS_KEY_ID: $(AWS_ACCESS_KEY_ID) AWS_SECRET_ACCESS_KEY: $(AWS_SECRET_ACCESS_KEY) BUILD_NUMBER: $(Build.BuildNumber) ELECTRON_BUILDER_EXTRA_ARGS: "--x64 --arm64" displayName: Build - job: Linux pool: vmImage: ubuntu-18.04 strategy: matrix: node: node_version: 16.x steps: - script: CI_BUILD_TAG=`git describe --tags` && echo "##vso[task.setvariable variable=CI_BUILD_TAG]$CI_BUILD_TAG" condition: "and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/'))" displayName: Set the tag name as an environment variable - 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 - bash: | set -e git clone "https://${GH_TOKEN}@github.com/lensapp/lens-ide.git" .lens-ide-overlay rm -rf .lens-ide-overlay/.git cp -r .lens-ide-overlay/* ./ jq -s '.[0] * .[1]' package.json package.ide.json > package.custom.json && mv package.custom.json package.json env: GH_TOKEN: $(LENS_IDE_GH_TOKEN) displayName: Customize config - script: make build condition: "and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/'))" env: AWS_ACCESS_KEY_ID: $(AWS_ACCESS_KEY_ID) AWS_SECRET_ACCESS_KEY: $(AWS_SECRET_ACCESS_KEY) BUILD_NUMBER: $(Build.BuildNumber) displayName: Build