Skip to content

Commit

Permalink
Dev builds building daily - script for updating dependencies (#5135)
Browse files Browse the repository at this point in the history
We no longer need to update the dependency versions because source
dependencies have been removed. Each library now pulls released (or
nightly) binary versions of Azure SDK dependencies from the appropriate
feed.

Since this removes the need for external dependencies, this commit also
demotes the tool from a Node package to a simple script.
  • Loading branch information
KarishmaGhiya authored Nov 6, 2019
1 parent 0a0677f commit f6888e1
Show file tree
Hide file tree
Showing 6 changed files with 43 additions and 18 deletions.
2 changes: 1 addition & 1 deletion .docsettings.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ known_content_issues:
- ["sdk/template/template/README.md", "#1583"]
- ["sdk/appconfiguration/app-configuration/README.md", "#1583"]
- ["sdk/appconfiguration/app-configuration/samples/readme.md", "#1583"]
- ["sdk/applicationinsights/applicationinsights-query/README.md", "#1583"]
- ["sdk/applicationinsights/applicationinsights-query/README.md", "#1583"]
- ["sdk/batch/batch/README.md", "#1583"]
- [
"sdk/cognitiveservices/cognitiveservices-anomalydetector/README.md",
Expand Down
30 changes: 22 additions & 8 deletions eng/pipelines/templates/jobs/archetype-sdk-client.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ parameters:
RunUnitTests: true
Artifacts: []
ServiceDirectory: not-specified
DocDirectory: ""
Matrix:
Linux_Node8:
OSVmImage: "ubuntu-16.04"
Expand Down Expand Up @@ -48,16 +47,33 @@ jobs:
- template: ../steps/common.yml

- script: |
node common/scripts/install-run-rush.js install
displayName: "Install dependencies"
- pwsh: |
$folder = "${{parameters.ServiceDirectory}}"
if ($folder -eq "*") { $folder = "" }
echo "##vso[task.setvariable variable=folder]$folder"
displayName: "Set folder variable for readme links"
- pwsh: |
$setDailyDevBuild = "false"
if (('$(Build.Reason)' -eq 'Schedule') -and ('$(System.TeamProject)' -eq 'internal')) {
$setDailyDevBuild = "true"
}
echo "##vso[task.setvariable variable=SetDevVersion]$setDailyDevBuild"
displayName: "Setup Versioning Properties"
condition: eq(variables['SetDevVersion'], '')
- script: |
npm install ./eng/tools/versioning
node eng/tools/versioning/set-dev.js --build-id "$(Build.BuildNumber)" --repo-root "$(Build.SourcesDirectory)" --service "$(folder)"
node common/scripts/install-run-rush.js update
condition: eq(variables['SetDevVersion'],'true')
displayName: "Update package versions for dev build"
- script: |
node common/scripts/install-run-rush.js install
condition: ne(variables['SetDevVersion'],'true')
displayName: "Install dependencies"
- template: eng/pipelines/templates/scripts/replace-relative-links.yml@azure-sdk-tools
parameters:
TargetFolder: $(Build.SourcesDirectory)/sdk/$(folder)
Expand Down Expand Up @@ -102,9 +118,7 @@ jobs:
displayName: "Install tool dependencies"
- pwsh: |
$docDirectory = "${{parameters.DocDirectory}}"
if ($docDirectory -eq "") { $docDirectory = "${{parameters.ServiceDirectory}}" }
node $(Build.SourcesDirectory)/eng/tools/generate-doc/index.js --dgOp "dg" -i "inc" --inc "$docDirectory"
node $(Build.SourcesDirectory)/eng/tools/generate-doc/index.js --dgOp "dg" -i "inc" --inc "{{parameters.ServiceDirectory}}"
displayName: "Run Typedoc Docs"
- pwsh: |
Expand Down
2 changes: 0 additions & 2 deletions eng/pipelines/templates/stages/archetype-sdk-client.yml
Original file line number Diff line number Diff line change
@@ -1,15 +1,13 @@
parameters:
Artifacts: []
ServiceDirectory: not-specified
DocDirectory: ""

stages:
- stage: Build
jobs:
- template: ../jobs/archetype-sdk-client.yml
parameters:
ServiceDirectory: ${{parameters.ServiceDirectory}}
DocDirectory: ${{parameters.DocDirectory}}

# The Prerelease and Release stages are conditioned on whether we are building a pull request and the branch.
- ${{if and(ne(variables['Build.Reason'], 'PullRequest'), eq(variables['System.TeamProject'], 'internal'))}}:
Expand Down
12 changes: 10 additions & 2 deletions eng/tools/versioning/set-dev.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,15 +33,23 @@ async function main(argv) {
const repoRoot = argv["repo-root"];
const service = argv["service"];

const rushSpec = await versionUtils.getRushSpec(repoRoot);
var rushSpec = await versionUtils.getRushSpec(repoRoot);

console.log(`Updating packages with Build ID ${buildId}`);

const scopedPackages = rushSpec.projects.filter(package =>
service ? package.projectFolder.startsWith(`sdk/${service}`) : true
);

let targetPackages = scopedPackages.map(project =>
let appropriateVersionedPackages = scopedPackages.filter(
package =>
package.versionPolicyName == "core" ||
package.versionPolicyName == "client"
);

console.log(appropriateVersionedPackages);

let targetPackages = appropriateVersionedPackages.map(project =>
path.resolve(path.join(repoRoot, project.projectFolder))
);

Expand Down
12 changes: 9 additions & 3 deletions rush.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,12 @@
* The default value is false to avoid legacy compatibility issues.
* It is strongly recommended to set strictPeerDependencies=true.
*/
"strictPeerDependencies": true,
/*
* Turning off peerdependencies check until our repo is free from all peer dependencies
* or till Rush fixes the bug - https: //github.com/microsoft/rushstack/issues/1415
* https: //github.com/Azure/azure-sdk-for-js/issues/5999
*/
"strictPeerDependencies": false,
/**
* Configures the strategy used to select versions during installation.
*
Expand Down Expand Up @@ -359,8 +364,9 @@
},
{
"packageName": "@azure/core-lro",
"projectFolder": "sdk/core/core-lro"
},
"projectFolder": "sdk/core/core-lro",
"versionPolicyName": "core"
},
{
"packageName": "@azure/core-paging",
"projectFolder": "sdk/core/core-paging",
Expand Down
3 changes: 1 addition & 2 deletions sdk/core/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,7 @@ pr:
stages:
- template: ../../eng/pipelines/templates/stages/archetype-sdk-client.yml
parameters:
ServiceDirectory: "*"
DocDirectory: "core"
ServiceDirectory: "core"
Artifacts:
- name: azure-abort-controller
safeName: azureabortcontroller
Expand Down

0 comments on commit f6888e1

Please sign in to comment.