diff --git a/.github/actions/action-utils.js b/.github/actions/action-utils.js index b401cf2a1ba..888b1da8b95 100644 --- a/.github/actions/action-utils.js +++ b/.github/actions/action-utils.js @@ -2,21 +2,22 @@ const util = require("util"); const fs = require("fs"); const jsExec = util.promisify(require("child_process").exec); -module.exports.installAndRequirePackages = async function(...newPackages) -{ +module.exports.installAndRequirePackages = async function (...packages) { + // Back-compat: allow strings ("@actions/core") as well as objects ({ name, version }) + const normalized = packages.map(p => typeof p === "string" ? { name: p } : p); + + const installSpecs = normalized.map(p => + p.version ? `${p.name}@${p.version}` : p.name + ); + console.log("Installing npm dependency"); - const { stdout, stderr } = await jsExec(`npm install ${newPackages.join(' ')}`); + const { stdout, stderr } = await jsExec(`npm install ${installSpecs.join(" ")}`); console.log("npm-install stderr:\n\n" + stderr); console.log("npm-install stdout:\n\n" + stdout); console.log("Finished installing npm dependencies"); - let requiredPackages = []; - for (const packageName of newPackages) { - requiredPackages.push(require(packageName)); - } - - return requiredPackages; -} + return normalized.map(p => require(p.name)); +}; function splitVersionTag(tag) { const regex = /v(?\d+)\.(?\d+)\.(?\d+)(-(?[a-zA-Z]+)\.(?\d+))?/; diff --git a/.github/actions/generate-release-notes/index.js b/.github/actions/generate-release-notes/index.js index f981e769965..68c063e7d15 100644 --- a/.github/actions/generate-release-notes/index.js +++ b/.github/actions/generate-release-notes/index.js @@ -5,7 +5,7 @@ const UpdateReleaseNotesLabel = "update-release-notes"; const BackportLabel = "backport"; async function run() { - const [core, github] = await actionUtils.installAndRequirePackages("@actions/core", "@actions/github"); + const [core, github] = await actionUtils.installAndRequirePackages({ name: "@actions/core", version: "2" }, { name: "@actions/github", version: "8" }); const octokit = github.getOctokit(core.getInput("auth_token", { required: true })); diff --git a/.github/actions/learning-path-staleness-check/index.js b/.github/actions/learning-path-staleness-check/index.js index 4d6a5ddc7c1..e466449a27d 100644 --- a/.github/actions/learning-path-staleness-check/index.js +++ b/.github/actions/learning-path-staleness-check/index.js @@ -202,7 +202,7 @@ function ValidateLinks(learningPathContents, repoURLToSearch, modifiedPRFiles, l const main = async () => { - const [core] = await actionUtils.installAndRequirePackages("@actions/core"); + const [core] = await actionUtils.installAndRequirePackages({ name: "@actions/core", version: "2" }); try { const learningPathDirectory = core.getInput('learningPathsDirectory', { required: true }); diff --git a/.github/actions/update-releases-json/index.js b/.github/actions/update-releases-json/index.js index c93391508c0..35487e98b4f 100644 --- a/.github/actions/update-releases-json/index.js +++ b/.github/actions/update-releases-json/index.js @@ -2,7 +2,7 @@ const actionUtils = require('../action-utils.js'); const path = require('path'); async function run() { - const [core, github] = await actionUtils.installAndRequirePackages("@actions/core", "@actions/github"); + const [core, github] = await actionUtils.installAndRequirePackages({ name: "@actions/core", version: "2" }, { name: "@actions/github", version: "8" }); const releasesDataFile = core.getInput("releases_json_file", { required: true }); let octokit = undefined; diff --git a/.github/actions/update-releases-md/index.js b/.github/actions/update-releases-md/index.js index 2290832036f..0739202f0fd 100644 --- a/.github/actions/update-releases-md/index.js +++ b/.github/actions/update-releases-md/index.js @@ -1,7 +1,7 @@ const actionUtils = require('../action-utils.js'); async function run() { - const [core, github] = await actionUtils.installAndRequirePackages("@actions/core", "@actions/github"); + const [core, github] = await actionUtils.installAndRequirePackages({ name: "@actions/core", version: "2" }, { name: "@actions/github", version: "8" }); const releasesDataFile = core.getInput("releases_json_file", { required: true }); const outputFile = core.getInput("releases_md_file", { required: true }); diff --git a/.github/workflows/spellcheck.yml b/.github/workflows/spellcheck.yml index 5b85eba8c85..e5ad211d602 100644 --- a/.github/workflows/spellcheck.yml +++ b/.github/workflows/spellcheck.yml @@ -17,7 +17,7 @@ jobs: with: persist-credentials: false - - uses: streetsidesoftware/cspell-action@9cd41bb518a24fefdafd9880cbab8f0ceba04d28 + - uses: streetsidesoftware/cspell-action@de2a73e963e7443969755b648a1008f77033c5b2 name: Documentation spellcheck if: ${{ !cancelled() }} with: @@ -25,7 +25,7 @@ jobs: inline: error incremental_files_only: true - - uses: streetsidesoftware/cspell-action@9cd41bb518a24fefdafd9880cbab8f0ceba04d28 + - uses: streetsidesoftware/cspell-action@de2a73e963e7443969755b648a1008f77033c5b2 name: Resx spellcheck if: ${{ !cancelled() }} with: @@ -33,7 +33,7 @@ jobs: inline: error incremental_files_only: true - - uses: streetsidesoftware/cspell-action@9cd41bb518a24fefdafd9880cbab8f0ceba04d28 + - uses: streetsidesoftware/cspell-action@de2a73e963e7443969755b648a1008f77033c5b2 name: Source code spellcheck if: ${{ !cancelled() }} with: diff --git a/.github/workflows/submit-to-do-issue.yml b/.github/workflows/submit-to-do-issue.yml index 2f600a39850..5ec6846acd1 100644 --- a/.github/workflows/submit-to-do-issue.yml +++ b/.github/workflows/submit-to-do-issue.yml @@ -35,7 +35,7 @@ jobs: # The default artifact download action doesn't support cross-workflow # artifacts, so use a 3rd party one. - name: 'Download linting results' - uses: dawidd6/action-download-artifact@8a338493df3d275e4a7a63bcff3b8fe97e51a927 + uses: dawidd6/action-download-artifact@8305c0f1062bb0d184d09ef4493ecb9288447732 with: workflow: ${{env.workflow_name}} run_id: ${{github.event.workflow_run.id }} diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 88a288c497e..f209cecbfc8 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -22,25 +22,25 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-dotnet b0f34d51fccc69fd334253924abd8d6853fad7aa - + https://github.com/dotnet/arcade - 62dc2defffeadabf6761a9ed7e142692107330c0 + 2ad6e0a00c692279222642dbcd6e72eb21572d93 - + https://github.com/dotnet/arcade - 62dc2defffeadabf6761a9ed7e142692107330c0 + 2ad6e0a00c692279222642dbcd6e72eb21572d93 - + https://github.com/dotnet/arcade - 62dc2defffeadabf6761a9ed7e142692107330c0 + 2ad6e0a00c692279222642dbcd6e72eb21572d93 - + https://github.com/dotnet/arcade - 62dc2defffeadabf6761a9ed7e142692107330c0 + 2ad6e0a00c692279222642dbcd6e72eb21572d93 - + https://github.com/dotnet/arcade - 62dc2defffeadabf6761a9ed7e142692107330c0 + 2ad6e0a00c692279222642dbcd6e72eb21572d93 https://github.com/dotnet/diagnostics diff --git a/eng/Versions.props b/eng/Versions.props index 091b0ab8107..08767d0cbdd 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -56,9 +56,9 @@ 10.0.0 10.0.100 - 10.0.0-beta.26177.7 - 10.0.0-beta.26177.7 - 10.0.0-beta.26177.7 + 10.0.0-beta.26201.4 + 10.0.0-beta.26201.4 + 10.0.0-beta.26201.4 10.0.0 2.0.0 10.0.0-rtm.25523.111 diff --git a/eng/dependabot/independent/Versions.props b/eng/dependabot/independent/Versions.props index 4f9d00d9740..b24d54c3cba 100644 --- a/eng/dependabot/independent/Versions.props +++ b/eng/dependabot/independent/Versions.props @@ -6,7 +6,7 @@ 1.20.0 12.27.0 12.25.0 - 4.6.0 + 4.7.0 1.6.28 4.3.2 5.0.0 @@ -14,8 +14,8 @@ 13.0.4 11.5.2 - 4.0.19.4 - 4.0.5.15 + 4.0.20.4 + 4.0.5.19 + + ReferenceOutputAssembly="false" + Private="false" />