Skip to content
This repository was archived by the owner on Sep 20, 2024. It is now read-only.

Commit 84a5eee

Browse files
authored
Merge pull request #2189 from howdyai/bruce/botkitsetup1-19
Set up CI and daily builds
2 parents f9596f4 + 66ea04d commit 84a5eee

File tree

3 files changed

+135
-30
lines changed

3 files changed

+135
-30
lines changed

azure-pipelines.yml renamed to build/botkit-ci.yml

Lines changed: 20 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ steps:
1414
inputs:
1515
versionSpec: '14.x'
1616
checkLatest: true
17-
displayName: 'Install Node.js'
17+
displayName: 'Install Node.js 14.x'
1818

1919
- task: Bash@3
2020
inputs:
@@ -24,46 +24,47 @@ steps:
2424
rm -r packages/docs
2525
2626
echo "rebase main package-lock"
27-
cat package-lock.json | node scripts/rebasePackageLock.js https://fuselabs.pkgs.visualstudio.com/_packaging/FuseNPM/npm/registry/ > new-package-lock.json
27+
cat package-lock.json | node build/scripts/rebasePackageLock.js https://fuselabs.pkgs.visualstudio.com/_packaging/FuseNPM/npm/registry/ > new-package-lock.json
2828
echo "moving file..."
2929
mv new-package-lock.json package-lock.json
3030
3131
echo "rebase facebook adapter"
32-
cat packages/botbuilder-adapter-facebook/package-lock.json | node scripts/rebasePackageLock.js https://fuselabs.pkgs.visualstudio.com/_packaging/FuseNPM/npm/registry/ > packages/botbuilder-adapter-facebook/new-package-lock.json
32+
cat packages/botbuilder-adapter-facebook/package-lock.json | node build/scripts/rebasePackageLock.js https://fuselabs.pkgs.visualstudio.com/_packaging/FuseNPM/npm/registry/ > packages/botbuilder-adapter-facebook/new-package-lock.json
3333
echo "moving file..."
3434
mv packages/botbuilder-adapter-facebook/new-package-lock.json packages/botbuilder-adapter-facebook/package-lock.json
3535
3636
echo "rebase hangouts adapter"
37-
cat packages/botbuilder-adapter-hangouts/package-lock.json | node scripts/rebasePackageLock.js https://fuselabs.pkgs.visualstudio.com/_packaging/FuseNPM/npm/registry/ > packages/botbuilder-adapter-hangouts/new-package-lock.json
37+
cat packages/botbuilder-adapter-hangouts/package-lock.json | node build/scripts/rebasePackageLock.js https://fuselabs.pkgs.visualstudio.com/_packaging/FuseNPM/npm/registry/ > packages/botbuilder-adapter-hangouts/new-package-lock.json
3838
mv packages/botbuilder-adapter-hangouts/new-package-lock.json packages/botbuilder-adapter-hangouts/package-lock.json
3939
4040
echo "rebase slack adapter..."
41-
cat packages/botbuilder-adapter-slack/package-lock.json | node scripts/rebasePackageLock.js https://fuselabs.pkgs.visualstudio.com/_packaging/FuseNPM/npm/registry/ > packages/botbuilder-adapter-slack/new-package-lock.json
41+
cat packages/botbuilder-adapter-slack/package-lock.json | node build/scripts/rebasePackageLock.js https://fuselabs.pkgs.visualstudio.com/_packaging/FuseNPM/npm/registry/ > packages/botbuilder-adapter-slack/new-package-lock.json
4242
mv packages/botbuilder-adapter-slack/new-package-lock.json packages/botbuilder-adapter-slack/package-lock.json
4343
4444
echo "rebase twilio adapter..."
45-
cat packages/botbuilder-adapter-twilio-sms/package-lock.json | node scripts/rebasePackageLock.js https://fuselabs.pkgs.visualstudio.com/_packaging/FuseNPM/npm/registry/ > packages/botbuilder-adapter-twilio-sms/new-package-lock.json
45+
cat packages/botbuilder-adapter-twilio-sms/package-lock.json | node build/scripts/rebasePackageLock.js https://fuselabs.pkgs.visualstudio.com/_packaging/FuseNPM/npm/registry/ > packages/botbuilder-adapter-twilio-sms/new-package-lock.json
4646
mv packages/botbuilder-adapter-twilio-sms/new-package-lock.json packages/botbuilder-adapter-twilio-sms/package-lock.json
4747
4848
echo "rebase web adapter..."
49-
cat packages/botbuilder-adapter-web/package-lock.json | node scripts/rebasePackageLock.js https://fuselabs.pkgs.visualstudio.com/_packaging/FuseNPM/npm/registry/ > packages/botbuilder-adapter-web/new-package-lock.json
49+
cat packages/botbuilder-adapter-web/package-lock.json | node build/scripts/rebasePackageLock.js https://fuselabs.pkgs.visualstudio.com/_packaging/FuseNPM/npm/registry/ > packages/botbuilder-adapter-web/new-package-lock.json
5050
mv packages/botbuilder-adapter-web/new-package-lock.json packages/botbuilder-adapter-web/package-lock.json
5151
5252
echo "rebase webex adapter..."
53-
cat packages/botbuilder-adapter-webex/package-lock.json | node scripts/rebasePackageLock.js https://fuselabs.pkgs.visualstudio.com/_packaging/FuseNPM/npm/registry/ > packages/botbuilder-adapter-webex/new-package-lock.json
53+
cat packages/botbuilder-adapter-webex/package-lock.json | node build/scripts/rebasePackageLock.js https://fuselabs.pkgs.visualstudio.com/_packaging/FuseNPM/npm/registry/ > packages/botbuilder-adapter-webex/new-package-lock.json
5454
mv packages/botbuilder-adapter-webex/new-package-lock.json packages/botbuilder-adapter-webex/package-lock.json
5555
5656
echo "rebase cms plugin..."
57-
cat packages/botkit-plugin-cms/package-lock.json | node scripts/rebasePackageLock.js https://fuselabs.pkgs.visualstudio.com/_packaging/FuseNPM/npm/registry/ > packages/botkit-plugin-cms/new-package-lock.json
57+
cat packages/botkit-plugin-cms/package-lock.json | node build/scripts/rebasePackageLock.js https://fuselabs.pkgs.visualstudio.com/_packaging/FuseNPM/npm/registry/ > packages/botkit-plugin-cms/new-package-lock.json
5858
mv packages/botkit-plugin-cms/new-package-lock.json packages/botkit-plugin-cms/package-lock.json
5959
6060
echo "rebase botkit..."
61-
cat packages/botkit/package-lock.json | node scripts/rebasePackageLock.js https://fuselabs.pkgs.visualstudio.com/_packaging/FuseNPM/npm/registry/ > packages/botkit/new-package-lock.json
61+
cat packages/botkit/package-lock.json | node build/scripts/rebasePackageLock.js https://fuselabs.pkgs.visualstudio.com/_packaging/FuseNPM/npm/registry/ > packages/botkit/new-package-lock.json
6262
mv packages/botkit/new-package-lock.json packages/botkit/package-lock.json
6363
6464
echo "rebase generator..."
65-
cat packages/generator-botkit/package-lock.json | node scripts/rebasePackageLock.js https://fuselabs.pkgs.visualstudio.com/_packaging/FuseNPM/npm/registry/ > packages/generator-botkit/new-package-lock.json
65+
cat packages/generator-botkit/package-lock.json | node build/scripts/rebasePackageLock.js https://fuselabs.pkgs.visualstudio.com/_packaging/FuseNPM/npm/registry/ > packages/generator-botkit/new-package-lock.json
6666
mv packages/generator-botkit/new-package-lock.json packages/generator-botkit/package-lock.json
67+
displayName: 'Set up for FuseNPM feed'
6768

6869
- task: Bash@3
6970
inputs:
@@ -73,31 +74,20 @@ steps:
7374
lerna bootstrap --hoist
7475
lerna run build
7576
lerna run pack
76-
77-
- task: CopyFiles@2
78-
displayName: copy .tgz files to staging area
79-
inputs:
80-
SourceFolder: packages
81-
Contents: '*/*.tgz'
82-
TargetFolder: '$(Build.ArtifactStagingDirectory)'
83-
flattenFolders: true
77+
displayName: 'Build packages'
8478

8579
- task: ComponentGovernanceComponentDetection@0
80+
displayName: 'Component Detection'
8681
inputs:
8782
scanType: 'Register'
8883
verbosity: 'Verbose'
8984
alertWarningLevel: 'High'
9085
failOnAlert: false
91-
- task: CredScan@3
92-
inputs:
93-
scanFolder: 'packages'
9486

95-
- task: ManifestGeneratorTask@0
96-
inputs:
97-
BuildComponentPath: 'packages/'
98-
PackageName: 'Botkit'
87+
- task: CredScan@3
9988

100-
- task: PublishPipelineArtifact@1
101-
inputs:
102-
targetPath: '$(Pipeline.Workspace)'
103-
publishLocation: 'pipeline'
89+
- powershell: |
90+
Get-ChildItem .. -ErrorAction Continue -Recurse -Force | Where {$_.FullName -notlike "*node_modules*"}
91+
displayName: 'Dir workspace except node_modules'
92+
continueOnError: true
93+
condition: succeededOrFailed()

build/botkit-daily.yml

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
# Node.js
2+
# Build a general Node.js project with npm.
3+
# Add steps that analyze code, save build artifacts, deploy, and more:
4+
# https://docs.microsoft.com/azure/devops/pipelines/languages/javascript
5+
6+
trigger:
7+
- main
8+
9+
pool:
10+
vmImage: windows-latest
11+
12+
variables:
13+
Packaging.EnableSBOMSigning: true
14+
15+
steps:
16+
- task: NodeTool@0
17+
inputs:
18+
versionSpec: '14.x'
19+
checkLatest: true
20+
displayName: 'Install Node.js 14.x'
21+
22+
- task: Bash@3
23+
inputs:
24+
targetType: 'inline'
25+
script: |
26+
rm -r packages/testbot
27+
rm -r packages/docs
28+
29+
echo "rebase main package-lock"
30+
cat package-lock.json | node build/scripts/rebasePackageLock.js https://fuselabs.pkgs.visualstudio.com/_packaging/FuseNPM/npm/registry/ > new-package-lock.json
31+
echo "moving file..."
32+
mv new-package-lock.json package-lock.json
33+
34+
echo "rebase facebook adapter"
35+
cat packages/botbuilder-adapter-facebook/package-lock.json | node build/scripts/rebasePackageLock.js https://fuselabs.pkgs.visualstudio.com/_packaging/FuseNPM/npm/registry/ > packages/botbuilder-adapter-facebook/new-package-lock.json
36+
echo "moving file..."
37+
mv packages/botbuilder-adapter-facebook/new-package-lock.json packages/botbuilder-adapter-facebook/package-lock.json
38+
39+
echo "rebase hangouts adapter"
40+
cat packages/botbuilder-adapter-hangouts/package-lock.json | node build/scripts/rebasePackageLock.js https://fuselabs.pkgs.visualstudio.com/_packaging/FuseNPM/npm/registry/ > packages/botbuilder-adapter-hangouts/new-package-lock.json
41+
mv packages/botbuilder-adapter-hangouts/new-package-lock.json packages/botbuilder-adapter-hangouts/package-lock.json
42+
43+
echo "rebase slack adapter..."
44+
cat packages/botbuilder-adapter-slack/package-lock.json | node build/scripts/rebasePackageLock.js https://fuselabs.pkgs.visualstudio.com/_packaging/FuseNPM/npm/registry/ > packages/botbuilder-adapter-slack/new-package-lock.json
45+
mv packages/botbuilder-adapter-slack/new-package-lock.json packages/botbuilder-adapter-slack/package-lock.json
46+
47+
echo "rebase twilio adapter..."
48+
cat packages/botbuilder-adapter-twilio-sms/package-lock.json | node build/scripts/rebasePackageLock.js https://fuselabs.pkgs.visualstudio.com/_packaging/FuseNPM/npm/registry/ > packages/botbuilder-adapter-twilio-sms/new-package-lock.json
49+
mv packages/botbuilder-adapter-twilio-sms/new-package-lock.json packages/botbuilder-adapter-twilio-sms/package-lock.json
50+
51+
echo "rebase web adapter..."
52+
cat packages/botbuilder-adapter-web/package-lock.json | node build/scripts/rebasePackageLock.js https://fuselabs.pkgs.visualstudio.com/_packaging/FuseNPM/npm/registry/ > packages/botbuilder-adapter-web/new-package-lock.json
53+
mv packages/botbuilder-adapter-web/new-package-lock.json packages/botbuilder-adapter-web/package-lock.json
54+
55+
echo "rebase webex adapter..."
56+
cat packages/botbuilder-adapter-webex/package-lock.json | node build/scripts/rebasePackageLock.js https://fuselabs.pkgs.visualstudio.com/_packaging/FuseNPM/npm/registry/ > packages/botbuilder-adapter-webex/new-package-lock.json
57+
mv packages/botbuilder-adapter-webex/new-package-lock.json packages/botbuilder-adapter-webex/package-lock.json
58+
59+
echo "rebase cms plugin..."
60+
cat packages/botkit-plugin-cms/package-lock.json | node build/scripts/rebasePackageLock.js https://fuselabs.pkgs.visualstudio.com/_packaging/FuseNPM/npm/registry/ > packages/botkit-plugin-cms/new-package-lock.json
61+
mv packages/botkit-plugin-cms/new-package-lock.json packages/botkit-plugin-cms/package-lock.json
62+
63+
echo "rebase botkit..."
64+
cat packages/botkit/package-lock.json | node build/scripts/rebasePackageLock.js https://fuselabs.pkgs.visualstudio.com/_packaging/FuseNPM/npm/registry/ > packages/botkit/new-package-lock.json
65+
mv packages/botkit/new-package-lock.json packages/botkit/package-lock.json
66+
67+
echo "rebase generator..."
68+
cat packages/generator-botkit/package-lock.json | node build/scripts/rebasePackageLock.js https://fuselabs.pkgs.visualstudio.com/_packaging/FuseNPM/npm/registry/ > packages/generator-botkit/new-package-lock.json
69+
mv packages/generator-botkit/new-package-lock.json packages/generator-botkit/package-lock.json
70+
displayName: 'Set up for FuseNPM feed'
71+
72+
- task: Bash@3
73+
inputs:
74+
targetType: 'inline'
75+
script: |
76+
npm install --ignore-scripts
77+
lerna bootstrap --hoist
78+
lerna run build
79+
lerna run pack
80+
displayName: 'Build packages'
81+
82+
- task: CopyFiles@2
83+
displayName: copy .tgz files to staging area
84+
inputs:
85+
SourceFolder: packages
86+
Contents: '*/*.tgz'
87+
TargetFolder: '$(Build.ArtifactStagingDirectory)/drop'
88+
flattenFolders: true
89+
90+
- task: ComponentGovernanceComponentDetection@0
91+
displayName: 'Component Detection'
92+
inputs:
93+
scanType: 'Register'
94+
verbosity: 'Verbose'
95+
alertWarningLevel: 'High'
96+
failOnAlert: false
97+
98+
- task: AzureArtifacts.manifest-generator-task.manifest-generator-task.ManifestGeneratorTask@0
99+
displayName: 'Generate Software Bill of Materials (SBOM)'
100+
inputs:
101+
BuildDropPath: '$(Build.ArtifactStagingDirectory)/drop'
102+
PackageName: 'Microsoft Botkit'
103+
PackageVersion: $(ReleasePackageVersion)
104+
105+
- task: PublishBuildArtifacts@1
106+
displayName: 'Push .tgz files to Artifacts drop'
107+
inputs:
108+
PathtoPublish: '$(Build.ArtifactStagingDirectory)\drop'
109+
ArtifactName: drop
110+
111+
- powershell: |
112+
Get-ChildItem .. -ErrorAction Continue -Recurse -Force | Where {$_.FullName -notlike "*node_modules*"}
113+
displayName: 'Dir workspace except node_modules'
114+
continueOnError: true
115+
condition: succeededOrFailed()
File renamed without changes.

0 commit comments

Comments
 (0)