From 4cdc4c77dc2dc020f8a324b3e24fc8866ac17fa3 Mon Sep 17 00:00:00 2001 From: Manas Jayanth <3097018+ManasJayanth@users.noreply.github.com> Date: Sat, 10 Jun 2023 17:00:51 +0530 Subject: [PATCH] CI Improvements 1. Use newer node.js 18.16.0 2. Use Azure Pipelines cache@2 for faster npm installations 3. Compute ESY_BASH_VERSION variable for pipeline releases --- .ci/esy-build-steps.yml | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/.ci/esy-build-steps.yml b/.ci/esy-build-steps.yml index 07630b9..fe08e84 100644 --- a/.ci/esy-build-steps.yml +++ b/.ci/esy-build-steps.yml @@ -1,9 +1,23 @@ +--- # Cross-platform set of build steps for building esy projects steps: - task: NodeTool@0 inputs: - versionSpec: '8.9' + versionSpec: '18.16.0' + - bash: | + NPM_CACHE_DIR=$(npm config get cache) + ESY_BASH_VERSION=$(node -e 'console.log(require("./package.json").version)') + echo "##vso[task.setvariable variable=NPM_CACHE_DIR]$NPM_CACHE_DIR" + echo "##vso[task.setvariable variable=ESY_BASH_VERSION]$ESY_BASH_VERSION" + displayName: Compute pipeline variables + - task: Cache@2 + inputs: + key: 'npm | "$(Build.SourcesDirectory)/package-lock.json"' + restoreKeys: | + npm + path: $(NPM_CACHE_DIR) + displayName: Cache NPM - script: npm i -g esy - script: npm install - script: npm run build-exe @@ -19,8 +33,8 @@ steps: - task: PublishBuildArtifacts@1 displayName: 'Release Package' inputs: - PathtoPublish: './esy-bash-0.3.20.tgz' - ArtifactName: npm-package + PathtoPublish: './esy-bash-$(ESY_BASH_VERSION).tgz' + ArtifactName: esy-bash-$(ESY_BASH_VERSION) - script: node postinstall.js displayName: "node postinstall.js (iteration 1)" - script: npm run test