Skip to content

Commit 310aa95

Browse files
castroddejizba
andauthored
Adopt 1ES Pipeline Templates (#603)
* Add mirror pipeline * Use 1ES PT * Restructure changes * Add public and official build * Change to official template Co-authored-by: Eric Jizba <[email protected]> * Address PR comments --------- Co-authored-by: Eric Jizba <[email protected]>
1 parent f5ae3b3 commit 310aa95

File tree

5 files changed

+162
-2
lines changed

5 files changed

+162
-2
lines changed

azure-pipelines/official-build.yml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
trigger:
2+
branches:
3+
include:
4+
- v3.x
5+
batch: true
6+
7+
# CI only
8+
pr: none
9+
10+
resources:
11+
repositories:
12+
- repository: 1esPipelines
13+
type: git
14+
name: 1ESPipelineTemplates/1ESPipelineTemplates
15+
ref: refs/tags/release
16+
17+
extends:
18+
template: v1/1ES.Official.PipelineTemplate.yml@1esPipelines
19+
parameters:
20+
pool:
21+
name: 1es-pool-azfunc
22+
image: 1es-windows-2022
23+
os: windows
24+
25+
stages:
26+
- stage: WindowsUnitTests
27+
dependsOn: []
28+
jobs:
29+
- template: /azure-pipelines/templates/test.yml@self
30+
31+
- stage: LinuxUnitTests
32+
dependsOn: []
33+
jobs:
34+
- template: /azure-pipelines/templates/test.yml@self
35+
pool:
36+
name: 1es-pool-azfunc
37+
image: 1es-ubuntu-22.04
38+
os: linux
39+
40+
- stage: Build
41+
dependsOn: []
42+
jobs:
43+
- template: /azure-pipelines/templates/build.yml@self

azure-pipelines/public-build.yml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
trigger:
2+
branches:
3+
include:
4+
- v3.x
5+
batch: true
6+
7+
pr:
8+
branches:
9+
include:
10+
- v3.x
11+
12+
resources:
13+
repositories:
14+
- repository: 1esPipelines
15+
type: git
16+
name: 1ESPipelineTemplates/1ESPipelineTemplates
17+
ref: refs/tags/release
18+
19+
extends:
20+
template: v1/1ES.Unofficial.PipelineTemplate.yml@1esPipelines
21+
parameters:
22+
pool:
23+
name: 1es-pool-azfunc-public
24+
image: 1es-windows-2022
25+
os: windows
26+
27+
stages:
28+
- stage: WindowsUnitTests
29+
dependsOn: []
30+
jobs:
31+
- template: /azure-pipelines/templates/test.yml@self
32+
33+
- stage: LinuxUnitTests
34+
dependsOn: []
35+
jobs:
36+
- template: /azure-pipelines/templates/test.yml@self
37+
pool:
38+
name: 1es-pool-azfunc-public
39+
image: 1es-ubuntu-22.04
40+
os: linux
41+
42+
- stage: Build
43+
dependsOn: []
44+
jobs:
45+
- template: /azure-pipelines/templates/build.yml@self
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
jobs:
2+
- job:
3+
templateContext:
4+
outputs:
5+
- output: pipelineArtifact
6+
path: $(Build.ArtifactStagingDirectory)
7+
artifact: drop
8+
sbomBuildDropPath: "$(System.DefaultWorkingDirectory)"
9+
sbomPackageName: "Durable Functions for Node.js"
10+
# The list of components can't be determined from the webpacked file in the staging dir, so reference the original node_modules folder
11+
sbomBuildComponentPath: "$(Build.SourcesDirectory)/node_modules"
12+
steps:
13+
- task: NodeTool@0
14+
inputs:
15+
versionSpec: 20.x
16+
displayName: "Install Node.js"
17+
- script: npm ci
18+
displayName: "npm ci"
19+
- script: npm run-script build
20+
displayName: "npm run-script build"
21+
- script: npm prune --production
22+
displayName: "npm prune --production" # so that only production dependencies are included in SBOM
23+
- script: npm pack
24+
displayName: "pack npm package"
25+
- task: CopyFiles@2
26+
displayName: "Copy package to staging"
27+
inputs:
28+
SourceFolder: $(System.DefaultWorkingDirectory)
29+
Contents: "*.tgz"
30+
TargetFolder: $(Build.ArtifactStagingDirectory)

azure-pipelines/templates/test.yml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
jobs:
2+
- job: UnitTests
3+
4+
strategy:
5+
matrix:
6+
Node18:
7+
NODE_VERSION: "18.x"
8+
Node20:
9+
NODE_VERSION: "20.x"
10+
11+
steps:
12+
- task: NodeTool@0
13+
inputs:
14+
versionSpec: $(NODE_VERSION)
15+
displayName: "Install Node dependencies"
16+
- script: npm ci
17+
displayName: "npm ci"
18+
- script: npm run test
19+
displayName: "npm build and test"
20+
- script: npm run test:nolint
21+
displayName: "npm build and test (no linting)"
22+
- script: npm run build
23+
displayName: "npm run build"
24+
- script: npm pack
25+
displayName: "npm pack"
26+
- script: mv durable-functions-*.tgz package.tgz
27+
displayName: "Rename package file"
28+
- task: CopyFiles@2
29+
displayName: "Create smoke test app"
30+
inputs:
31+
SourceFolder: "$(System.DefaultWorkingDirectory)/test/test-app"
32+
Contents: "**"
33+
TargetFolder: "$(Agent.BuildDirectory)/test-app"
34+
CleanTargetFolder: true
35+
- script: npm install $(System.DefaultWorkingDirectory)/package.tgz
36+
displayName: "Install packed durable-functions module (test app)"
37+
workingDirectory: $(Agent.BuildDirectory)/test-app
38+
- script: npm install
39+
displayName: "npm install (test app)"
40+
workingDirectory: $(Agent.BuildDirectory)/test-app
41+
- script: npm run build
42+
displayName: "Build smoke test app"
43+
workingDirectory: "$(Agent.BuildDirectory)/test-app"

package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@
1313
],
1414
"files": [
1515
"lib/src",
16-
"types/",
17-
"_manifest"
16+
"types/"
1817
],
1918
"main": "lib/src/index.js",
2019
"types": "types/index.d.ts",

0 commit comments

Comments
 (0)