Support bazelisk-version input

Also adds instruction on how to migrate from bazelbuild/setup-bazelisk
This commit is contained in:
Alex Rodionov 2024-02-07 05:55:42 -08:00
parent 1ee945be88
commit 14997dcb06
10 changed files with 6409 additions and 2686 deletions

View file

@ -1,6 +1,6 @@
# setup-bazel # setup-bazel
This action allows to properly configure Bazel on all supported operating systems This action allows to properly configure Bazelisk and Bazel on all operating systems
and provides an advanced fine-grained caching to improve workflows performance. and provides an advanced fine-grained caching to improve workflows performance.
## Inputs ## Inputs
@ -11,6 +11,15 @@ Cache [`bazelisk`][1] downloads based on contents of a `.bazelversion` file.
Default `false`. Default `false`.
### `bazelisk-version`
[`bazelisk`][1] version to download and use.
Supports semver specification and ranges.
Leave empty to use [pre-installed Bazelisk][8].
Default `""`.
### `bazelrc` ### `bazelrc`
Extra contents to write to a user's [`bazelrc`][4] file. Extra contents to write to a user's [`bazelrc`][4] file.
@ -49,6 +58,14 @@ Default `false`.
- uses: p0deje/setup-bazel@0.4.0 - uses: p0deje/setup-bazel@0.4.0
``` ```
### Custom Bazelisk version
```yaml
- uses: p0deje/setup-bazel@0.4.0
with:
bazelisk-version: 1.19.0
```
### Additional `.bazelrc` options ### Additional `.bazelrc` options
```yaml ```yaml
@ -97,8 +114,18 @@ Default `false`.
ruby: ${{ matrix.os == 'windows' && 'false' || '.ruby-version' }} ruby: ${{ matrix.os == 'windows' && 'false' || '.ruby-version' }}
``` ```
## Migrating from [`bazelbuild/setup-bazelisk`][6]
You can simply replace `bazelbuild/setup-bazelisk` action with `p0deje/setup-bazel`.
However, if you used a `bazel-version` input before, you will need to remove it in favor
[other ways to specify Bazel version][7].
[1]: https://github.com/bazelbuild/bazelisk [1]: https://github.com/bazelbuild/bazelisk
[2]: https://bazel.build/remote/caching#disk-cache [2]: https://bazel.build/remote/caching#disk-cache
[3]: https://docs-staging.bazel.build/2338/versions/main/guide.html#the-repository-cache [3]: https://docs-staging.bazel.build/2338/versions/main/guide.html#the-repository-cache
[4]: https://bazel.build/run/bazelrc [4]: https://bazel.build/run/bazelrc
[5]: https://docs.github.com/en/actions/learn-github-actions/contexts#github-context [5]: https://docs.github.com/en/actions/learn-github-actions/contexts#github-context
[6]: https://github.com/bazelbuild/setup-bazelisk
[7]: https://github.com/bazelbuild/bazelisk/blob/master/README.md#how-does-bazelisk-know-which-bazel-version-to-run
[8]: https://github.com/actions/runner-images/pull/490

View file

@ -1,10 +1,14 @@
name: Setup Bazel name: Setup Bazel
description: Configure Bazel(isk) and its caches
inputs: inputs:
bazelisk-cache: bazelisk-cache:
description: Caches Bazelisk downloads based on .bazelversion description: Caches Bazelisk downloads based on .bazelversion
required: false required: false
default: false default: "false"
bazelisk-version:
description: The Bazelisk version to download and use if necessary
default: ""
bazelrc: bazelrc:
description: Extra contents to write to user .bazelrc description: Extra contents to write to user .bazelrc
required: false required: false
@ -12,11 +16,11 @@ inputs:
cache-version: cache-version:
description: Version of all caches description: Version of all caches
required: false required: false
default: 1 default: "1"
disk-cache: disk-cache:
description: Cache actions outputs based on BUILD description: Cache actions outputs based on BUILD
required: false required: false
default: false default: "false"
external-cache: external-cache:
description: Cache external 10MB+ repositories based on WORKSPACE description: Cache external 10MB+ repositories based on WORKSPACE
required: false required: false
@ -28,7 +32,11 @@ inputs:
repository-cache: repository-cache:
description: Cache repositories based on WORKSPACE description: Cache repositories based on WORKSPACE
required: false required: false
default: false default: "false"
token:
description: GitHub token to query Bazelisk releases
required: false
default: ${{ github.token }}
runs: runs:
using: node16 using: node16

View file

@ -4,10 +4,12 @@ const yaml = require('yaml')
const core = require('@actions/core') const core = require('@actions/core')
const github = require('@actions/github') const github = require('@actions/github')
const bazeliskVersion = core.getInput('bazelisk-version')
const cacheVersion = core.getInput('cache-version') const cacheVersion = core.getInput('cache-version')
const externalCacheConfig = yaml.parse(core.getInput('external-cache')) const externalCacheConfig = yaml.parse(core.getInput('external-cache'))
const homeDir = os.homedir() const homeDir = os.homedir()
const arch = os.arch()
const platform = os.platform() const platform = os.platform()
let bazelDisk = core.toPosixPath(`${homeDir}/.cache/bazel-disk`) let bazelDisk = core.toPosixPath(`${homeDir}/.cache/bazel-disk`)
@ -108,6 +110,7 @@ module.exports = {
name: 'bazelisk', name: 'bazelisk',
paths: [core.toPosixPath(`${userCacheDir}/bazelisk`)] paths: [core.toPosixPath(`${userCacheDir}/bazelisk`)]
}, },
bazeliskVersion,
bazelrc, bazelrc,
diskCache: { diskCache: {
enabled: diskCacheEnabled, enabled: diskCacheEnabled,
@ -124,7 +127,10 @@ module.exports = {
bazelOutputBase: core.toPosixPath(bazelOutputBase), bazelOutputBase: core.toPosixPath(bazelOutputBase),
bazelrc: bazelrcPaths bazelrc: bazelrcPaths
}, },
platform, os: {
arch,
platform,
},
repositoryCache: { repositoryCache: {
enabled: repositoryCacheEnabled, enabled: repositoryCacheEnabled,
files: [ files: [

4909
dist/main/index.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

3856
dist/post/index.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -2,7 +2,9 @@ const fs = require('fs')
const { setTimeout } = require('timers/promises') const { setTimeout } = require('timers/promises')
const core = require('@actions/core') const core = require('@actions/core')
const cache = require('@actions/cache') const cache = require('@actions/cache')
const github = require('@actions/github')
const glob = require('@actions/glob') const glob = require('@actions/glob')
const tc = require('@actions/tool-cache')
const config = require('./config') const config = require('./config')
async function run() { async function run() {
@ -21,12 +23,82 @@ async function setupBazel() {
await setupBazelrc() await setupBazelrc()
core.endGroup() core.endGroup()
await setupBazelisk()
await restoreCache(config.bazeliskCache) await restoreCache(config.bazeliskCache)
await restoreCache(config.diskCache) await restoreCache(config.diskCache)
await restoreCache(config.repositoryCache) await restoreCache(config.repositoryCache)
await restoreExternalCaches(config.externalCache) await restoreExternalCaches(config.externalCache)
} }
async function setupBazelisk() {
if (config.bazeliskVersion.length == 0) {
return
}
core.startGroup('Setup Bazelisk')
const toolPath = tc.find('bazelisk', config.bazeliskVersion)
if (toolPath) {
console.log(`Found in cache @ ${toolPath}`)
} else {
await downloadBazelisk()
}
core.endGroup()
}
async function downloadBazelisk() {
const version = config.bazeliskVersion
console.log(`Attempting to download ${version}`)
// Possible values are 'arm', 'arm64', 'ia32', 'mips', 'mipsel', 'ppc', 'ppc64', 's390', 's390x' and 'x64'.
// Bazelisk filenames use 'amd64' and 'arm64'.
let arch = config.os.arch
if (arch == 'x64') {
arch = 'amd64'
}
// Possible values are 'aix', 'darwin', 'freebsd', 'linux', 'openbsd', 'sunos' and 'win32'.
// Bazelisk filenames use 'darwin', 'linux' and 'windows'.
let platform = config.os.platform
if (platform == "win32") {
platform = "windows"
}
let filename = `bazelisk-${platform}-${arch}`
if (platform == 'windows') {
filename = `${filename}.exe`
}
const token = core.getInput('token')
const octokit = github.getOctokit(token)
const { data: releases } = await octokit.rest.repos.listReleases({
owner: 'bazelbuild',
repo: 'bazelisk'
})
// Find version matching semver specification.
const tagName = tc.evaluateVersions(releases.map((r) => r.tag_name), version)
const release = releases.find((r) => r.tag_name === tagName)
if (!release) {
throw new Error(`Unable to find Bazelisk version ${version}`)
}
const asset = release.assets.find((a) => a.name == filename)
if (!asset) {
throw new Error(`Unable to find Bazelisk version ${version} for platform ${platform}/${arch}`)
}
const url = asset.browser_download_url
console.log(`Downloading from ${url}`)
const downloadPath = await tc.downloadTool(url, undefined, `token ${token}`)
console.log('Adding to the cache...');
fs.chmodSync(downloadPath, '755');
const cachePath = await tc.cacheFile(downloadPath, 'bazel', 'bazelisk', version)
console.log(`Successfully cached bazelisk to ${cachePath}`)
core.addPath(cachePath)
}
async function setupBazelrc() { async function setupBazelrc() {
for (const bazelrcPath of config.paths.bazelrc) { for (const bazelrcPath of config.paths.bazelrc) {
fs.writeFileSync( fs.writeFileSync(

198
package-lock.json generated
View file

@ -1,18 +1,19 @@
{ {
"name": "setup-bazel", "name": "setup-bazel",
"version": "0.2.0", "version": "0.4.0",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "setup-bazel", "name": "setup-bazel",
"version": "0.2.0", "version": "0.4.0",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@actions/cache": "^3.2.2", "@actions/cache": "^3.2.2",
"@actions/core": "^1.10.0", "@actions/core": "^1.10.1",
"@actions/github": "^5.1.1", "@actions/github": "^6.0.0",
"@actions/glob": "^0.3.0", "@actions/glob": "^0.4.0",
"@actions/tool-cache": "^2.0.1",
"@vercel/ncc": "^0.36.0", "@vercel/ncc": "^0.36.0",
"yaml": "^2.2.1" "yaml": "^2.2.1"
}, },
@ -56,9 +57,9 @@
} }
}, },
"node_modules/@actions/core": { "node_modules/@actions/core": {
"version": "1.10.0", "version": "1.10.1",
"resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz", "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.1.tgz",
"integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==", "integrity": "sha512-3lBR9EDAY+iYIpTnTIXmWcNbX3T2kCkAEQGIQx4NVQ0575nk2k3GRZDTPQG+vVtS2izSLmINlxXf0uLtnrTP+g==",
"dependencies": { "dependencies": {
"@actions/http-client": "^2.0.1", "@actions/http-client": "^2.0.1",
"uuid": "^8.3.2" "uuid": "^8.3.2"
@ -73,22 +74,22 @@
} }
}, },
"node_modules/@actions/github": { "node_modules/@actions/github": {
"version": "5.1.1", "version": "6.0.0",
"resolved": "https://registry.npmjs.org/@actions/github/-/github-5.1.1.tgz", "resolved": "https://registry.npmjs.org/@actions/github/-/github-6.0.0.tgz",
"integrity": "sha512-Nk59rMDoJaV+mHCOJPXuvB1zIbomlKS0dmSIqPGxd0enAXBnOfn4VWF+CGtRCwXZG9Epa54tZA7VIRlJDS8A6g==", "integrity": "sha512-alScpSVnYmjNEXboZjarjukQEzgCRmjMv6Xj47fsdnqGS73bjJNDpiiXmp8jr0UZLdUB6d9jW63IcmddUP+l0g==",
"dependencies": { "dependencies": {
"@actions/http-client": "^2.0.1", "@actions/http-client": "^2.2.0",
"@octokit/core": "^3.6.0", "@octokit/core": "^5.0.1",
"@octokit/plugin-paginate-rest": "^2.17.0", "@octokit/plugin-paginate-rest": "^9.0.0",
"@octokit/plugin-rest-endpoint-methods": "^5.13.0" "@octokit/plugin-rest-endpoint-methods": "^10.0.0"
} }
}, },
"node_modules/@actions/glob": { "node_modules/@actions/glob": {
"version": "0.3.0", "version": "0.4.0",
"resolved": "https://registry.npmjs.org/@actions/glob/-/glob-0.3.0.tgz", "resolved": "https://registry.npmjs.org/@actions/glob/-/glob-0.4.0.tgz",
"integrity": "sha512-tJP1ZhF87fd6LBnaXWlahkyvdgvsLl7WnreW1EZaC8JWjpMXmzqWzQVe/IEYslrkT9ymibVrKyJN4UMD7uQM2w==", "integrity": "sha512-+eKIGFhsFa4EBwaf/GMyzCdWrXWymGXfFmZU3FHQvYS8mPcHtTtZONbkcqqUMzw9mJ/pImEBFET1JNifhqGsAQ==",
"dependencies": { "dependencies": {
"@actions/core": "^1.2.6", "@actions/core": "^1.9.1",
"minimatch": "^3.0.4" "minimatch": "^3.0.4"
} }
}, },
@ -106,6 +107,28 @@
"resolved": "https://registry.npmjs.org/@actions/io/-/io-1.1.2.tgz", "resolved": "https://registry.npmjs.org/@actions/io/-/io-1.1.2.tgz",
"integrity": "sha512-d+RwPlMp+2qmBfeLYPLXuSRykDIFEwdTA0MMxzS9kh4kvP1ftrc/9fzy6pX6qAjthdXruHQ6/6kjT/DNo5ALuw==" "integrity": "sha512-d+RwPlMp+2qmBfeLYPLXuSRykDIFEwdTA0MMxzS9kh4kvP1ftrc/9fzy6pX6qAjthdXruHQ6/6kjT/DNo5ALuw=="
}, },
"node_modules/@actions/tool-cache": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/@actions/tool-cache/-/tool-cache-2.0.1.tgz",
"integrity": "sha512-iPU+mNwrbA8jodY8eyo/0S/QqCKDajiR8OxWTnSk/SnYg0sj8Hp4QcUEVC1YFpHWXtrfbQrE13Jz4k4HXJQKcA==",
"dependencies": {
"@actions/core": "^1.2.6",
"@actions/exec": "^1.0.0",
"@actions/http-client": "^2.0.1",
"@actions/io": "^1.1.1",
"semver": "^6.1.0",
"uuid": "^3.3.2"
}
},
"node_modules/@actions/tool-cache/node_modules/uuid": {
"version": "3.4.0",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
"integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
"deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.",
"bin": {
"uuid": "bin/uuid"
}
},
"node_modules/@azure/abort-controller": { "node_modules/@azure/abort-controller": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-1.1.0.tgz", "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-1.1.0.tgz",
@ -286,104 +309,121 @@
} }
}, },
"node_modules/@octokit/auth-token": { "node_modules/@octokit/auth-token": {
"version": "2.5.0", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz",
"integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", "integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==",
"dependencies": { "engines": {
"@octokit/types": "^6.0.3" "node": ">= 18"
} }
}, },
"node_modules/@octokit/core": { "node_modules/@octokit/core": {
"version": "3.6.0", "version": "5.1.0",
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.1.0.tgz",
"integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", "integrity": "sha512-BDa2VAMLSh3otEiaMJ/3Y36GU4qf6GI+VivQ/P41NC6GHcdxpKlqV0ikSZ5gdQsmS3ojXeRx5vasgNTinF0Q4g==",
"dependencies": { "dependencies": {
"@octokit/auth-token": "^2.4.4", "@octokit/auth-token": "^4.0.0",
"@octokit/graphql": "^4.5.8", "@octokit/graphql": "^7.0.0",
"@octokit/request": "^5.6.3", "@octokit/request": "^8.0.2",
"@octokit/request-error": "^2.0.5", "@octokit/request-error": "^5.0.0",
"@octokit/types": "^6.0.3", "@octokit/types": "^12.0.0",
"before-after-hook": "^2.2.0", "before-after-hook": "^2.2.0",
"universal-user-agent": "^6.0.0" "universal-user-agent": "^6.0.0"
},
"engines": {
"node": ">= 18"
} }
}, },
"node_modules/@octokit/endpoint": { "node_modules/@octokit/endpoint": {
"version": "6.0.12", "version": "9.0.4",
"resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.4.tgz",
"integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", "integrity": "sha512-DWPLtr1Kz3tv8L0UvXTDP1fNwM0S+z6EJpRcvH66orY6Eld4XBMCSYsaWp4xIm61jTWxK68BrR7ibO+vSDnZqw==",
"dependencies": { "dependencies": {
"@octokit/types": "^6.0.3", "@octokit/types": "^12.0.0",
"is-plain-object": "^5.0.0",
"universal-user-agent": "^6.0.0" "universal-user-agent": "^6.0.0"
},
"engines": {
"node": ">= 18"
} }
}, },
"node_modules/@octokit/graphql": { "node_modules/@octokit/graphql": {
"version": "4.8.0", "version": "7.0.2",
"resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.0.2.tgz",
"integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", "integrity": "sha512-OJ2iGMtj5Tg3s6RaXH22cJcxXRi7Y3EBqbHTBRq+PQAqfaS8f/236fUrWhfSn8P4jovyzqucxme7/vWSSZBX2Q==",
"dependencies": { "dependencies": {
"@octokit/request": "^5.6.0", "@octokit/request": "^8.0.1",
"@octokit/types": "^6.0.3", "@octokit/types": "^12.0.0",
"universal-user-agent": "^6.0.0" "universal-user-agent": "^6.0.0"
},
"engines": {
"node": ">= 18"
} }
}, },
"node_modules/@octokit/openapi-types": { "node_modules/@octokit/openapi-types": {
"version": "12.11.0", "version": "19.1.0",
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz", "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-19.1.0.tgz",
"integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==" "integrity": "sha512-6G+ywGClliGQwRsjvqVYpklIfa7oRPA0vyhPQG/1Feh+B+wU0vGH1JiJ5T25d3g1JZYBHzR2qefLi9x8Gt+cpw=="
}, },
"node_modules/@octokit/plugin-paginate-rest": { "node_modules/@octokit/plugin-paginate-rest": {
"version": "2.21.3", "version": "9.1.5",
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.21.3.tgz", "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.1.5.tgz",
"integrity": "sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==", "integrity": "sha512-WKTQXxK+bu49qzwv4qKbMMRXej1DU2gq017euWyKVudA6MldaSSQuxtz+vGbhxV4CjxpUxjZu6rM2wfc1FiWVg==",
"dependencies": { "dependencies": {
"@octokit/types": "^6.40.0" "@octokit/types": "^12.4.0"
},
"engines": {
"node": ">= 18"
}, },
"peerDependencies": { "peerDependencies": {
"@octokit/core": ">=2" "@octokit/core": ">=5"
} }
}, },
"node_modules/@octokit/plugin-rest-endpoint-methods": { "node_modules/@octokit/plugin-rest-endpoint-methods": {
"version": "5.16.2", "version": "10.2.0",
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.16.2.tgz", "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-10.2.0.tgz",
"integrity": "sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==", "integrity": "sha512-ePbgBMYtGoRNXDyKGvr9cyHjQ163PbwD0y1MkDJCpkO2YH4OeXX40c4wYHKikHGZcpGPbcRLuy0unPUuafco8Q==",
"dependencies": { "dependencies": {
"@octokit/types": "^6.39.0", "@octokit/types": "^12.3.0"
"deprecation": "^2.3.1" },
"engines": {
"node": ">= 18"
}, },
"peerDependencies": { "peerDependencies": {
"@octokit/core": ">=3" "@octokit/core": ">=5"
} }
}, },
"node_modules/@octokit/request": { "node_modules/@octokit/request": {
"version": "5.6.3", "version": "8.1.6",
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.1.6.tgz",
"integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", "integrity": "sha512-YhPaGml3ncZC1NfXpP3WZ7iliL1ap6tLkAp6MvbK2fTTPytzVUyUesBBogcdMm86uRYO5rHaM1xIWxigWZ17MQ==",
"dependencies": { "dependencies": {
"@octokit/endpoint": "^6.0.1", "@octokit/endpoint": "^9.0.0",
"@octokit/request-error": "^2.1.0", "@octokit/request-error": "^5.0.0",
"@octokit/types": "^6.16.1", "@octokit/types": "^12.0.0",
"is-plain-object": "^5.0.0",
"node-fetch": "^2.6.7",
"universal-user-agent": "^6.0.0" "universal-user-agent": "^6.0.0"
},
"engines": {
"node": ">= 18"
} }
}, },
"node_modules/@octokit/request-error": { "node_modules/@octokit/request-error": {
"version": "2.1.0", "version": "5.0.1",
"resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.0.1.tgz",
"integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", "integrity": "sha512-X7pnyTMV7MgtGmiXBwmO6M5kIPrntOXdyKZLigNfQWSEQzVxR4a4vo49vJjTWX70mPndj8KhfT4Dx+2Ng3vnBQ==",
"dependencies": { "dependencies": {
"@octokit/types": "^6.0.3", "@octokit/types": "^12.0.0",
"deprecation": "^2.0.0", "deprecation": "^2.0.0",
"once": "^1.4.0" "once": "^1.4.0"
},
"engines": {
"node": ">= 18"
} }
}, },
"node_modules/@octokit/types": { "node_modules/@octokit/types": {
"version": "6.41.0", "version": "12.4.0",
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.4.0.tgz",
"integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", "integrity": "sha512-FLWs/AvZllw/AGVs+nJ+ELCDZZJk+kY0zMen118xhL2zD0s1etIUHm1odgjP7epxYU1ln7SZxEUWYop5bhsdgQ==",
"dependencies": { "dependencies": {
"@octokit/openapi-types": "^12.11.0" "@octokit/openapi-types": "^19.1.0"
} }
}, },
"node_modules/@opentelemetry/api": { "node_modules/@opentelemetry/api": {
@ -541,14 +581,6 @@
"node": ">=4" "node": ">=4"
} }
}, },
"node_modules/is-plain-object": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
"integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/mime-db": { "node_modules/mime-db": {
"version": "1.52.0", "version": "1.52.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
@ -688,9 +720,9 @@
"integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA=="
}, },
"node_modules/universal-user-agent": { "node_modules/universal-user-agent": {
"version": "6.0.0", "version": "6.0.1",
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz",
"integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==" "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ=="
}, },
"node_modules/uuid": { "node_modules/uuid": {
"version": "8.3.2", "version": "8.3.2",

View file

@ -17,6 +17,7 @@
"@actions/core": "^1.10.1", "@actions/core": "^1.10.1",
"@actions/github": "^6.0.0", "@actions/github": "^6.0.0",
"@actions/glob": "^0.4.0", "@actions/glob": "^0.4.0",
"@actions/tool-cache": "^2.0.1",
"@vercel/ncc": "^0.36.0", "@vercel/ncc": "^0.36.0",
"yaml": "^2.2.1" "yaml": "^2.2.1"
} }