diff --git a/.azure-devops/release.yaml b/.azure-devops/release.yaml index e5d8ae1..24910e2 100644 --- a/.azure-devops/release.yaml +++ b/.azure-devops/release.yaml @@ -35,46 +35,62 @@ extends: Build.SDL..Enabled: false Build.SDL..Enabled: true jobs: - - job: Release + - job: Build + displayName: Build ObjectStoreProvider Package pool: name: Azure-Pipelines-1ESPT-ExDShared image: ubuntu-latest os: linux + templateContext: + outputs: + - output: pipelineArtifact + targetPath: $(System.DefaultWorkingDirectory)/dist + artifactName: package-$(Build.BuildId)-$(Build.BuildNumber) + - output: pipelineArtifact + targetPath: $(System.DefaultWorkingDirectory)/packages + artifactName: npm-package-$(Build.BuildId)-$(Build.BuildNumber) steps: - checkout: self + - task: NodeTool@0 + displayName: "Installing node" + inputs: + versionSpec: "16" - script: yarn --frozen-lockfile displayName: yarn - - script: yarn ci-test + - script: yarn build && yarn test:ci displayName: build and test [test] - - task: 1ES.PublishPipelineArtifact@1 - displayName: "Publish built package" - inputs: - artifactName: package-$(Build.BuildNumber) - targetPath: $(System.DefaultWorkingDirectory)/dist - - script: | mkdir -p $(System.DefaultWorkingDirectory)/packages npm pack --pack-destination $(System.DefaultWorkingDirectory)/packages displayName: "Generate npm package (.tgz)" - # - task: EsrpRelease@9 - # displayName: "ESRP Release to npm" - # inputs: - # connectedservicename: $(Release.ConnectedServiceName) - # usemanagedidentity: true - # keyvaultname: $(Release.KeyVaultName) - # signcertname: $(Release.SignCertName) - # clientid: $(Release.ClientId) - # contenttype: "npm" - # folderlocation: $(System.DefaultWorkingDirectory)/packages - # owners: $(Release.Owners) - # approvers: $(Release.Approvers) - # mainpublisher: ESRPRELPACMAN - # domaintenantid: $(Release.DomainTenantId) - - - task: 1ES.PublishPipelineArtifact@1 - displayName: 📒 Publish Manifest + - job: Release + displayName: ObjectStoreProvider Release + dependsOn: Build + pool: + name: Azure-Pipelines-1ESPT-ExDShared + image: ubuntu-latest + os: linux + templateContext: + type: releaseJob + isProduction: true + inputs: + - input: pipelineArtifact + artifactName: npm-package-$(Build.BuildId)-$(Build.BuildNumber) + targetPath: $(Pipeline.Workspace)/packages + steps: + - task: EsrpRelease@9 + displayName: "ESRP Release to npm" inputs: - artifactName: SBom-$(System.JobAttempt) - targetPath: $(System.DefaultWorkingDirectory)/_manifest + connectedservicename: $(Release.ConnectedServiceName) + usemanagedidentity: true + keyvaultname: $(Release.KeyVaultName) + signcertname: $(Release.SignCertName) + clientid: $(Release.ClientId) + contenttype: "npm" + folderlocation: $(Pipeline.Workspace)/packages + owners: $(Release.Owners) + approvers: $(Release.Approvers) + mainpublisher: ESRPRELPACMAN + domaintenantid: $(Release.DomainTenantId) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 1792495..4ae0e01 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -26,7 +26,7 @@ jobs: # Sets up Node and an .npmrc file. This is the official Github supported way to set up node. - uses: actions/setup-node@v4 with: - node-version: "12" + node-version: "16" registry-url: "https://registry.npmjs.org" cache: "yarn" always-auth: "true" @@ -44,7 +44,7 @@ jobs: run: echo "CHROME_BIN = $CHROME_BIN FIREFOX_BIN = $FIREFOX_BIN" - name: CI BUILD + UT - run: yarn ci-test + run: yarn build && yarn test - name: Check whether version was bumped in PR id: actions_project_version_check diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml index d546abe..ee53cc7 100644 --- a/.github/workflows/push.yml +++ b/.github/workflows/push.yml @@ -43,9 +43,9 @@ jobs: run: echo "CHROME_BIN = $CHROME_BIN FIREFOX_BIN = $FIREFOX_BIN" - name: CI BUILD + UT - run: yarn ci-test + run: yarn build && yarn test - - name: Publish package - run: yarn publish --access public - env: - NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + # - name: Publish package + # run: yarn publish --access public + # env: + # NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} diff --git a/README.md b/README.md index 73579ba..bdbb0c7 100644 --- a/README.md +++ b/README.md @@ -44,7 +44,7 @@ yarn build ```bash yarn install -yarn ci-test +yarn build && yarn test ``` ## Testing diff --git a/package.json b/package.json index 790984d..fefd5ae 100644 --- a/package.json +++ b/package.json @@ -1,14 +1,17 @@ { "name": "@microsoft/objectstoreprovider", - "version": "0.8.2", + "version": "0.8.4", "description": "A cross-browser object store library", - "author": "Mukundan Kavanur Kidambi ", + "author": "DataStack Team eleretzk@microsoft.com", "scripts": { - "ci-test": "npm run build && npm run test", "test": "npm run test:browser -- --single-run && npm run test:sharedworker -- --single-run && npm run test:webworker -- --single-run && npm run test:btree", + "test:ci": "npm run test:browser:ci -- --single-run && npm run test:sharedworker:ci -- --single-run && npm run test:webworker:ci -- --single-run && npm run test:btree", "test:browser": "npx karma start karma.browser.conf.js --browsers ChromeHeadless,FirefoxHeadless", + "test:browser:ci": "npx karma start karma.browser.conf.js --browsers ChromeHeadless", "test:sharedworker": "npx karma start karma.webworker.conf.js --browsers ChromeHeadless,FirefoxHeadless", + "test:sharedworker:ci": "npx karma start karma.webworker.conf.js --browsers ChromeHeadless", "test:webworker": "npx karma start karma.sharedworker.conf.js --browsers ChromeHeadless,FirefoxHeadless", + "test:webworker:ci": "npx karma start karma.sharedworker.conf.js --browsers ChromeHeadless", "test:debug:browser": "npx karma start karma.browser.conf.js --browsers Chrome,Firefox", "test:debug:sharedworker": "npx karma start karma.webworker.conf.js --browsers Chrome,Firefox", "test:debug:webworker": "npx karma start karma.sharedworker.conf.js --browsers Chrome,Firefox",