Compare commits

...
11 Commits
Author SHA1 Message Date
MSP-Greg ec02537da5 Lock @actions/cache to 3.0.6, later versions break bundler caching 2023-03-20 16:55:33 +01:00
Benoit Daloze 089557fc38 Require a public workflow run URL for issues 2023-03-20 16:52:53 +01:00
MSP-Greg e6689b4deb Update yarn.lock, remove Windows mswin ssl cert related code 2023-03-16 18:55:42 +01:00
ruby-builder-bot 9669f3ee51 Add jruby-9.4.2.0 2023-03-09 22:37:36 +01:00
Benoit Daloze 31a7f6d628 No longer remove the prefix before extraction, extracting should be idempotent
* Fixes https://github.com/ruby/setup-ruby/issues/191
2023-03-05 15:39:16 +01:00
Benoit Daloze 59b5745c73 Use tc.find() with the effective tool cache path
* So it finds already-download prebuilt Ruby in the GH-hosted tool cache path
  on self-hosted, where $RUNNER_TOOL_CACHE is often different than on GH-hosted.
* See #475.
* This relies on tc.find() looking up the env var every time:
  https://github.com/actions/toolkit/blob/1f4b3fac06/packages/tool-cache/src/tool-cache.ts#L522
2023-03-05 14:56:02 +01:00
Benoit Daloze d03a71de6e Fix tc.find() calls to use the proper name on self-hosted 2023-03-05 14:56:02 +01:00
Benoit Daloze ddde3938f5 Use the default tool cache path on self-hosted runners matching a GH-hosted runner image
* See https://github.com/ruby/setup-ruby/issues/475
* Semantically reverts 377a94bc68
2023-03-05 14:56:02 +01:00
Benoit Daloze 5a73aa9f67 Explain why it was detected as self-hosted 2023-03-03 18:01:46 +01:00
Benoit Daloze d01c52ad8b Add a self-hosted input to force considering the current runner as self-hosted
* Since checking for self-hosted is based on guessing as there is
  no proper predicate for it in GitHub Actions (AFAIK).
2023-03-03 18:01:46 +01:00
Benoit Daloze 377a94bc68 Consider a different $RUNNER_TOOL_CACHE than the default as a self-hosted runner
* Fixes https://github.com/ruby/setup-ruby/issues/242
2023-03-03 18:01:46 +01:00
11 changed files with 591 additions and 4686 deletions
+1 -13
View File
@@ -31,21 +31,9 @@ body:
- self-hosted runner - self-hosted runner
validations: validations:
required: true required: true
- type: textarea
attributes:
render: yaml
label: The workflow code or a link to the workflow file
validations:
required: true
- type: input - type: input
attributes: attributes:
label: Link to the log of a failed workflow job, or to a gist with the output label: Link to the failed workflow job (must be a public workflow job, so the necessary information is available)
validations:
required: true
- type: textarea
attributes:
render: shell
label: The command and output of the failing step
validations: validations:
required: true required: true
- type: textarea - type: textarea
+1 -1
View File
@@ -16,7 +16,7 @@ This action currently supports these versions of MRI, JRuby and TruffleRuby:
| Interpreter | Versions | | Interpreter | Versions |
| ----------- | -------- | | ----------- | -------- |
| `ruby` | 1.9.3, 2.0.0, 2.1.9, 2.2, all versions from 2.3.0 until 3.2.1, head, debug, mingw, mswin, ucrt | | `ruby` | 1.9.3, 2.0.0, 2.1.9, 2.2, all versions from 2.3.0 until 3.2.1, head, debug, mingw, mswin, ucrt |
| `jruby` | 9.1.17.0 - 9.4.1.0, head | | `jruby` | 9.1.17.0 - 9.4.2.0, head |
| `truffleruby` | 19.3.0 - 22.3.1, head | | `truffleruby` | 19.3.0 - 22.3.1, head |
| `truffleruby+graalvm` | 21.2.0 - 22.3.1, head | | `truffleruby+graalvm` | 21.2.0 - 22.3.1, head |
+5
View File
@@ -30,6 +30,11 @@ inputs:
description: | description: |
Arbitrary string that will be added to the cache key of the bundler cache. Set or change it if you need Arbitrary string that will be added to the cache key of the bundler cache. Set or change it if you need
to invalidate the cache. to invalidate the cache.
self-hosted:
description: |
Consider the runner as a self-hosted runner, which means not using prebuilt Ruby binaries which only work
on GitHub-hosted runners or self-hosted runners with a very similar image to the ones used by GitHub runners.
The default is to detect this automatically based on the OS, OS version and $RUNNER_TOOL_CACHE.
outputs: outputs:
ruby-prefix: ruby-prefix:
description: 'The prefix of the installed ruby' description: 'The prefix of the installed ruby'
+57 -11
View File
@@ -5,6 +5,7 @@ const util = require('util')
const stream = require('stream') const stream = require('stream')
const crypto = require('crypto') const crypto = require('crypto')
const core = require('@actions/core') const core = require('@actions/core')
const tc = require('@actions/tool-cache')
const { performance } = require('perf_hooks') const { performance } = require('perf_hooks')
const linuxOSInfo = require('linux-os-info') const linuxOSInfo = require('linux-os-info')
import macosRelease from 'macos-release' import macosRelease from 'macos-release'
@@ -13,6 +14,10 @@ export const windows = (os.platform() === 'win32')
// Extract to SSD on Windows, see https://github.com/ruby/setup-ruby/pull/14 // Extract to SSD on Windows, see https://github.com/ruby/setup-ruby/pull/14
export const drive = (windows ? (process.env['GITHUB_WORKSPACE'] || 'C')[0] : undefined) export const drive = (windows ? (process.env['GITHUB_WORKSPACE'] || 'C')[0] : undefined)
export const inputs = {
selfHosted: undefined
}
export function partition(string, separator) { export function partition(string, separator) {
const i = string.indexOf(separator) const i = string.indexOf(separator)
if (i === -1) { if (i === -1) {
@@ -162,9 +167,24 @@ const GitHubHostedPlatforms = [
'windows-2022-x64', 'windows-2022-x64',
] ]
// Actually a self-hosted runner which does not correspond to a GitHub-hosted runner image // Actually a self-hosted runner for which the OS and OS version does not correspond to a GitHub-hosted runner image,
export function isSelfHostedRunner() { export function isSelfHostedRunner() {
return !GitHubHostedPlatforms.includes(getOSNameVersionArch()) if (inputs.selfHosted === undefined) {
throw new Error('inputs.selfHosted should have been already set')
}
return inputs.selfHosted === 'true' ||
!GitHubHostedPlatforms.includes(getOSNameVersionArch())
}
export function selfHostedRunnerReason() {
if (inputs.selfHosted === 'true') {
return 'the self-hosted input was set'
} else if (!GitHubHostedPlatforms.includes(getOSNameVersionArch())) {
return 'the platform does not match a GitHub-hosted runner image (or that image is deprecated and no longer supported)'
} else {
return 'unknown reason'
}
} }
let virtualEnvironmentName = undefined let virtualEnvironmentName = undefined
@@ -213,35 +233,61 @@ export function shouldUseToolCache(engine, version) {
return (engine === 'ruby' && !isHeadVersion(version)) || isSelfHostedRunner() return (engine === 'ruby' && !isHeadVersion(version)) || isSelfHostedRunner()
} }
function getPlatformToolCache(platform) { export function getToolCachePath() {
if (isSelfHostedRunner()) { if (isSelfHostedRunner()) {
return getRunnerToolCache()
} else {
// Rubies prebuilt by this action embed this path rather than using $RUNNER_TOOL_CACHE
// so use that path is not isSelfHostedRunner()
return getDefaultToolCachePath()
}
}
export function getRunnerToolCache() {
const runnerToolCache = process.env['RUNNER_TOOL_CACHE'] const runnerToolCache = process.env['RUNNER_TOOL_CACHE']
if (!runnerToolCache) { if (!runnerToolCache) {
throw new Error('$RUNNER_TOOL_CACHE must be set on self-hosted runners') throw new Error('$RUNNER_TOOL_CACHE must be set')
} }
return runnerToolCache return runnerToolCache
} }
// Hardcode paths rather than using $RUNNER_TOOL_CACHE because the prebuilt Rubies cannot be moved anyway
// Rubies prebuilt by this action embed this path rather than using $RUNNER_TOOL_CACHE
function getDefaultToolCachePath() {
const platform = getVirtualEnvironmentName()
if (platform.startsWith('ubuntu-')) { if (platform.startsWith('ubuntu-')) {
return '/opt/hostedtoolcache' return '/opt/hostedtoolcache'
} else if (platform.startsWith('macos-')) { } else if (platform.startsWith('macos-')) {
return '/Users/runner/hostedtoolcache' return '/Users/runner/hostedtoolcache'
} else if (platform.startsWith('windows-')) { } else if (platform.startsWith('windows-')) {
return 'C:/hostedtoolcache/windows' return 'C:\\hostedtoolcache\\windows'
} else { } else {
throw new Error('Unknown platform') throw new Error('Unknown platform')
} }
} }
export function getToolCacheRubyPrefix(platform, engine, version) { // tc.find() but using RUNNER_TOOL_CACHE=getToolCachePath()
const toolCache = getPlatformToolCache(platform) export function toolCacheFind(engine, version) {
const name = { const originalToolCache = getToolCachePath()
process.env['RUNNER_TOOL_CACHE'] = getToolCachePath()
try {
return tc.find(engineToToolCacheName(engine), version)
} finally {
process.env['RUNNER_TOOL_CACHE'] = originalToolCache
}
}
function engineToToolCacheName(engine) {
return {
ruby: 'Ruby', ruby: 'Ruby',
jruby: 'JRuby', jruby: 'JRuby',
truffleruby: 'TruffleRuby', truffleruby: 'TruffleRuby',
"truffleruby+graalvm": 'TruffleRubyGraalVM' "truffleruby+graalvm": 'TruffleRubyGraalVM'
}[engine] }[engine]
return path.join(toolCache, name, version, os.arch()) }
export function getToolCacheRubyPrefix(platform, engine, version) {
const toolCache = getToolCachePath()
return path.join(toolCache, engineToToolCacheName(engine), version, os.arch())
} }
export function toolCacheCompleteFile(toolCacheRubyPrefix) { export function toolCacheCompleteFile(toolCacheRubyPrefix) {
Generated Vendored
+451 -4527
View File
File diff suppressed because one or more lines are too long
+2
View File
@@ -16,6 +16,7 @@ const inputDefaults = {
'bundler-cache': 'false', 'bundler-cache': 'false',
'working-directory': '.', 'working-directory': '.',
'cache-version': bundler.DEFAULT_CACHE_VERSION, 'cache-version': bundler.DEFAULT_CACHE_VERSION,
'self-hosted': 'false',
} }
// entry point when this action is run on its own // entry point when this action is run on its own
@@ -39,6 +40,7 @@ export async function setupRuby(options = {}) {
inputs[key] = core.getInput(key) || inputDefaults[key] inputs[key] = core.getInput(key) || inputDefaults[key]
} }
} }
common.inputs.selfHosted = inputs['self-hosted']
process.chdir(inputs['working-directory']) process.chdir(inputs['working-directory'])
+1 -1
View File
@@ -22,7 +22,7 @@
}, },
"homepage": "https://github.com/ruby/setup-ruby", "homepage": "https://github.com/ruby/setup-ruby",
"dependencies": { "dependencies": {
"@actions/cache": "^3", "@actions/cache": "3.0.6",
"@actions/core": "^1.10.0", "@actions/core": "^1.10.0",
"@actions/exec": "^1.1.1", "@actions/exec": "^1.1.1",
"@actions/io": "^1.1.2", "@actions/io": "^1.1.2",
+1 -1
View File
@@ -18,7 +18,7 @@
"9.1.17.0", "9.1.17.0",
"9.2.9.0", "9.2.10.0", "9.2.11.0", "9.2.11.1", "9.2.12.0", "9.2.13.0", "9.2.14.0", "9.2.15.0", "9.2.16.0", "9.2.17.0", "9.2.18.0", "9.2.19.0", "9.2.20.0", "9.2.20.1", "9.2.21.0", "9.2.9.0", "9.2.10.0", "9.2.11.0", "9.2.11.1", "9.2.12.0", "9.2.13.0", "9.2.14.0", "9.2.15.0", "9.2.16.0", "9.2.17.0", "9.2.18.0", "9.2.19.0", "9.2.20.0", "9.2.20.1", "9.2.21.0",
"9.3.0.0", "9.3.1.0", "9.3.2.0", "9.3.3.0", "9.3.4.0", "9.3.6.0", "9.3.7.0", "9.3.8.0", "9.3.9.0", "9.3.10.0", "9.3.0.0", "9.3.1.0", "9.3.2.0", "9.3.3.0", "9.3.4.0", "9.3.6.0", "9.3.7.0", "9.3.8.0", "9.3.9.0", "9.3.10.0",
"9.4.0.0", "9.4.1.0", "9.4.0.0", "9.4.1.0", "9.4.2.0",
"head" "head"
], ],
"truffleruby": [ "truffleruby": [
+4 -13
View File
@@ -20,7 +20,7 @@ export function getAvailableVersions(platform, engine) {
export async function install(platform, engine, version) { export async function install(platform, engine, version) {
let rubyPrefix, inToolCache let rubyPrefix, inToolCache
if (common.shouldUseToolCache(engine, version)) { if (common.shouldUseToolCache(engine, version)) {
inToolCache = tc.find('Ruby', version) inToolCache = common.toolCacheFind(engine, version)
if (inToolCache) { if (inToolCache) {
rubyPrefix = inToolCache rubyPrefix = inToolCache
} else { } else {
@@ -28,8 +28,8 @@ export async function install(platform, engine, version) {
if (common.isSelfHostedRunner()) { if (common.isSelfHostedRunner()) {
const rubyBuildDefinition = engine === 'ruby' ? version : `${engine}-${version}` const rubyBuildDefinition = engine === 'ruby' ? version : `${engine}-${version}`
core.error( core.error(
`The current runner (${common.getOSNameVersionArch()}) was detected as self-hosted and not matching a GitHub-hosted runner image.\n` + `The current runner (${common.getOSNameVersionArch()}) was detected as self-hosted because ${common.selfHostedRunnerReason()}.\n` +
`In such a case, you should install Ruby in the $RUNNER_TOOL_CACHE yourself, for example using https://github.com/rbenv/ruby-build:\n` + `In such a case, you should install Ruby in the $RUNNER_TOOL_CACHE yourself, for example using https://github.com/rbenv/ruby-build\n` +
`You can take inspiration from this workflow for more details: https://github.com/ruby/ruby-builder/blob/master/.github/workflows/build.yml\n` + `You can take inspiration from this workflow for more details: https://github.com/ruby/ruby-builder/blob/master/.github/workflows/build.yml\n` +
`$ ruby-build ${rubyBuildDefinition} ${toolCacheRubyPrefix}\n` + `$ ruby-build ${rubyBuildDefinition} ${toolCacheRubyPrefix}\n` +
`Once that completes successfully, mark it as complete with:\n` + `Once that completes successfully, mark it as complete with:\n` +
@@ -50,7 +50,7 @@ export async function install(platform, engine, version) {
common.setupPath([path.join(rubyPrefix, 'bin')]) common.setupPath([path.join(rubyPrefix, 'bin')])
if (!inToolCache) { if (!inToolCache) {
await preparePrefix(rubyPrefix) await io.mkdirP(rubyPrefix)
if (engine === 'truffleruby+graalvm') { if (engine === 'truffleruby+graalvm') {
await installWithRubyBuild(engine, version, rubyPrefix) await installWithRubyBuild(engine, version, rubyPrefix)
} else { } else {
@@ -61,15 +61,6 @@ export async function install(platform, engine, version) {
return rubyPrefix return rubyPrefix
} }
async function preparePrefix(rubyPrefix) {
const parentDir = path.dirname(rubyPrefix)
await io.rmRF(rubyPrefix)
if (!(fs.existsSync(parentDir) && fs.statSync(parentDir).isDirectory())) {
await io.mkdirP(parentDir)
}
}
async function installWithRubyBuild(engine, version, rubyPrefix) { async function installWithRubyBuild(engine, version, rubyPrefix) {
const tmp = process.env['RUNNER_TEMP'] || os.tmpdir() const tmp = process.env['RUNNER_TEMP'] || os.tmpdir()
const rubyBuildDir = path.join(tmp, 'ruby-build-for-setup-ruby') const rubyBuildDir = path.join(tmp, 'ruby-build-for-setup-ruby')
+9 -26
View File
@@ -20,8 +20,14 @@ const msys2GCCReleaseURI = 'https://github.com/ruby/setup-msys2-gcc/releases/do
const msys2BasePath = process.env['GHCUP_MSYS2'] const msys2BasePath = process.env['GHCUP_MSYS2']
const vcPkgBasePath = process.env['VCPKG_INSTALLATION_ROOT'] const vcPkgBasePath = process.env['VCPKG_INSTALLATION_ROOT']
// needed for Ruby 2.0-2.3, and mswin, cert file used by Git for Windows // needed for Ruby 2.0-2.3, cert file used by Git for Windows
const certFile = 'C:\\Program Files\\Git\\mingw64\\ssl\\cert.pem' let certFile = 'C:\\Program Files\\Git\\mingw64\\etc\\ssl\\cert.pem'
if (!fs.existsSync(certFile)) {
certFile = 'C:\\Program Files\\Git\\mingw64\\ssl\\cert.pem'
if (!fs.existsSync(certFile)) {
throw new Error("Cannot find Git's cert file")
}
}
// location & path for old RubyInstaller DevKit (MSYS1), used with Ruby 2.0-2.3 // location & path for old RubyInstaller DevKit (MSYS1), used with Ruby 2.0-2.3
const msys1 = `${drive}:\\DevKit64` const msys1 = `${drive}:\\DevKit64`
@@ -49,7 +55,7 @@ export async function install(platform, engine, version) {
let rubyPrefix, inToolCache let rubyPrefix, inToolCache
if (common.shouldUseToolCache(engine, version)) { if (common.shouldUseToolCache(engine, version)) {
inToolCache = tc.find('Ruby', version) inToolCache = common.toolCacheFind(engine, version)
if (inToolCache) { if (inToolCache) {
rubyPrefix = inToolCache rubyPrefix = inToolCache
} else { } else {
@@ -206,29 +212,6 @@ async function installMSYS1(version) {
async function setupMSWin() { async function setupMSWin() {
core.exportVariable('MAKE', 'nmake.exe') core.exportVariable('MAKE', 'nmake.exe')
// Pre-installed OpenSSL use C:\Program Files\Common Files\SSL
let certsDir = 'C:\\Program Files\\Common Files\\SSL\\certs'
if (!fs.existsSync(certsDir)) {
fs.mkdirSync(certsDir, { recursive: true })
}
// cert.pem location is hard-coded by OpenSSL msvc builds
let cert = 'C:\\Program Files\\Common Files\\SSL\\cert.pem'
if (!fs.existsSync(cert)) {
fs.copyFileSync(certFile, cert)
}
// vcpkg openssl uses packages\openssl_x64-windows\certs
certsDir = `${vcPkgBasePath}\\packages\\openssl_x64-windows\\certs`
if (!fs.existsSync(certsDir)) {
fs.mkdirSync(certsDir, { recursive: true })
}
// vcpkg openssl uses packages\openssl_x64-windows\cert.pem
cert = `${vcPkgBasePath}\\packages\\openssl_x64-windows\\cert.pem`
fs.copyFileSync(certFile, cert)
return await common.measure('Setting up MSVC environment', async () => addVCVARSEnv()) return await common.measure('Setting up MSVC environment', async () => addVCVARSEnv())
} }
Generated
+43 -77
View File
@@ -2,7 +2,7 @@
# yarn lockfile v1 # yarn lockfile v1
"@actions/cache@^3": "@actions/cache@3.0.6":
version "3.0.6" version "3.0.6"
resolved "https://registry.yarnpkg.com/@actions/cache/-/cache-3.0.6.tgz#b76c51a78c927fcf0eb631b96a07e34f575c422b" resolved "https://registry.yarnpkg.com/@actions/cache/-/cache-3.0.6.tgz#b76c51a78c927fcf0eb631b96a07e34f575c422b"
integrity sha512-Tttit+nqmxgb2M5Ufj5p8Lwd+fx329HOTLzxMrY4aaaZqBzqetgWlEfszMyiXfX4cJML+bzLJbyD9rNYt8TJ8g== integrity sha512-Tttit+nqmxgb2M5Ufj5p8Lwd+fx329HOTLzxMrY4aaaZqBzqetgWlEfszMyiXfX4cJML+bzLJbyD9rNYt8TJ8g==
@@ -42,9 +42,9 @@
minimatch "^3.0.4" minimatch "^3.0.4"
"@actions/http-client@^2.0.1": "@actions/http-client@^2.0.1":
version "2.0.1" version "2.1.0"
resolved "https://registry.yarnpkg.com/@actions/http-client/-/http-client-2.0.1.tgz#873f4ca98fe32f6839462a6f046332677322f99c" resolved "https://registry.yarnpkg.com/@actions/http-client/-/http-client-2.1.0.tgz#b6d8c3934727d6a50d10d19f00a711a964599a9f"
integrity sha512-PIXiMVtz6VvyaRsGY268qvj57hXQEpsYogYOu2nrQhlf+XCGmZstmuZBbAybUl1nQGnvS1k1eEsQ69ZoD7xlSw== integrity sha512-BonhODnXr3amchh4qkmjPMUO8mFi/zLaaCeCAJZqch8iQqyDnVIkySjB38VHAC8IJ+bnlgfOqlhpyCUZHlQsqw==
dependencies: dependencies:
tunnel "^0.0.6" tunnel "^0.0.6"
@@ -80,10 +80,10 @@
"@azure/abort-controller" "^1.0.0" "@azure/abort-controller" "^1.0.0"
tslib "^2.2.0" tslib "^2.2.0"
"@azure/core-http@^2.0.0": "@azure/core-http@^3.0.0":
version "2.3.1" version "3.0.0"
resolved "https://registry.yarnpkg.com/@azure/core-http/-/core-http-2.3.1.tgz#eed8a7d012ba8c576c557828f66af0fc4e52b23a" resolved "https://registry.yarnpkg.com/@azure/core-http/-/core-http-3.0.0.tgz#345845f9ba479a5ee41efc3fd7a13e82d2a0ec47"
integrity sha512-cur03BUwV0Tbv81bQBOLafFB02B6G++K6F2O3IMl8pSE2QlXm3cu11bfyBNlDUKi5U+xnB3GC63ae3athhkx6Q== integrity sha512-BxI2SlGFPPz6J1XyZNIVUf0QZLBKFX+ViFjKOkzqD18J1zOINIQ8JSBKKr+i+v8+MB6LacL6Nn/sP/TE13+s2Q==
dependencies: dependencies:
"@azure/abort-controller" "^1.0.0" "@azure/abort-controller" "^1.0.0"
"@azure/core-auth" "^1.3.0" "@azure/core-auth" "^1.3.0"
@@ -95,25 +95,24 @@
form-data "^4.0.0" form-data "^4.0.0"
node-fetch "^2.6.7" node-fetch "^2.6.7"
process "^0.11.10" process "^0.11.10"
tough-cookie "^4.0.0"
tslib "^2.2.0" tslib "^2.2.0"
tunnel "^0.0.6" tunnel "^0.0.6"
uuid "^8.3.0" uuid "^8.3.0"
xml2js "^0.4.19" xml2js "^0.4.19"
"@azure/core-lro@^2.2.0": "@azure/core-lro@^2.2.0":
version "2.4.0" version "2.5.1"
resolved "https://registry.yarnpkg.com/@azure/core-lro/-/core-lro-2.4.0.tgz#e3fdff797b045ee753aab25c3d2ecc0aa3e0a539" resolved "https://registry.yarnpkg.com/@azure/core-lro/-/core-lro-2.5.1.tgz#9c6be24b84f8a8c8e8ac376c5018460c5a585d0b"
integrity sha512-F65+rYkll1dpw3RGm8/SSiSj+/QkMeYDanzS/QKlM1dmuneVyXbO46C88V1MRHluLGdMP6qfD3vDRYALn0z0tQ== integrity sha512-JHQy/bA3NOz2WuzOi5zEk6n/TJdAropupxUT521JIJvW7EXV2YN2SFYZrf/2RHeD28QAClGdynYadZsbmP+nyQ==
dependencies: dependencies:
"@azure/abort-controller" "^1.0.0" "@azure/abort-controller" "^1.0.0"
"@azure/logger" "^1.0.0" "@azure/logger" "^1.0.0"
tslib "^2.2.0" tslib "^2.2.0"
"@azure/core-paging@^1.1.1": "@azure/core-paging@^1.1.1":
version "1.4.0" version "1.5.0"
resolved "https://registry.yarnpkg.com/@azure/core-paging/-/core-paging-1.4.0.tgz#b04a73ad18149733a848c3089a5e5ed144592338" resolved "https://registry.yarnpkg.com/@azure/core-paging/-/core-paging-1.5.0.tgz#5a5b09353e636072e6a7fc38f7879e11d0afb15f"
integrity sha512-tabFtZTg8D9XqZKEfNUOGh63SuYeOxmvH4GDcOJN+R1bZWZ1FZskctgY9Pmuwzhn+0Xvq9rmimK9hsvtLkeBsw== integrity sha512-zqWdVIt+2Z+3wqxEOGzR5hXFZ8MGKK52x4vFLw8n58pR6ZfKRx3EXYTxTaYxYHc/PexPUTyimcTWFJbji9Z6Iw==
dependencies: dependencies:
tslib "^2.2.0" tslib "^2.2.0"
@@ -126,24 +125,24 @@
tslib "^2.2.0" tslib "^2.2.0"
"@azure/core-util@^1.1.1": "@azure/core-util@^1.1.1":
version "1.1.1" version "1.2.0"
resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.1.1.tgz#8f87b3dd468795df0f0849d9f096c3e7b29452c1" resolved "https://registry.yarnpkg.com/@azure/core-util/-/core-util-1.2.0.tgz#3499deba1fc36dda6f1912b791809b6f15d4a392"
integrity sha512-A4TBYVQCtHOigFb2ETiiKFDocBoI1Zk2Ui1KpI42aJSIDexF7DHQFpnjonltXAIU/ceH+1fsZAWWgvX6/AKzog== integrity sha512-ffGIw+Qs8bNKNLxz5UPkz4/VBM/EZY07mPve1ZYFqYUdPwFqRj0RPk0U7LZMOfT7GCck9YjuT1Rfp1PApNl1ng==
dependencies: dependencies:
"@azure/abort-controller" "^1.0.0" "@azure/abort-controller" "^1.0.0"
tslib "^2.2.0" tslib "^2.2.0"
"@azure/logger@^1.0.0": "@azure/logger@^1.0.0":
version "1.0.3" version "1.0.4"
resolved "https://registry.yarnpkg.com/@azure/logger/-/logger-1.0.3.tgz#6e36704aa51be7d4a1bae24731ea580836293c96" resolved "https://registry.yarnpkg.com/@azure/logger/-/logger-1.0.4.tgz#28bc6d0e5b3c38ef29296b32d35da4e483593fa1"
integrity sha512-aK4s3Xxjrx3daZr3VylxejK3vG5ExXck5WOHDJ8in/k9AqlfIyFMMT1uG7u8mNjX+QRILTIn0/Xgschfh/dQ9g== integrity sha512-ustrPY8MryhloQj7OWGe+HrYx+aoiOxzbXTtgblbV3xwCqpzUK36phH3XNHQKj3EPonyFUuDTfR3qFhTEAuZEg==
dependencies: dependencies:
tslib "^2.2.0" tslib "^2.2.0"
"@azure/ms-rest-js@^2.6.0": "@azure/ms-rest-js@^2.6.0":
version "2.6.2" version "2.6.4"
resolved "https://registry.yarnpkg.com/@azure/ms-rest-js/-/ms-rest-js-2.6.2.tgz#185a9d643ea55c696134af76a5c6026c94e26217" resolved "https://registry.yarnpkg.com/@azure/ms-rest-js/-/ms-rest-js-2.6.4.tgz#b0a0f89841434471adf757d09e7e39e8ecfcd650"
integrity sha512-0/8rOxAoR9M3qKUdbGOIYtHtQkm4m5jdoDNdxTU0DkOr84KwyAdJuW/RfjJinGyig4h73DNF0rdCl6XowgCYcg== integrity sha512-2sbOpGhlBfv9itWdF7Qlk0CmoQCARxe5unwjNOprU7OdgEgabQncZ35L5u1A+zgdkVtNYF9Eo6XAhXzTweIhag==
dependencies: dependencies:
"@azure/core-auth" "^1.1.4" "@azure/core-auth" "^1.1.4"
abort-controller "^3.0.0" abort-controller "^3.0.0"
@@ -156,12 +155,12 @@
xml2js "^0.4.19" xml2js "^0.4.19"
"@azure/storage-blob@^12.8.0": "@azure/storage-blob@^12.8.0":
version "12.12.0" version "12.13.0"
resolved "https://registry.yarnpkg.com/@azure/storage-blob/-/storage-blob-12.12.0.tgz#25e277c885692d5adcd8c2a949789b2837a74c59" resolved "https://registry.yarnpkg.com/@azure/storage-blob/-/storage-blob-12.13.0.tgz#9209cbb5c2cd463fb967a0f2ae144ace20879160"
integrity sha512-o/Mf6lkyYG/eBW4/hXB9864RxVNmAkcKHjsGR6Inlp5hupa3exjSyH2KjO3tLO//YGA+tS+17hM2bxRl9Sn16g== integrity sha512-t3Q2lvBMJucgTjQcP5+hvEJMAsJSk0qmAnjDLie2td017IiduZbbC9BOcFfmwzR6y6cJdZOuewLCNFmEx9IrXA==
dependencies: dependencies:
"@azure/abort-controller" "^1.0.0" "@azure/abort-controller" "^1.0.0"
"@azure/core-http" "^2.0.0" "@azure/core-http" "^3.0.0"
"@azure/core-lro" "^2.2.0" "@azure/core-lro" "^2.2.0"
"@azure/core-paging" "^1.1.1" "@azure/core-paging" "^1.1.1"
"@azure/core-tracing" "1.0.0-preview.13" "@azure/core-tracing" "1.0.0-preview.13"
@@ -170,9 +169,9 @@
tslib "^2.2.0" tslib "^2.2.0"
"@opentelemetry/api@^1.0.1": "@opentelemetry/api@^1.0.1":
version "1.3.0" version "1.4.1"
resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.3.0.tgz#27c6f776ac3c1c616651e506a89f438a0ed6a055" resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.4.1.tgz#ff22eb2e5d476fbc2450a196e40dd243cc20c28f"
integrity sha512-YveTnGNsFFixTKJz09Oi4zYkiLT5af3WpZDu4aIUM7xX+2bHAkOJayFTVQd6zB8kkWPpbua4Ha6Ql00grdLlJQ== integrity sha512-O2yRJce1GOc6PAy3QxFM4NzFiWzvScDC1/5ihYBL6BUEVdq0XMWN01sppE+H6bBXbaFYipjwFLEWLg5PaSOThA==
"@types/node-fetch@^2.5.0": "@types/node-fetch@^2.5.0":
version "2.6.2" version "2.6.2"
@@ -183,9 +182,9 @@
form-data "^3.0.0" form-data "^3.0.0"
"@types/node@*": "@types/node@*":
version "18.11.9" version "18.15.3"
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.9.tgz#02d013de7058cea16d36168ef2fc653464cfbad4" resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.3.tgz#f0b991c32cfc6a4e7f3399d6cb4b8cf9a0315014"
integrity sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg== integrity sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw==
"@types/tunnel@^0.0.3": "@types/tunnel@^0.0.3":
version "0.0.3" version "0.0.3"
@@ -320,9 +319,9 @@ minimatch@^3.0.4:
brace-expansion "^1.1.7" brace-expansion "^1.1.7"
node-fetch@^2.6.7: node-fetch@^2.6.7:
version "2.6.7" version "2.6.9"
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6"
integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== integrity sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==
dependencies: dependencies:
whatwg-url "^5.0.0" whatwg-url "^5.0.0"
@@ -331,25 +330,15 @@ process@^0.11.10:
resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==
psl@^1.1.28, psl@^1.1.33: psl@^1.1.28:
version "1.9.0" version "1.9.0"
resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7"
integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==
punycode@^2.1.1: punycode@^2.1.1:
version "2.1.1" version "2.3.0"
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f"
integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==
querystringify@^2.1.1:
version "2.2.0"
resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6"
integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==
requires-port@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==
sax@>=0.6.0: sax@>=0.6.0:
version "1.2.4" version "1.2.4"
@@ -377,16 +366,6 @@ tough-cookie@^3.0.1:
psl "^1.1.28" psl "^1.1.28"
punycode "^2.1.1" punycode "^2.1.1"
tough-cookie@^4.0.0:
version "4.1.2"
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.2.tgz#e53e84b85f24e0b65dd526f46628db6c85f6b874"
integrity sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==
dependencies:
psl "^1.1.33"
punycode "^2.1.1"
universalify "^0.2.0"
url-parse "^1.5.3"
tr46@~0.0.3: tr46@~0.0.3:
version "0.0.3" version "0.0.3"
resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
@@ -398,28 +377,15 @@ tslib@^1.10.0:
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
tslib@^2.2.0: tslib@^2.2.0:
version "2.4.1" version "2.5.0"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf"
integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA== integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==
tunnel@0.0.6, tunnel@^0.0.6: tunnel@0.0.6, tunnel@^0.0.6:
version "0.0.6" version "0.0.6"
resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c" resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.6.tgz#72f1314b34a5b192db012324df2cc587ca47f92c"
integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg== integrity sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==
universalify@^0.2.0:
version "0.2.0"
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0"
integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==
url-parse@^1.5.3:
version "1.5.10"
resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1"
integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==
dependencies:
querystringify "^2.1.1"
requires-port "^1.0.0"
uuid@^3.3.2, uuid@^3.3.3: uuid@^3.3.2, uuid@^3.3.3:
version "3.4.0" version "3.4.0"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"