mirror of
https://github.com/astral-sh/ruff-action.git
synced 2026-08-08 02:07:02 +00:00
Compare commits
3
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
eaf0ecdd66 | ||
|
|
78b7b9921e | ||
|
|
9b2efb7fd8 |
@@ -0,0 +1,35 @@
|
||||
import * as fs from "node:fs";
|
||||
import * as yaml from "js-yaml";
|
||||
|
||||
interface WorkflowJob {
|
||||
needs?: string[];
|
||||
[key: string]: unknown;
|
||||
}
|
||||
|
||||
interface Workflow {
|
||||
jobs: Record<string, WorkflowJob>;
|
||||
[key: string]: unknown;
|
||||
}
|
||||
|
||||
const workflow = yaml.load(
|
||||
fs.readFileSync("../workflows/test.yml", "utf8"),
|
||||
) as Workflow;
|
||||
const jobs = Object.keys(workflow.jobs);
|
||||
const allTestsPassed = workflow.jobs["all-tests-passed"];
|
||||
const needs: string[] = allTestsPassed.needs || [];
|
||||
|
||||
const expectedNeeds = jobs.filter((j) => j !== "all-tests-passed");
|
||||
const missing = expectedNeeds.filter((j) => !needs.includes(j));
|
||||
|
||||
if (missing.length > 0) {
|
||||
console.error(
|
||||
`Missing jobs in all-tests-passed needs: ${missing.join(", ")}`,
|
||||
);
|
||||
console.info(
|
||||
"Please add the missing jobs to the needs section of all-tests-passed in test.yml.",
|
||||
);
|
||||
process.exit(1);
|
||||
}
|
||||
console.log(
|
||||
"All jobs in test.yml are in the needs section of all-tests-passed.",
|
||||
);
|
||||
@@ -24,6 +24,14 @@ jobs:
|
||||
npm install
|
||||
- run: |
|
||||
npm run all
|
||||
- name: Transpile scripts
|
||||
run: |
|
||||
tsc ./*.ts
|
||||
working-directory: .github/scripts
|
||||
- name: Check all jobs are in all-tests-passed.needs
|
||||
run: |
|
||||
node check-all-tests-passed-needs.js
|
||||
working-directory: .github/scripts
|
||||
- name: Make sure no changes from linters are detected
|
||||
run: |
|
||||
git diff --exit-code || (echo "::error::Please run 'npm run all' to fix the issues" && exit 1)
|
||||
@@ -203,6 +211,23 @@ jobs:
|
||||
fi
|
||||
env:
|
||||
RUFF_VERSION: ${{ steps.ruff-action.outputs.ruff-version }}
|
||||
test-pep440-version-specifier:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Install version 0.11.11
|
||||
id: ruff-action
|
||||
uses: ./
|
||||
with:
|
||||
version: ">=0.11.10,<0.12.0"
|
||||
src: __tests__/fixtures/python-project
|
||||
- name: Correct version gets installed
|
||||
run: |
|
||||
if [ "$RUFF_VERSION" != "0.11.11" ]; then
|
||||
exit 1
|
||||
fi
|
||||
env:
|
||||
RUFF_VERSION: ${{ steps.ruff-action.outputs.ruff-version }}
|
||||
test-checksum:
|
||||
runs-on: ${{ matrix.inputs.os }}
|
||||
strategy:
|
||||
@@ -298,6 +323,7 @@ jobs:
|
||||
- test-default-version-from-pyproject-optional-dependencies
|
||||
- test-default-version-from-requirements
|
||||
- test-semver-range
|
||||
- test-pep440-version-specifier
|
||||
- test-checksum
|
||||
- test-with-explicit-token
|
||||
- test-args
|
||||
|
||||
@@ -18,7 +18,7 @@ anything `ruff` can (ex, fix).
|
||||
- [Install specific versions](#install-specific-versions)
|
||||
- [Install the latest version](#install-the-latest-version)
|
||||
- [Install a specific version](#install-a-specific-version)
|
||||
- [Install a version by supplying a semver range](#install-a-version-by-supplying-a-semver-range)
|
||||
- [Install a version by supplying a semver range or pep440 specifier](#install-a-version-by-supplying-a-semver-range-or-pep440-specifier)
|
||||
- [Install a version from a specified version file](#install-a-version-from-a-specified-version-file)
|
||||
- [Validate checksum](#validate-checksum)
|
||||
- [GitHub authentication token](#github-authentication-token)
|
||||
@@ -116,9 +116,10 @@ the latest version is installed.
|
||||
version: "0.4.4"
|
||||
```
|
||||
|
||||
#### Install a version by supplying a semver range
|
||||
#### Install a version by supplying a semver range or pep440 specifier
|
||||
|
||||
You can specify a [semver range](https://github.com/npm/node-semver?tab=readme-ov-file#ranges)
|
||||
or [pep440 specifier](https://peps.python.org/pep-0440/#version-specifiers)
|
||||
to install the latest version that satisfies the range.
|
||||
|
||||
```yaml
|
||||
@@ -135,6 +136,13 @@ to install the latest version that satisfies the range.
|
||||
version: "0.4.x"
|
||||
```
|
||||
|
||||
```yaml
|
||||
- name: Install a pep440-specifier-satisfying version of ruff
|
||||
uses: astral-sh/ruff-action@v3
|
||||
with:
|
||||
version: ">=0.11.10,<0.12.0"
|
||||
```
|
||||
|
||||
#### Install a version from a specified version file
|
||||
|
||||
You can specify a file to read the version from.
|
||||
|
||||
+913
-81
File diff suppressed because it is too large
Load Diff
+120
-79
@@ -11356,7 +11356,7 @@ module.exports = {
|
||||
|
||||
|
||||
const { parseSetCookie } = __nccwpck_require__(8915)
|
||||
const { stringify, getHeadersList } = __nccwpck_require__(3834)
|
||||
const { stringify } = __nccwpck_require__(3834)
|
||||
const { webidl } = __nccwpck_require__(4222)
|
||||
const { Headers } = __nccwpck_require__(6349)
|
||||
|
||||
@@ -11432,14 +11432,13 @@ function getSetCookies (headers) {
|
||||
|
||||
webidl.brandCheck(headers, Headers, { strict: false })
|
||||
|
||||
const cookies = getHeadersList(headers).cookies
|
||||
const cookies = headers.getSetCookie()
|
||||
|
||||
if (!cookies) {
|
||||
return []
|
||||
}
|
||||
|
||||
// In older versions of undici, cookies is a list of name:value.
|
||||
return cookies.map((pair) => parseSetCookie(Array.isArray(pair) ? pair[1] : pair))
|
||||
return cookies.map((pair) => parseSetCookie(pair))
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -11867,14 +11866,15 @@ module.exports = {
|
||||
/***/ }),
|
||||
|
||||
/***/ 3834:
|
||||
/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => {
|
||||
/***/ ((module) => {
|
||||
|
||||
"use strict";
|
||||
|
||||
|
||||
const assert = __nccwpck_require__(2613)
|
||||
const { kHeadersList } = __nccwpck_require__(6443)
|
||||
|
||||
/**
|
||||
* @param {string} value
|
||||
* @returns {boolean}
|
||||
*/
|
||||
function isCTLExcludingHtab (value) {
|
||||
if (value.length === 0) {
|
||||
return false
|
||||
@@ -12135,31 +12135,13 @@ function stringify (cookie) {
|
||||
return out.join('; ')
|
||||
}
|
||||
|
||||
let kHeadersListNode
|
||||
|
||||
function getHeadersList (headers) {
|
||||
if (headers[kHeadersList]) {
|
||||
return headers[kHeadersList]
|
||||
}
|
||||
|
||||
if (!kHeadersListNode) {
|
||||
kHeadersListNode = Object.getOwnPropertySymbols(headers).find(
|
||||
(symbol) => symbol.description === 'headers list'
|
||||
)
|
||||
|
||||
assert(kHeadersListNode, 'Headers cannot be parsed')
|
||||
}
|
||||
|
||||
const headersList = headers[kHeadersListNode]
|
||||
assert(headersList)
|
||||
|
||||
return headersList
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
isCTLExcludingHtab,
|
||||
stringify,
|
||||
getHeadersList
|
||||
validateCookieName,
|
||||
validateCookiePath,
|
||||
validateCookieValue,
|
||||
toIMFDate,
|
||||
stringify
|
||||
}
|
||||
|
||||
|
||||
@@ -16163,6 +16145,7 @@ const {
|
||||
isValidHeaderName,
|
||||
isValidHeaderValue
|
||||
} = __nccwpck_require__(5523)
|
||||
const util = __nccwpck_require__(9023)
|
||||
const { webidl } = __nccwpck_require__(4222)
|
||||
const assert = __nccwpck_require__(2613)
|
||||
|
||||
@@ -16716,6 +16699,9 @@ Object.defineProperties(Headers.prototype, {
|
||||
[Symbol.toStringTag]: {
|
||||
value: 'Headers',
|
||||
configurable: true
|
||||
},
|
||||
[util.inspect.custom]: {
|
||||
enumerable: false
|
||||
}
|
||||
})
|
||||
|
||||
@@ -25892,6 +25878,20 @@ class Pool extends PoolBase {
|
||||
? { ...options.interceptors }
|
||||
: undefined
|
||||
this[kFactory] = factory
|
||||
|
||||
this.on('connectionError', (origin, targets, error) => {
|
||||
// If a connection error occurs, we remove the client from the pool,
|
||||
// and emit a connectionError event. They will not be re-used.
|
||||
// Fixes https://github.com/nodejs/undici/issues/3895
|
||||
for (const target of targets) {
|
||||
// Do not use kRemoveClient here, as it will close the client,
|
||||
// but the client cannot be closed in this state.
|
||||
const idx = this[kClients].indexOf(target)
|
||||
if (idx !== -1) {
|
||||
this[kClients].splice(idx, 1)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
[kGetDispatcher] () {
|
||||
@@ -33935,8 +33935,10 @@ var paginatingEndpoints = [
|
||||
"GET /notifications",
|
||||
"GET /organizations",
|
||||
"GET /orgs/{org}/actions/cache/usage-by-repository",
|
||||
"GET /orgs/{org}/actions/hosted-runners",
|
||||
"GET /orgs/{org}/actions/permissions/repositories",
|
||||
"GET /orgs/{org}/actions/runner-groups",
|
||||
"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners",
|
||||
"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories",
|
||||
"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/runners",
|
||||
"GET /orgs/{org}/actions/runners",
|
||||
@@ -33946,6 +33948,7 @@ var paginatingEndpoints = [
|
||||
"GET /orgs/{org}/actions/variables/{name}/repositories",
|
||||
"GET /orgs/{org}/attestations/{subject_digest}",
|
||||
"GET /orgs/{org}/blocks",
|
||||
"GET /orgs/{org}/campaigns",
|
||||
"GET /orgs/{org}/code-scanning/alerts",
|
||||
"GET /orgs/{org}/code-security/configurations",
|
||||
"GET /orgs/{org}/code-security/configurations/{configuration_id}/repositories",
|
||||
@@ -33954,7 +33957,6 @@ var paginatingEndpoints = [
|
||||
"GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories",
|
||||
"GET /orgs/{org}/copilot/billing/seats",
|
||||
"GET /orgs/{org}/copilot/metrics",
|
||||
"GET /orgs/{org}/copilot/usage",
|
||||
"GET /orgs/{org}/dependabot/alerts",
|
||||
"GET /orgs/{org}/dependabot/secrets",
|
||||
"GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories",
|
||||
@@ -33989,10 +33991,11 @@ var paginatingEndpoints = [
|
||||
"GET /orgs/{org}/repos",
|
||||
"GET /orgs/{org}/rulesets",
|
||||
"GET /orgs/{org}/rulesets/rule-suites",
|
||||
"GET /orgs/{org}/rulesets/{ruleset_id}/history",
|
||||
"GET /orgs/{org}/secret-scanning/alerts",
|
||||
"GET /orgs/{org}/security-advisories",
|
||||
"GET /orgs/{org}/settings/network-configurations",
|
||||
"GET /orgs/{org}/team/{team_slug}/copilot/metrics",
|
||||
"GET /orgs/{org}/team/{team_slug}/copilot/usage",
|
||||
"GET /orgs/{org}/teams",
|
||||
"GET /orgs/{org}/teams/{team_slug}/discussions",
|
||||
"GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments",
|
||||
@@ -34087,6 +34090,7 @@ var paginatingEndpoints = [
|
||||
"GET /repos/{owner}/{repo}/rules/branches/{branch}",
|
||||
"GET /repos/{owner}/{repo}/rulesets",
|
||||
"GET /repos/{owner}/{repo}/rulesets/rule-suites",
|
||||
"GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history",
|
||||
"GET /repos/{owner}/{repo}/secret-scanning/alerts",
|
||||
"GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations",
|
||||
"GET /repos/{owner}/{repo}/security-advisories",
|
||||
@@ -34198,7 +34202,7 @@ __nccwpck_require__.d(__webpack_exports__, {
|
||||
});
|
||||
|
||||
;// CONCATENATED MODULE: ./node_modules/@octokit/plugin-rest-endpoint-methods/dist-src/version.js
|
||||
const VERSION = "13.3.1";
|
||||
const VERSION = "16.0.0";
|
||||
|
||||
//# sourceMappingURL=version.js.map
|
||||
|
||||
@@ -34229,6 +34233,7 @@ const Endpoints = {
|
||||
createEnvironmentVariable: [
|
||||
"POST /repos/{owner}/{repo}/environments/{environment_name}/variables"
|
||||
],
|
||||
createHostedRunnerForOrg: ["POST /orgs/{org}/actions/hosted-runners"],
|
||||
createOrUpdateEnvironmentSecret: [
|
||||
"PUT /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"
|
||||
],
|
||||
@@ -34266,6 +34271,9 @@ const Endpoints = {
|
||||
deleteEnvironmentVariable: [
|
||||
"DELETE /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"
|
||||
],
|
||||
deleteHostedRunnerForOrg: [
|
||||
"DELETE /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"
|
||||
],
|
||||
deleteOrgSecret: ["DELETE /orgs/{org}/actions/secrets/{secret_name}"],
|
||||
deleteOrgVariable: ["DELETE /orgs/{org}/actions/variables/{name}"],
|
||||
deleteRepoSecret: [
|
||||
@@ -34354,6 +34362,24 @@ const Endpoints = {
|
||||
getGithubActionsPermissionsRepository: [
|
||||
"GET /repos/{owner}/{repo}/actions/permissions"
|
||||
],
|
||||
getHostedRunnerForOrg: [
|
||||
"GET /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"
|
||||
],
|
||||
getHostedRunnersGithubOwnedImagesForOrg: [
|
||||
"GET /orgs/{org}/actions/hosted-runners/images/github-owned"
|
||||
],
|
||||
getHostedRunnersLimitsForOrg: [
|
||||
"GET /orgs/{org}/actions/hosted-runners/limits"
|
||||
],
|
||||
getHostedRunnersMachineSpecsForOrg: [
|
||||
"GET /orgs/{org}/actions/hosted-runners/machine-sizes"
|
||||
],
|
||||
getHostedRunnersPartnerImagesForOrg: [
|
||||
"GET /orgs/{org}/actions/hosted-runners/images/partner"
|
||||
],
|
||||
getHostedRunnersPlatformsForOrg: [
|
||||
"GET /orgs/{org}/actions/hosted-runners/platforms"
|
||||
],
|
||||
getJobForWorkflowRun: ["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"],
|
||||
getOrgPublicKey: ["GET /orgs/{org}/actions/secrets/public-key"],
|
||||
getOrgSecret: ["GET /orgs/{org}/actions/secrets/{secret_name}"],
|
||||
@@ -34397,6 +34423,10 @@ const Endpoints = {
|
||||
listEnvironmentVariables: [
|
||||
"GET /repos/{owner}/{repo}/environments/{environment_name}/variables"
|
||||
],
|
||||
listGithubHostedRunnersInGroupForOrg: [
|
||||
"GET /orgs/{org}/actions/runner-groups/{runner_group_id}/hosted-runners"
|
||||
],
|
||||
listHostedRunnersForOrg: ["GET /orgs/{org}/actions/hosted-runners"],
|
||||
listJobsForWorkflowRun: [
|
||||
"GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"
|
||||
],
|
||||
@@ -34515,6 +34545,9 @@ const Endpoints = {
|
||||
updateEnvironmentVariable: [
|
||||
"PATCH /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"
|
||||
],
|
||||
updateHostedRunnerForOrg: [
|
||||
"PATCH /orgs/{org}/actions/hosted-runners/{hosted_runner_id}"
|
||||
],
|
||||
updateOrgVariable: ["PATCH /orgs/{org}/actions/variables/{name}"],
|
||||
updateRepoVariable: [
|
||||
"PATCH /repos/{owner}/{repo}/actions/variables/{name}"
|
||||
@@ -34645,6 +34678,9 @@ const Endpoints = {
|
||||
getGithubBillingUsageReportOrg: [
|
||||
"GET /organizations/{org}/settings/billing/usage"
|
||||
],
|
||||
getGithubBillingUsageReportUser: [
|
||||
"GET /users/{username}/settings/billing/usage"
|
||||
],
|
||||
getGithubPackagesBillingOrg: ["GET /orgs/{org}/settings/billing/packages"],
|
||||
getGithubPackagesBillingUser: [
|
||||
"GET /users/{username}/settings/billing/packages"
|
||||
@@ -34656,6 +34692,13 @@ const Endpoints = {
|
||||
"GET /users/{username}/settings/billing/shared-storage"
|
||||
]
|
||||
},
|
||||
campaigns: {
|
||||
createCampaign: ["POST /orgs/{org}/campaigns"],
|
||||
deleteCampaign: ["DELETE /orgs/{org}/campaigns/{campaign_number}"],
|
||||
getCampaignSummary: ["GET /orgs/{org}/campaigns/{campaign_number}"],
|
||||
listOrgCampaigns: ["GET /orgs/{org}/campaigns"],
|
||||
updateCampaign: ["PATCH /orgs/{org}/campaigns/{campaign_number}"]
|
||||
},
|
||||
checks: {
|
||||
create: ["POST /repos/{owner}/{repo}/check-runs"],
|
||||
createSuite: ["POST /repos/{owner}/{repo}/check-suites"],
|
||||
@@ -34934,10 +34977,9 @@ const Endpoints = {
|
||||
getCopilotSeatDetailsForUser: [
|
||||
"GET /orgs/{org}/members/{username}/copilot"
|
||||
],
|
||||
listCopilotSeats: ["GET /orgs/{org}/copilot/billing/seats"],
|
||||
usageMetricsForOrg: ["GET /orgs/{org}/copilot/usage"],
|
||||
usageMetricsForTeam: ["GET /orgs/{org}/team/{team_slug}/copilot/usage"]
|
||||
listCopilotSeats: ["GET /orgs/{org}/copilot/billing/seats"]
|
||||
},
|
||||
credentials: { revoke: ["POST /credentials/revoke"] },
|
||||
dependabot: {
|
||||
addSelectedRepoToOrgSecret: [
|
||||
"PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"
|
||||
@@ -35032,6 +35074,26 @@ const Endpoints = {
|
||||
getAllTemplates: ["GET /gitignore/templates"],
|
||||
getTemplate: ["GET /gitignore/templates/{name}"]
|
||||
},
|
||||
hostedCompute: {
|
||||
createNetworkConfigurationForOrg: [
|
||||
"POST /orgs/{org}/settings/network-configurations"
|
||||
],
|
||||
deleteNetworkConfigurationFromOrg: [
|
||||
"DELETE /orgs/{org}/settings/network-configurations/{network_configuration_id}"
|
||||
],
|
||||
getNetworkConfigurationForOrg: [
|
||||
"GET /orgs/{org}/settings/network-configurations/{network_configuration_id}"
|
||||
],
|
||||
getNetworkSettingsForOrg: [
|
||||
"GET /orgs/{org}/settings/network-settings/{network_settings_id}"
|
||||
],
|
||||
listNetworkConfigurationsForOrg: [
|
||||
"GET /orgs/{org}/settings/network-configurations"
|
||||
],
|
||||
updateNetworkConfigurationForOrg: [
|
||||
"PATCH /orgs/{org}/settings/network-configurations/{network_configuration_id}"
|
||||
]
|
||||
},
|
||||
interactions: {
|
||||
getRestrictionsForAuthenticatedUser: ["GET /user/interaction-limits"],
|
||||
getRestrictionsForOrg: ["GET /orgs/{org}/interaction-limits"],
|
||||
@@ -35223,6 +35285,7 @@ const Endpoints = {
|
||||
"PUT /orgs/{org}/outside_collaborators/{username}"
|
||||
],
|
||||
createInvitation: ["POST /orgs/{org}/invitations"],
|
||||
createIssueType: ["POST /orgs/{org}/issue-types"],
|
||||
createOrUpdateCustomProperties: ["PATCH /orgs/{org}/properties/schema"],
|
||||
createOrUpdateCustomPropertiesValuesForRepos: [
|
||||
"PATCH /orgs/{org}/properties/values"
|
||||
@@ -35232,6 +35295,7 @@ const Endpoints = {
|
||||
],
|
||||
createWebhook: ["POST /orgs/{org}/hooks"],
|
||||
delete: ["DELETE /orgs/{org}"],
|
||||
deleteIssueType: ["DELETE /orgs/{org}/issue-types/{issue_type_id}"],
|
||||
deleteWebhook: ["DELETE /orgs/{org}/hooks/{hook_id}"],
|
||||
enableOrDisableSecurityProductOnAllOrgRepos: [
|
||||
"POST /orgs/{org}/{security_product}/{enablement}",
|
||||
@@ -35248,6 +35312,10 @@ const Endpoints = {
|
||||
getMembershipForAuthenticatedUser: ["GET /user/memberships/orgs/{org}"],
|
||||
getMembershipForUser: ["GET /orgs/{org}/memberships/{username}"],
|
||||
getOrgRole: ["GET /orgs/{org}/organization-roles/{role_id}"],
|
||||
getOrgRulesetHistory: ["GET /orgs/{org}/rulesets/{ruleset_id}/history"],
|
||||
getOrgRulesetVersion: [
|
||||
"GET /orgs/{org}/rulesets/{ruleset_id}/history/{version_id}"
|
||||
],
|
||||
getWebhook: ["GET /orgs/{org}/hooks/{hook_id}"],
|
||||
getWebhookConfigForOrg: ["GET /orgs/{org}/hooks/{hook_id}/config"],
|
||||
getWebhookDelivery: [
|
||||
@@ -35262,6 +35330,7 @@ const Endpoints = {
|
||||
listForAuthenticatedUser: ["GET /user/orgs"],
|
||||
listForUser: ["GET /users/{username}/orgs"],
|
||||
listInvitationTeams: ["GET /orgs/{org}/invitations/{invitation_id}/teams"],
|
||||
listIssueTypes: ["GET /orgs/{org}/issue-types"],
|
||||
listMembers: ["GET /orgs/{org}/members"],
|
||||
listMembershipsForAuthenticatedUser: ["GET /user/memberships/orgs"],
|
||||
listOrgRoleTeams: ["GET /orgs/{org}/organization-roles/{role_id}/teams"],
|
||||
@@ -35336,6 +35405,7 @@ const Endpoints = {
|
||||
],
|
||||
unblockUser: ["DELETE /orgs/{org}/blocks/{username}"],
|
||||
update: ["PATCH /orgs/{org}"],
|
||||
updateIssueType: ["PUT /orgs/{org}/issue-types/{issue_type_id}"],
|
||||
updateMembershipForAuthenticatedUser: [
|
||||
"PATCH /user/memberships/orgs/{org}"
|
||||
],
|
||||
@@ -35448,37 +35518,6 @@ const Endpoints = {
|
||||
"PATCH /orgs/{org}/private-registries/{secret_name}"
|
||||
]
|
||||
},
|
||||
projects: {
|
||||
addCollaborator: ["PUT /projects/{project_id}/collaborators/{username}"],
|
||||
createCard: ["POST /projects/columns/{column_id}/cards"],
|
||||
createColumn: ["POST /projects/{project_id}/columns"],
|
||||
createForAuthenticatedUser: ["POST /user/projects"],
|
||||
createForOrg: ["POST /orgs/{org}/projects"],
|
||||
createForRepo: ["POST /repos/{owner}/{repo}/projects"],
|
||||
delete: ["DELETE /projects/{project_id}"],
|
||||
deleteCard: ["DELETE /projects/columns/cards/{card_id}"],
|
||||
deleteColumn: ["DELETE /projects/columns/{column_id}"],
|
||||
get: ["GET /projects/{project_id}"],
|
||||
getCard: ["GET /projects/columns/cards/{card_id}"],
|
||||
getColumn: ["GET /projects/columns/{column_id}"],
|
||||
getPermissionForUser: [
|
||||
"GET /projects/{project_id}/collaborators/{username}/permission"
|
||||
],
|
||||
listCards: ["GET /projects/columns/{column_id}/cards"],
|
||||
listCollaborators: ["GET /projects/{project_id}/collaborators"],
|
||||
listColumns: ["GET /projects/{project_id}/columns"],
|
||||
listForOrg: ["GET /orgs/{org}/projects"],
|
||||
listForRepo: ["GET /repos/{owner}/{repo}/projects"],
|
||||
listForUser: ["GET /users/{username}/projects"],
|
||||
moveCard: ["POST /projects/columns/cards/{card_id}/moves"],
|
||||
moveColumn: ["POST /projects/columns/{column_id}/moves"],
|
||||
removeCollaborator: [
|
||||
"DELETE /projects/{project_id}/collaborators/{username}"
|
||||
],
|
||||
update: ["PATCH /projects/{project_id}"],
|
||||
updateCard: ["PATCH /projects/columns/cards/{card_id}"],
|
||||
updateColumn: ["PATCH /projects/columns/{column_id}"]
|
||||
},
|
||||
pulls: {
|
||||
checkIfMerged: ["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"],
|
||||
create: ["POST /repos/{owner}/{repo}/pulls"],
|
||||
@@ -35850,6 +35889,12 @@ const Endpoints = {
|
||||
],
|
||||
getRepoRuleSuites: ["GET /repos/{owner}/{repo}/rulesets/rule-suites"],
|
||||
getRepoRuleset: ["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}"],
|
||||
getRepoRulesetHistory: [
|
||||
"GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history"
|
||||
],
|
||||
getRepoRulesetVersion: [
|
||||
"GET /repos/{owner}/{repo}/rulesets/{ruleset_id}/history/{version_id}"
|
||||
],
|
||||
getRepoRulesets: ["GET /repos/{owner}/{repo}/rulesets"],
|
||||
getStatusChecksProtection: [
|
||||
"GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"
|
||||
@@ -36023,7 +36068,13 @@ const Endpoints = {
|
||||
search: {
|
||||
code: ["GET /search/code"],
|
||||
commits: ["GET /search/commits"],
|
||||
issuesAndPullRequests: ["GET /search/issues"],
|
||||
issuesAndPullRequests: [
|
||||
"GET /search/issues",
|
||||
{},
|
||||
{
|
||||
deprecated: "octokit.rest.search.issuesAndPullRequests() is deprecated, see https://docs.github.com/rest/search/search#search-issues-and-pull-requests"
|
||||
}
|
||||
],
|
||||
labels: ["GET /search/labels"],
|
||||
repos: ["GET /search/repositories"],
|
||||
topics: ["GET /search/topics"],
|
||||
@@ -36077,15 +36128,9 @@ const Endpoints = {
|
||||
addOrUpdateMembershipForUserInOrg: [
|
||||
"PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"
|
||||
],
|
||||
addOrUpdateProjectPermissionsInOrg: [
|
||||
"PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}"
|
||||
],
|
||||
addOrUpdateRepoPermissionsInOrg: [
|
||||
"PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
|
||||
],
|
||||
checkPermissionsForProjectInOrg: [
|
||||
"GET /orgs/{org}/teams/{team_slug}/projects/{project_id}"
|
||||
],
|
||||
checkPermissionsForRepoInOrg: [
|
||||
"GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
|
||||
],
|
||||
@@ -36122,14 +36167,10 @@ const Endpoints = {
|
||||
listPendingInvitationsInOrg: [
|
||||
"GET /orgs/{org}/teams/{team_slug}/invitations"
|
||||
],
|
||||
listProjectsInOrg: ["GET /orgs/{org}/teams/{team_slug}/projects"],
|
||||
listReposInOrg: ["GET /orgs/{org}/teams/{team_slug}/repos"],
|
||||
removeMembershipForUserInOrg: [
|
||||
"DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"
|
||||
],
|
||||
removeProjectInOrg: [
|
||||
"DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}"
|
||||
],
|
||||
removeRepoInOrg: [
|
||||
"DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"
|
||||
],
|
||||
|
||||
Generated
+85
-33
@@ -13,17 +13,19 @@
|
||||
"@actions/exec": "^1.1.1",
|
||||
"@actions/tool-cache": "^2.0.2",
|
||||
"@octokit/core": "^6.1.4",
|
||||
"@octokit/plugin-paginate-rest": "^11.4.3",
|
||||
"@octokit/plugin-rest-endpoint-methods": "^13.3.1",
|
||||
"@octokit/plugin-paginate-rest": "^13.0.1",
|
||||
"@octokit/plugin-rest-endpoint-methods": "^16.0.0",
|
||||
"@renovatebot/pep440": "^4.1.0",
|
||||
"smol-toml": "^1.3.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@biomejs/biome": "1.9.4",
|
||||
"@types/node": "^22.13.10",
|
||||
"@types/semver": "^7.5.8",
|
||||
"@types/js-yaml": "^4.0.9",
|
||||
"@types/node": "^22.15.21",
|
||||
"@types/semver": "^7.7.0",
|
||||
"@vercel/ncc": "^0.38.3",
|
||||
"js-yaml": "^4.1.0",
|
||||
"typescript": "^5.8.2"
|
||||
"typescript": "^5.8.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@actions/core": {
|
||||
@@ -288,34 +290,65 @@
|
||||
"integrity": "sha512-izFjMJ1sir0jn0ldEKhZ7xegCTj/ObmEDlEfpFrx4k/JyZSMRHbO3/rBwgE7f3m2DHt+RrNGIVw4wSmwnm3t/g=="
|
||||
},
|
||||
"node_modules/@octokit/plugin-paginate-rest": {
|
||||
"version": "11.4.3",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.4.3.tgz",
|
||||
"integrity": "sha512-tBXaAbXkqVJlRoA/zQVe9mUdb8rScmivqtpv3ovsC5xhje/a+NOCivs7eUhWBwCApJVsR4G5HMeaLbq7PxqZGA==",
|
||||
"version": "13.0.1",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-13.0.1.tgz",
|
||||
"integrity": "sha512-m1KvHlueScy4mQJWvFDCxFBTIdXS0K1SgFGLmqHyX90mZdCIv6gWBbKRhatxRjhGlONuTK/hztYdaqrTXcFZdQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@octokit/types": "^13.7.0"
|
||||
"@octokit/types": "^14.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 18"
|
||||
"node": ">= 20"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@octokit/core": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/plugin-rest-endpoint-methods": {
|
||||
"version": "13.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.3.1.tgz",
|
||||
"integrity": "sha512-o8uOBdsyR+WR8MK9Cco8dCgvG13H1RlM1nWnK/W7TEACQBFux/vPREgKucxUfuDQ5yi1T3hGf4C5ZmZXAERgwQ==",
|
||||
"node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/openapi-types": {
|
||||
"version": "25.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.1.0.tgz",
|
||||
"integrity": "sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@octokit/plugin-paginate-rest/node_modules/@octokit/types": {
|
||||
"version": "14.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz",
|
||||
"integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@octokit/types": "^13.8.0"
|
||||
"@octokit/openapi-types": "^25.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/plugin-rest-endpoint-methods": {
|
||||
"version": "16.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-16.0.0.tgz",
|
||||
"integrity": "sha512-kJVUQk6/dx/gRNLWUnAWKFs1kVPn5O5CYZyssyEoNYaFedqZxsfYs7DwI3d67hGz4qOwaJ1dpm07hOAD1BXx6g==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@octokit/types": "^14.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 18"
|
||||
"node": ">= 20"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@octokit/core": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/openapi-types": {
|
||||
"version": "25.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-25.1.0.tgz",
|
||||
"integrity": "sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@octokit/plugin-rest-endpoint-methods/node_modules/@octokit/types": {
|
||||
"version": "14.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/types/-/types-14.1.0.tgz",
|
||||
"integrity": "sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@octokit/openapi-types": "^25.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@octokit/request": {
|
||||
"version": "9.2.2",
|
||||
"resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.2.2.tgz",
|
||||
@@ -350,21 +383,39 @@
|
||||
"@octokit/openapi-types": "^23.0.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@renovatebot/pep440": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@renovatebot/pep440/-/pep440-4.1.0.tgz",
|
||||
"integrity": "sha512-mo2RxnOSp78Njt1HmgMwjl6FapP4OyIS8HypJlymCvN7AIV2Xf5PmZfl/E3O1WWZ6IjKrfsEAaPWFMi8tnkq3g==",
|
||||
"license": "Apache-2.0",
|
||||
"engines": {
|
||||
"node": "^20.9.0 || ^22.11.0",
|
||||
"pnpm": "^9.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/js-yaml": {
|
||||
"version": "4.0.9",
|
||||
"resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.9.tgz",
|
||||
"integrity": "sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "22.13.10",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.10.tgz",
|
||||
"integrity": "sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==",
|
||||
"version": "22.15.21",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.21.tgz",
|
||||
"integrity": "sha512-EV/37Td6c+MgKAbkcLG6vqZ2zEYHD7bvSrzqqs2RIhbA6w3x+Dqz8MZM3sP6kGTeLrdoOgKZe+Xja7tUB2DNkQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"undici-types": "~6.20.0"
|
||||
"undici-types": "~6.21.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/semver": {
|
||||
"version": "7.5.8",
|
||||
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz",
|
||||
"integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==",
|
||||
"dev": true
|
||||
"version": "7.7.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.7.0.tgz",
|
||||
"integrity": "sha512-k107IF4+Xr7UHjwDc7Cfd6PRQfbdkiRabXGRjo07b4WyPahFBZCZ1sE+BNxYIJPPg73UkfOsVOLwqVc/6ETrIA==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@vercel/ncc": {
|
||||
"version": "0.38.3",
|
||||
@@ -441,9 +492,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/typescript": {
|
||||
"version": "5.8.2",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz",
|
||||
"integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==",
|
||||
"version": "5.8.3",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz",
|
||||
"integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"bin": {
|
||||
@@ -455,9 +506,10 @@
|
||||
}
|
||||
},
|
||||
"node_modules/undici": {
|
||||
"version": "5.28.5",
|
||||
"resolved": "https://registry.npmjs.org/undici/-/undici-5.28.5.tgz",
|
||||
"integrity": "sha512-zICwjrDrcrUE0pyyJc1I2QzBkLM8FINsgOrt6WjA+BgajVq9Nxu2PbFFXUrAggLfDXlZGZBVZYw7WNV5KiBiBA==",
|
||||
"version": "5.29.0",
|
||||
"resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz",
|
||||
"integrity": "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@fastify/busboy": "^2.0.0"
|
||||
},
|
||||
@@ -466,9 +518,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/undici-types": {
|
||||
"version": "6.20.0",
|
||||
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz",
|
||||
"integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==",
|
||||
"version": "6.21.0",
|
||||
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
|
||||
"integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
|
||||
+7
-5
@@ -26,16 +26,18 @@
|
||||
"@actions/exec": "^1.1.1",
|
||||
"@actions/tool-cache": "^2.0.2",
|
||||
"@octokit/core": "^6.1.4",
|
||||
"@octokit/plugin-paginate-rest": "^11.4.3",
|
||||
"@octokit/plugin-rest-endpoint-methods": "^13.3.1",
|
||||
"@octokit/plugin-paginate-rest": "^13.0.1",
|
||||
"@octokit/plugin-rest-endpoint-methods": "^16.0.0",
|
||||
"@renovatebot/pep440": "^4.1.0",
|
||||
"smol-toml": "^1.3.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@biomejs/biome": "1.9.4",
|
||||
"@types/node": "^22.13.10",
|
||||
"@types/semver": "^7.5.8",
|
||||
"@types/js-yaml": "^4.0.9",
|
||||
"@types/node": "^22.15.21",
|
||||
"@types/semver": "^7.7.0",
|
||||
"@vercel/ncc": "^0.38.3",
|
||||
"js-yaml": "^4.1.0",
|
||||
"typescript": "^5.8.2"
|
||||
"typescript": "^5.8.3"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ import * as tc from "@actions/tool-cache";
|
||||
import * as path from "node:path";
|
||||
import { promises as fs } from "node:fs";
|
||||
import * as semver from "semver";
|
||||
import * as pep440 from "@renovatebot/pep440";
|
||||
import { OWNER, REPO, TOOL_CACHE_NAME } from "../utils/constants";
|
||||
import type { Architecture, Platform } from "../utils/platforms";
|
||||
import { validateChecksum } from "./checksum/checksum";
|
||||
@@ -124,8 +125,8 @@ export async function resolveVersion(
|
||||
return version;
|
||||
}
|
||||
const availableVersions = await getAvailableVersions(githubToken);
|
||||
const resolvedVersion = tc.evaluateVersions(availableVersions, version);
|
||||
if (resolvedVersion === "") {
|
||||
const resolvedVersion = maxSatisfying(availableVersions, version);
|
||||
if (resolvedVersion === undefined) {
|
||||
throw new Error(`No version found for ${version}`);
|
||||
}
|
||||
core.debug(`Resolved version: ${resolvedVersion}`);
|
||||
@@ -195,3 +196,22 @@ async function getLatestRelease(
|
||||
});
|
||||
return latestRelease;
|
||||
}
|
||||
|
||||
function maxSatisfying(
|
||||
versions: string[],
|
||||
version: string,
|
||||
): string | undefined {
|
||||
const maxSemver = tc.evaluateVersions(versions, version);
|
||||
if (maxSemver !== "") {
|
||||
core.debug(`Found a version that satisfies the semver range: ${maxSemver}`);
|
||||
return maxSemver;
|
||||
}
|
||||
const maxPep440 = pep440.maxSatisfying(versions, version);
|
||||
if (maxPep440 !== null) {
|
||||
core.debug(
|
||||
`Found a version that satisfies the pep440 specifier: ${maxPep440}`,
|
||||
);
|
||||
return maxPep440;
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user