diff --git a/.github/scripts/crib/lib/check-route53-records.js b/.github/scripts/crib/lib/check-route53-records.js deleted file mode 100644 index f35762ec88..0000000000 --- a/.github/scripts/crib/lib/check-route53-records.js +++ /dev/null @@ -1,91 +0,0 @@ -import { setTimeout } from "node:timers/promises"; -import { - Route53Client, - ListResourceRecordSetsCommand, -} from "@aws-sdk/client-route-53"; - -// us-east-1 is the global region used by Route 53. -const route53Client = new Route53Client({ region: "us-east-1" }); - -async function paginateListResourceRecordSets(route53Client, params) { - let isTruncated = true; - let nextRecordName, nextRecordType; - let allRecordSets = []; - - while (isTruncated) { - const response = await route53Client.send( - new ListResourceRecordSetsCommand({ - ...params, - ...(nextRecordName && { StartRecordName: nextRecordName }), - ...(nextRecordType && { StartRecordType: nextRecordType }), - }) - ); - - allRecordSets = allRecordSets.concat(response.ResourceRecordSets); - isTruncated = response.IsTruncated; - if (isTruncated) { - nextRecordName = response.NextRecordName; - nextRecordType = response.NextRecordType; - } - } - - return allRecordSets; -} - -/** - * Check if Route 53 records exist for a given Route 53 zone. - * - * @param {string} hostedZoneId The ID of the hosted zone. - * @param {string[]} recordNames An array of record names to check. - * @param {number} maxRetries The maximum number of retries. - * @param {number} initialBackoffMs The initial backoff time in milliseconds. - * @returns {Promise} True if records exist, false otherwise. - */ -export async function route53RecordsExist( - hostedZoneId, - recordNames, - maxRetries = 8, - initialBackoffMs = 2000 -) { - let attempts = 0; - - // We try to gather all records within a specified time limit. - // We issue retries due to an indeterminate amount of time required - // for record propagation. - console.info("Checking DNS records in Route 53..."); - while (attempts < maxRetries) { - try { - const allRecordSets = await paginateListResourceRecordSets( - route53Client, - { - HostedZoneId: hostedZoneId, - MaxItems: "300", - } - ); - - const recordExists = recordNames.every((name) => - allRecordSets.some((r) => r.Name.includes(name)) - ); - - if (recordExists) { - console.info("All records found in Route 53."); - return true; - } - - // If any record is not found, throw an error to trigger a retry - throw new Error( - "One or more DNS records not found in Route 53, retrying..." - ); - } catch (error) { - console.error(`Attempt ${attempts + 1}:`, error.message); - if (attempts === maxRetries - 1) { - return false; // Return false after the last attempt - } - // Exponential backoff - await setTimeout(initialBackoffMs * 2 ** attempts); - attempts++; - } - } - // Should not reach here if retries are exhausted - return false; -} diff --git a/.github/scripts/crib/package.json b/.github/scripts/crib/package.json deleted file mode 100644 index b009d63f38..0000000000 --- a/.github/scripts/crib/package.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "crib", - "version": "1.0.0", - "description": "", - "main": "pr-comment-crib-env.js", - "type": "module", - "keywords": [], - "author": "", - "license": "MIT", - "engines": { - "node": ">=18", - "pnpm": ">=9" - }, - "dependencies": { - "@actions/core": "^1.10.1", - "@actions/github": "^6.0.0", - "@aws-sdk/client-route-53": "^3.525.0", - "@octokit/rest": "^20.0.2" - } -} diff --git a/.github/scripts/crib/pnpm-lock.yaml b/.github/scripts/crib/pnpm-lock.yaml deleted file mode 100644 index a65caf8355..0000000000 --- a/.github/scripts/crib/pnpm-lock.yaml +++ /dev/null @@ -1,1206 +0,0 @@ -lockfileVersion: '9.0' - -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - -importers: - - .: - dependencies: - '@actions/core': - specifier: ^1.10.1 - version: 1.10.1 - '@actions/github': - specifier: ^6.0.0 - version: 6.0.0 - '@aws-sdk/client-route-53': - specifier: ^3.525.0 - version: 3.529.1 - '@octokit/rest': - specifier: ^20.0.2 - version: 20.0.2 - -packages: - - '@actions/core@1.10.1': - resolution: {integrity: sha512-3lBR9EDAY+iYIpTnTIXmWcNbX3T2kCkAEQGIQx4NVQ0575nk2k3GRZDTPQG+vVtS2izSLmINlxXf0uLtnrTP+g==} - - '@actions/github@6.0.0': - resolution: {integrity: sha512-alScpSVnYmjNEXboZjarjukQEzgCRmjMv6Xj47fsdnqGS73bjJNDpiiXmp8jr0UZLdUB6d9jW63IcmddUP+l0g==} - - '@actions/http-client@2.2.1': - resolution: {integrity: sha512-KhC/cZsq7f8I4LfZSJKgCvEwfkE8o1538VoBeoGzokVLLnbFDEAdFD3UhoMklxo2un9NJVBdANOresx7vTHlHw==} - - '@aws-crypto/crc32@3.0.0': - resolution: {integrity: sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==} - - '@aws-crypto/ie11-detection@3.0.0': - resolution: {integrity: sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==} - - '@aws-crypto/sha256-browser@3.0.0': - resolution: {integrity: sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==} - - '@aws-crypto/sha256-js@3.0.0': - resolution: {integrity: sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==} - - '@aws-crypto/supports-web-crypto@3.0.0': - resolution: {integrity: sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==} - - '@aws-crypto/util@3.0.0': - resolution: {integrity: sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==} - - '@aws-sdk/client-route-53@3.529.1': - resolution: {integrity: sha512-osra30V5ILwEBeE1DUZreY7HYWQGco+WcQ1qg1UDSh/C0Nyxlu+8bVpwB/bjaldmy5Fi9MRv8SQsMdiAJFNp+w==} - engines: {node: '>=14.0.0'} - - '@aws-sdk/client-sso-oidc@3.529.1': - resolution: {integrity: sha512-bimxCWAvRnVcluWEQeadXvHyzWlBWsuGVligsaVZaGF0TLSn0eLpzpN9B1EhHzTf7m0Kh/wGtPSH1JxO6PpB+A==} - engines: {node: '>=14.0.0'} - peerDependencies: - '@aws-sdk/credential-provider-node': ^3.529.1 - - '@aws-sdk/client-sso@3.529.1': - resolution: {integrity: sha512-KT1U/ZNjDhVv2ZgjzaeAn9VM7l667yeSguMrRYC8qk5h91/61MbjZypi6eOuKuVM+0fsQvzKScTQz0Lio0eYag==} - engines: {node: '>=14.0.0'} - - '@aws-sdk/client-sts@3.529.1': - resolution: {integrity: sha512-Rvk2Sr3MACQTOtngUU+omlf4E17k47dRVXR7OFRD6Ow5iGgC9tkN2q/ExDPW/ktPOmM0lSgzWyQ6/PC/Zq3HUg==} - engines: {node: '>=14.0.0'} - peerDependencies: - '@aws-sdk/credential-provider-node': ^3.529.1 - - '@aws-sdk/core@3.529.1': - resolution: {integrity: sha512-Sj42sYPfaL9PHvvciMICxhyrDZjqnnvFbPKDmQL5aFKyXy122qx7RdVqUOQERDmMQfvJh6+0W1zQlLnre89q4Q==} - engines: {node: '>=14.0.0'} - - '@aws-sdk/credential-provider-env@3.523.0': - resolution: {integrity: sha512-Y6DWdH6/OuMDoNKVzZlNeBc6f1Yjk1lYMjANKpIhMbkRCvLJw/PYZKOZa8WpXbTYdgg9XLjKybnLIb3ww3uuzA==} - engines: {node: '>=14.0.0'} - - '@aws-sdk/credential-provider-http@3.525.0': - resolution: {integrity: sha512-RNWQGuSBQZhl3iqklOslUEfQ4br1V3DCPboMpeqFtddUWJV3m2u2extFur9/4Uy+1EHVF120IwZUKtd8dF+ibw==} - engines: {node: '>=14.0.0'} - - '@aws-sdk/credential-provider-ini@3.529.1': - resolution: {integrity: sha512-RjHsuTvHIwXG7a/3ERexemiD3c9riKMCZQzY2/b0Gg0ButEVbBcMfERtUzWmQ0V4ufe/PEZjP68MH1gupcoF9A==} - engines: {node: '>=14.0.0'} - - '@aws-sdk/credential-provider-node@3.529.1': - resolution: {integrity: sha512-mvY7F3dMmk/0dZOCfl5sUI1bG0osureBjxhELGCF0KkJqhWI0hIzh8UnPkYytSg3vdc97CMv7pTcozxrdA3b0g==} - engines: {node: '>=14.0.0'} - - '@aws-sdk/credential-provider-process@3.523.0': - resolution: {integrity: sha512-f0LP9KlFmMvPWdKeUKYlZ6FkQAECUeZMmISsv6NKtvPCI9e4O4cLTeR09telwDK8P0HrgcRuZfXM7E30m8re0Q==} - engines: {node: '>=14.0.0'} - - '@aws-sdk/credential-provider-sso@3.529.1': - resolution: {integrity: sha512-KFMKkaoTGDgSJG+o9Ii7AglWG5JQeF6IFw9cXLMwDdIrp3KUmRcUIqe0cjOoCqeQEDGy0VHsimHmKKJ3894i/A==} - engines: {node: '>=14.0.0'} - - '@aws-sdk/credential-provider-web-identity@3.529.1': - resolution: {integrity: sha512-AGuZDOKN+AttjwTjrF47WLqzeEut2YynyxjkXZhxZF/xn8i5Y51kUAUdXsXw1bgR25pAeXQIdhsrQlRa1Pm5kw==} - engines: {node: '>=14.0.0'} - - '@aws-sdk/middleware-host-header@3.523.0': - resolution: {integrity: sha512-4g3q7Ta9sdD9TMUuohBAkbx/e3I/juTqfKi7TPgP+8jxcYX72MOsgemAMHuP6CX27eyj4dpvjH+w4SIVDiDSmg==} - engines: {node: '>=14.0.0'} - - '@aws-sdk/middleware-logger@3.523.0': - resolution: {integrity: sha512-PeDNJNhfiaZx54LBaLTXzUaJ9LXFwDFFIksipjqjvxMafnoVcQwKbkoPUWLe5ytT4nnL1LogD3s55mERFUsnwg==} - engines: {node: '>=14.0.0'} - - '@aws-sdk/middleware-recursion-detection@3.523.0': - resolution: {integrity: sha512-nZ3Vt7ehfSDYnrcg/aAfjjvpdE+61B3Zk68i6/hSUIegT3IH9H1vSW67NDKVp+50hcEfzWwM2HMPXxlzuyFyrw==} - engines: {node: '>=14.0.0'} - - '@aws-sdk/middleware-sdk-route53@3.523.0': - resolution: {integrity: sha512-d+SKqDBM3XCVkF/crRWwJD1WuS4PBY/CaTGwIyND1Z3o3ZCMhyo4f2ni19U+7ZtEULW50ZGznhB2F4GJHqpDUg==} - engines: {node: '>=14.0.0'} - - '@aws-sdk/middleware-user-agent@3.525.0': - resolution: {integrity: sha512-4al/6uO+t/QIYXK2OgqzDKQzzLAYJza1vWFS+S0lJ3jLNGyLB5BMU5KqWjDzevYZ4eCnz2Nn7z0FveUTNz8YdQ==} - engines: {node: '>=14.0.0'} - - '@aws-sdk/region-config-resolver@3.525.0': - resolution: {integrity: sha512-8kFqXk6UyKgTMi7N7QlhA6qM4pGPWbiUXqEY2RgUWngtxqNFGeM9JTexZeuavQI+qLLe09VPShPNX71fEDcM6w==} - engines: {node: '>=14.0.0'} - - '@aws-sdk/token-providers@3.529.1': - resolution: {integrity: sha512-NpgMjsfpqiugbxrYGXtta914N43Mx/H0niidqv8wKMTgWQEtsJvYtOni+kuLXB+LmpjaMFNlpadooFU/bK4buA==} - engines: {node: '>=14.0.0'} - - '@aws-sdk/types@3.523.0': - resolution: {integrity: sha512-AqGIu4u+SxPiUuNBp2acCVcq80KDUFjxe6e3cMTvKWTzCbrVk1AXv0dAaJnCmdkWIha6zJDWxpIk/aL4EGhZ9A==} - engines: {node: '>=14.0.0'} - - '@aws-sdk/util-endpoints@3.525.0': - resolution: {integrity: sha512-DIW7WWU5tIGkeeKX6NJUyrEIdWMiqjLQG3XBzaUj+ufIENwNjdAHhlD8l2vX7Yr3JZRT6yN/84wBCj7Tw1xd1g==} - engines: {node: '>=14.0.0'} - - '@aws-sdk/util-locate-window@3.495.0': - resolution: {integrity: sha512-MfaPXT0kLX2tQaR90saBT9fWQq2DHqSSJRzW+MZWsmF+y5LGCOhO22ac/2o6TKSQm7h0HRc2GaADqYYYor62yg==} - engines: {node: '>=14.0.0'} - - '@aws-sdk/util-user-agent-browser@3.523.0': - resolution: {integrity: sha512-6ZRNdGHX6+HQFqTbIA5+i8RWzxFyxsZv8D3soRfpdyWIKkzhSz8IyRKXRciwKBJDaC7OX2jzGE90wxRQft27nA==} - - '@aws-sdk/util-user-agent-node@3.525.0': - resolution: {integrity: sha512-88Wjt4efyUSBGcyIuh1dvoMqY1k15jpJc5A/3yi67clBQEFsu9QCodQCQPqmRjV3VRcMtBOk+jeCTiUzTY5dRQ==} - engines: {node: '>=14.0.0'} - peerDependencies: - aws-crt: '>=1.0.0' - peerDependenciesMeta: - aws-crt: - optional: true - - '@aws-sdk/util-utf8-browser@3.259.0': - resolution: {integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==} - - '@aws-sdk/xml-builder@3.523.0': - resolution: {integrity: sha512-wfvyVymj2TUw7SuDor9IuFcAzJZvWRBZotvY/wQJOlYa3UP3Oezzecy64N4FWfBJEsZdrTN+HOZFl+IzTWWnUA==} - engines: {node: '>=14.0.0'} - - '@fastify/busboy@2.1.1': - resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} - engines: {node: '>=14'} - - '@octokit/auth-token@4.0.0': - resolution: {integrity: sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==} - engines: {node: '>= 18'} - - '@octokit/core@5.1.0': - resolution: {integrity: sha512-BDa2VAMLSh3otEiaMJ/3Y36GU4qf6GI+VivQ/P41NC6GHcdxpKlqV0ikSZ5gdQsmS3ojXeRx5vasgNTinF0Q4g==} - engines: {node: '>= 18'} - - '@octokit/endpoint@9.0.4': - resolution: {integrity: sha512-DWPLtr1Kz3tv8L0UvXTDP1fNwM0S+z6EJpRcvH66orY6Eld4XBMCSYsaWp4xIm61jTWxK68BrR7ibO+vSDnZqw==} - engines: {node: '>= 18'} - - '@octokit/graphql@7.0.2': - resolution: {integrity: sha512-OJ2iGMtj5Tg3s6RaXH22cJcxXRi7Y3EBqbHTBRq+PQAqfaS8f/236fUrWhfSn8P4jovyzqucxme7/vWSSZBX2Q==} - engines: {node: '>= 18'} - - '@octokit/openapi-types@20.0.0': - resolution: {integrity: sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA==} - - '@octokit/plugin-paginate-rest@9.2.1': - resolution: {integrity: sha512-wfGhE/TAkXZRLjksFXuDZdmGnJQHvtU/joFQdweXUgzo1XwvBCD4o4+75NtFfjfLK5IwLf9vHTfSiU3sLRYpRw==} - engines: {node: '>= 18'} - peerDependencies: - '@octokit/core': '5' - - '@octokit/plugin-request-log@4.0.1': - resolution: {integrity: sha512-GihNqNpGHorUrO7Qa9JbAl0dbLnqJVrV8OXe2Zm5/Y4wFkZQDfTreBzVmiRfJVfE4mClXdihHnbpyyO9FSX4HA==} - engines: {node: '>= 18'} - peerDependencies: - '@octokit/core': '5' - - '@octokit/plugin-rest-endpoint-methods@10.4.1': - resolution: {integrity: sha512-xV1b+ceKV9KytQe3zCVqjg+8GTGfDYwaT1ATU5isiUyVtlVAO3HNdzpS4sr4GBx4hxQ46s7ITtZrAsxG22+rVg==} - engines: {node: '>= 18'} - peerDependencies: - '@octokit/core': '5' - - '@octokit/request-error@5.0.1': - resolution: {integrity: sha512-X7pnyTMV7MgtGmiXBwmO6M5kIPrntOXdyKZLigNfQWSEQzVxR4a4vo49vJjTWX70mPndj8KhfT4Dx+2Ng3vnBQ==} - engines: {node: '>= 18'} - - '@octokit/request@8.2.0': - resolution: {integrity: sha512-exPif6x5uwLqv1N1irkLG1zZNJkOtj8bZxuVHd71U5Ftuxf2wGNvAJyNBcPbPC+EBzwYEbBDdSFb8EPcjpYxPQ==} - engines: {node: '>= 18'} - - '@octokit/rest@20.0.2': - resolution: {integrity: sha512-Ux8NDgEraQ/DMAU1PlAohyfBBXDwhnX2j33Z1nJNziqAfHi70PuxkFYIcIt8aIAxtRE7KVuKp8lSR8pA0J5iOQ==} - engines: {node: '>= 18'} - - '@octokit/types@12.6.0': - resolution: {integrity: sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==} - - '@smithy/abort-controller@2.1.4': - resolution: {integrity: sha512-66HO817oIZ2otLIqy06R5muapqZjkgF1jfU0wyNko8cuqZNu8nbS9ljlhcRYw/M/uWRJzB9ih81DLSHhYbBLlQ==} - engines: {node: '>=14.0.0'} - - '@smithy/config-resolver@2.1.5': - resolution: {integrity: sha512-LcBB5JQC3Tx2ZExIJzfvWaajhFIwHrUNQeqxhred2r5nnqrdly9uoCrvM1sxOOdghYuWWm2Kr8tBCDOmxsgeTA==} - engines: {node: '>=14.0.0'} - - '@smithy/core@1.3.8': - resolution: {integrity: sha512-6cFhQ9ChU7MxvOXJn6nuUSONacpNsGHWhfueROQuM/0vibDdZA9FWEdNbVkuVuc+BFI5BnaX3ltERUlpUirpIA==} - engines: {node: '>=14.0.0'} - - '@smithy/credential-provider-imds@2.2.6': - resolution: {integrity: sha512-+xQe4Pite0kdk9qn0Vyw5BRVh0iSlj+T4TEKRXr4E1wZKtVgIzGlkCrfICSjiPVFkPxk4jMpVboMYdEiiA88/w==} - engines: {node: '>=14.0.0'} - - '@smithy/eventstream-codec@2.1.4': - resolution: {integrity: sha512-UkiieTztP7adg8EuqZvB0Y4LewdleZCJU7Kgt9RDutMsRYqO32fMpWeQHeTHaIMosmzcRZUykMRrhwGJe9mP3A==} - - '@smithy/fetch-http-handler@2.4.5': - resolution: {integrity: sha512-FR1IMGdo0yRFs1tk71zRGSa1MznVLQOVNaPjyNtx6dOcy/u0ovEnXN5NVz6slw5KujFlg3N1w4+UbO8F3WyYUg==} - - '@smithy/hash-node@2.1.4': - resolution: {integrity: sha512-uvCcpDLXaTTL0X/9ezF8T8sS77UglTfZVQaUOBiCvR0QydeSyio3t0Hj3QooVdyFsKTubR8gCk/ubLk3vAyDng==} - engines: {node: '>=14.0.0'} - - '@smithy/invalid-dependency@2.1.4': - resolution: {integrity: sha512-QzlNBl6jt3nb9jNnE51wTegReVvUdozyMMrFEyb/rc6AzPID1O+qMJYjAAoNw098y0CZVfCpEnoK2+mfBOd8XA==} - - '@smithy/is-array-buffer@2.1.1': - resolution: {integrity: sha512-xozSQrcUinPpNPNPds4S7z/FakDTh1MZWtRP/2vQtYB/u3HYrX2UXuZs+VhaKBd6Vc7g2XPr2ZtwGBNDN6fNKQ==} - engines: {node: '>=14.0.0'} - - '@smithy/middleware-content-length@2.1.4': - resolution: {integrity: sha512-C6VRwfcr0w9qRFhDGCpWMVhlEIBFlmlPRP1aX9Cv9xDj9SUwlDrNvoV1oP1vjRYuLxCDgovBBynCwwcluS2wLw==} - engines: {node: '>=14.0.0'} - - '@smithy/middleware-endpoint@2.4.6': - resolution: {integrity: sha512-AsXtUXHPOAS0EGZUSFOsVJvc7p0KL29PGkLxLfycPOcFVLru/oinYB6yvyL73ZZPX2OB8sMYUMrj7eH2kI7V/w==} - engines: {node: '>=14.0.0'} - - '@smithy/middleware-retry@2.1.7': - resolution: {integrity: sha512-8fOP/cJN4oMv+5SRffZC8RkqfWxHqGgn/86JPINY/1DnTRegzf+G5GT9lmIdG1YasuSbU7LISfW9PXil3isPVw==} - engines: {node: '>=14.0.0'} - - '@smithy/middleware-serde@2.2.1': - resolution: {integrity: sha512-VAWRWqnNjgccebndpyK94om4ZTYzXLQxUmNCXYzM/3O9MTfQjTNBgtFtQwyIIez6z7LWcCsXmnKVIOE9mLqAHQ==} - engines: {node: '>=14.0.0'} - - '@smithy/middleware-stack@2.1.4': - resolution: {integrity: sha512-Qqs2ba8Ax1rGKOSGJS2JN23fhhox2WMdRuzx0NYHtXzhxbJOIMmz9uQY6Hf4PY8FPteBPp1+h0j5Fmr+oW12sg==} - engines: {node: '>=14.0.0'} - - '@smithy/node-config-provider@2.2.5': - resolution: {integrity: sha512-CxPf2CXhjO79IypHJLBATB66Dw6suvr1Yc2ccY39hpR6wdse3pZ3E8RF83SODiNH0Wjmkd0ze4OF8exugEixgA==} - engines: {node: '>=14.0.0'} - - '@smithy/node-http-handler@2.4.3': - resolution: {integrity: sha512-bD5zRdEl1u/4vAAMeQnGEUNbH1seISV2Z0Wnn7ltPRl/6B2zND1R9XzTfsOnH1R5jqghpochF/mma8u7uXz0qQ==} - engines: {node: '>=14.0.0'} - - '@smithy/property-provider@2.1.4': - resolution: {integrity: sha512-nWaY/MImj1BiXZ9WY65h45dcxOx8pl06KYoHxwojDxDL+Q9yLU1YnZpgv8zsHhEftlj9KhePENjQTlNowWVyug==} - engines: {node: '>=14.0.0'} - - '@smithy/protocol-http@3.2.2': - resolution: {integrity: sha512-xYBlllOQcOuLoxzhF2u8kRHhIFGQpDeTQj/dBSnw4kfI29WMKL5RnW1m9YjnJAJ49miuIvrkJR+gW5bCQ+Mchw==} - engines: {node: '>=14.0.0'} - - '@smithy/querystring-builder@2.1.4': - resolution: {integrity: sha512-LXSL0J/nRWvGT+jIj+Fip3j0J1ZmHkUyBFRzg/4SmPNCLeDrtVu7ptKOnTboPsFZu5BxmpYok3kJuQzzRdrhbw==} - engines: {node: '>=14.0.0'} - - '@smithy/querystring-parser@2.1.4': - resolution: {integrity: sha512-U2b8olKXgZAs0eRo7Op11jTNmmcC/sqYmsA7vN6A+jkGnDvJlEl7AetUegbBzU8q3D6WzC5rhR/joIy8tXPzIg==} - engines: {node: '>=14.0.0'} - - '@smithy/service-error-classification@2.1.4': - resolution: {integrity: sha512-JW2Hthy21evnvDmYYk1kItOmbp3X5XI5iqorXgFEunb6hQfSDZ7O1g0Clyxg7k/Pcr9pfLk5xDIR2To/IohlsQ==} - engines: {node: '>=14.0.0'} - - '@smithy/shared-ini-file-loader@2.3.5': - resolution: {integrity: sha512-oI99+hOvsM8oAJtxAGmoL/YCcGXtbP0fjPseYGaNmJ4X5xOFTer0KPk7AIH3AL6c5AlYErivEi1X/X78HgTVIw==} - engines: {node: '>=14.0.0'} - - '@smithy/signature-v4@2.1.4': - resolution: {integrity: sha512-gnu9gCn0qQ8IdhNjs6o3QVCXzUs33znSDYwVMWo3nX4dM6j7z9u6FC302ShYyVWfO4MkVMuGCCJ6nl3PcH7V1Q==} - engines: {node: '>=14.0.0'} - - '@smithy/smithy-client@2.4.5': - resolution: {integrity: sha512-igXOM4kPXPo6b5LZXTUqTnrGk20uVd8OXoybC3f89gczzGfziLK4yUNOmiHSdxY9OOMOnnhVe5MpTm01MpFqvA==} - engines: {node: '>=14.0.0'} - - '@smithy/types@2.11.0': - resolution: {integrity: sha512-AR0SXO7FuAskfNhyGfSTThpLRntDI5bOrU0xrpVYU0rZyjl3LBXInZFMTP/NNSd7IS6Ksdtar0QvnrPRIhVrLQ==} - engines: {node: '>=14.0.0'} - - '@smithy/url-parser@2.1.4': - resolution: {integrity: sha512-1hTy6UYRYqOZlHKH2/2NzdNQ4NNmW2Lp0sYYvztKy+dEQuLvZL9w88zCzFQqqFer3DMcscYOshImxkJTGdV+rg==} - - '@smithy/util-base64@2.2.1': - resolution: {integrity: sha512-troGfokrpoqv8TGgsb8p4vvM71vqor314514jyQ0i9Zae3qs0jUVbSMCIBB1tseVynXFRcZJAZ9hPQYlifLD5A==} - engines: {node: '>=14.0.0'} - - '@smithy/util-body-length-browser@2.1.1': - resolution: {integrity: sha512-ekOGBLvs1VS2d1zM2ER4JEeBWAvIOUKeaFch29UjjJsxmZ/f0L3K3x0dEETgh3Q9bkZNHgT+rkdl/J/VUqSRag==} - - '@smithy/util-body-length-node@2.2.2': - resolution: {integrity: sha512-U7DooaT1SfW7XHrOcxthYJnQ+WMaefRrFPxW5Qmypw38Ivv+TKvfVuVHA9V162h8BeW9rzOJwOunjgXd0DdB4w==} - engines: {node: '>=14.0.0'} - - '@smithy/util-buffer-from@2.1.1': - resolution: {integrity: sha512-clhNjbyfqIv9Md2Mg6FffGVrJxw7bgK7s3Iax36xnfVj6cg0fUG7I4RH0XgXJF8bxi+saY5HR21g2UPKSxVCXg==} - engines: {node: '>=14.0.0'} - - '@smithy/util-config-provider@2.2.1': - resolution: {integrity: sha512-50VL/tx9oYYcjJn/qKqNy7sCtpD0+s8XEBamIFo4mFFTclKMNp+rsnymD796uybjiIquB7VCB/DeafduL0y2kw==} - engines: {node: '>=14.0.0'} - - '@smithy/util-defaults-mode-browser@2.1.7': - resolution: {integrity: sha512-vvIpWsysEdY77R0Qzr6+LRW50ye7eii7AyHM0OJnTi0isHYiXo5M/7o4k8gjK/b1upQJdfjzSBoJVa2SWrI+2g==} - engines: {node: '>= 10.0.0'} - - '@smithy/util-defaults-mode-node@2.2.7': - resolution: {integrity: sha512-qzXkSDyU6Th+rNNcNkG4a7Ix7m5HlMOtSCPxTVKlkz7eVsqbSSPggegbFeQJ2MVELBB4wnzNPsVPJIrpIaJpXA==} - engines: {node: '>= 10.0.0'} - - '@smithy/util-endpoints@1.1.5': - resolution: {integrity: sha512-tgDpaUNsUtRvNiBulKU1VnpoXU1GINMfZZXunRhUXOTBEAufG1Wp79uDXLau2gg1RZ4dpAR6lXCkrmddihCGUg==} - engines: {node: '>= 14.0.0'} - - '@smithy/util-hex-encoding@2.1.1': - resolution: {integrity: sha512-3UNdP2pkYUUBGEXzQI9ODTDK+Tcu1BlCyDBaRHwyxhA+8xLP8agEKQq4MGmpjqb4VQAjq9TwlCQX0kP6XDKYLg==} - engines: {node: '>=14.0.0'} - - '@smithy/util-middleware@2.1.4': - resolution: {integrity: sha512-5yYNOgCN0DL0OplME0pthoUR/sCfipnROkbTO7m872o0GHCVNJj5xOFJ143rvHNA54+pIPMLum4z2DhPC2pVGA==} - engines: {node: '>=14.0.0'} - - '@smithy/util-retry@2.1.4': - resolution: {integrity: sha512-JRZwhA3fhkdenSEYIWatC8oLwt4Bdf2LhHbNQApqb7yFoIGMl4twcYI3BcJZ7YIBZrACA9jGveW6tuCd836XzQ==} - engines: {node: '>= 14.0.0'} - - '@smithy/util-stream@2.1.5': - resolution: {integrity: sha512-FqvBFeTgx+QC4+i8USHqU8Ifs9nYRpW/OBfksojtgkxPIQ2H7ypXDEbnQRAV7PwoNHWcSwPomLYi0svmQQG5ow==} - engines: {node: '>=14.0.0'} - - '@smithy/util-uri-escape@2.1.1': - resolution: {integrity: sha512-saVzI1h6iRBUVSqtnlOnc9ssU09ypo7n+shdQ8hBTZno/9rZ3AuRYvoHInV57VF7Qn7B+pFJG7qTzFiHxWlWBw==} - engines: {node: '>=14.0.0'} - - '@smithy/util-utf8@2.2.0': - resolution: {integrity: sha512-hBsKr5BqrDrKS8qy+YcV7/htmMGxriA1PREOf/8AGBhHIZnfilVv1Waf1OyKhSbFW15U/8+gcMUQ9/Kk5qwpHQ==} - engines: {node: '>=14.0.0'} - - '@smithy/util-waiter@2.1.4': - resolution: {integrity: sha512-AK17WaC0hx1wR9juAOsQkJ6DjDxBGEf5TrKhpXtNFEn+cVto9Li3MVsdpAO97AF7bhFXSyC8tJA3F4ThhqwCdg==} - engines: {node: '>=14.0.0'} - - before-after-hook@2.2.3: - resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} - - bowser@2.11.0: - resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} - - deprecation@2.3.1: - resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} - - fast-xml-parser@4.2.5: - resolution: {integrity: sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==} - hasBin: true - - once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - - strnum@1.0.5: - resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} - - tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - - tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - - tunnel@0.0.6: - resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} - engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} - - undici@5.28.3: - resolution: {integrity: sha512-3ItfzbrhDlINjaP0duwnNsKpDQk3acHI3gVJ1z4fmwMK31k5G9OVIAMLSIaP6w4FaGkaAkN6zaQO9LUvZ1t7VA==} - engines: {node: '>=14.0'} - - universal-user-agent@6.0.1: - resolution: {integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==} - - uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - hasBin: true - - wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - -snapshots: - - '@actions/core@1.10.1': - dependencies: - '@actions/http-client': 2.2.1 - uuid: 8.3.2 - - '@actions/github@6.0.0': - dependencies: - '@actions/http-client': 2.2.1 - '@octokit/core': 5.1.0 - '@octokit/plugin-paginate-rest': 9.2.1(@octokit/core@5.1.0) - '@octokit/plugin-rest-endpoint-methods': 10.4.1(@octokit/core@5.1.0) - - '@actions/http-client@2.2.1': - dependencies: - tunnel: 0.0.6 - undici: 5.28.3 - - '@aws-crypto/crc32@3.0.0': - dependencies: - '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.523.0 - tslib: 1.14.1 - - '@aws-crypto/ie11-detection@3.0.0': - dependencies: - tslib: 1.14.1 - - '@aws-crypto/sha256-browser@3.0.0': - dependencies: - '@aws-crypto/ie11-detection': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-crypto/supports-web-crypto': 3.0.0 - '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.523.0 - '@aws-sdk/util-locate-window': 3.495.0 - '@aws-sdk/util-utf8-browser': 3.259.0 - tslib: 1.14.1 - - '@aws-crypto/sha256-js@3.0.0': - dependencies: - '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.523.0 - tslib: 1.14.1 - - '@aws-crypto/supports-web-crypto@3.0.0': - dependencies: - tslib: 1.14.1 - - '@aws-crypto/util@3.0.0': - dependencies: - '@aws-sdk/types': 3.523.0 - '@aws-sdk/util-utf8-browser': 3.259.0 - tslib: 1.14.1 - - '@aws-sdk/client-route-53@3.529.1': - dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.529.1(@aws-sdk/credential-provider-node@3.529.1) - '@aws-sdk/core': 3.529.1 - '@aws-sdk/credential-provider-node': 3.529.1 - '@aws-sdk/middleware-host-header': 3.523.0 - '@aws-sdk/middleware-logger': 3.523.0 - '@aws-sdk/middleware-recursion-detection': 3.523.0 - '@aws-sdk/middleware-sdk-route53': 3.523.0 - '@aws-sdk/middleware-user-agent': 3.525.0 - '@aws-sdk/region-config-resolver': 3.525.0 - '@aws-sdk/types': 3.523.0 - '@aws-sdk/util-endpoints': 3.525.0 - '@aws-sdk/util-user-agent-browser': 3.523.0 - '@aws-sdk/util-user-agent-node': 3.525.0 - '@aws-sdk/xml-builder': 3.523.0 - '@smithy/config-resolver': 2.1.5 - '@smithy/core': 1.3.8 - '@smithy/fetch-http-handler': 2.4.5 - '@smithy/hash-node': 2.1.4 - '@smithy/invalid-dependency': 2.1.4 - '@smithy/middleware-content-length': 2.1.4 - '@smithy/middleware-endpoint': 2.4.6 - '@smithy/middleware-retry': 2.1.7 - '@smithy/middleware-serde': 2.2.1 - '@smithy/middleware-stack': 2.1.4 - '@smithy/node-config-provider': 2.2.5 - '@smithy/node-http-handler': 2.4.3 - '@smithy/protocol-http': 3.2.2 - '@smithy/smithy-client': 2.4.5 - '@smithy/types': 2.11.0 - '@smithy/url-parser': 2.1.4 - '@smithy/util-base64': 2.2.1 - '@smithy/util-body-length-browser': 2.1.1 - '@smithy/util-body-length-node': 2.2.2 - '@smithy/util-defaults-mode-browser': 2.1.7 - '@smithy/util-defaults-mode-node': 2.2.7 - '@smithy/util-endpoints': 1.1.5 - '@smithy/util-middleware': 2.1.4 - '@smithy/util-retry': 2.1.4 - '@smithy/util-utf8': 2.2.0 - '@smithy/util-waiter': 2.1.4 - tslib: 2.6.2 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/client-sso-oidc@3.529.1(@aws-sdk/credential-provider-node@3.529.1)': - dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.529.1(@aws-sdk/credential-provider-node@3.529.1) - '@aws-sdk/core': 3.529.1 - '@aws-sdk/credential-provider-node': 3.529.1 - '@aws-sdk/middleware-host-header': 3.523.0 - '@aws-sdk/middleware-logger': 3.523.0 - '@aws-sdk/middleware-recursion-detection': 3.523.0 - '@aws-sdk/middleware-user-agent': 3.525.0 - '@aws-sdk/region-config-resolver': 3.525.0 - '@aws-sdk/types': 3.523.0 - '@aws-sdk/util-endpoints': 3.525.0 - '@aws-sdk/util-user-agent-browser': 3.523.0 - '@aws-sdk/util-user-agent-node': 3.525.0 - '@smithy/config-resolver': 2.1.5 - '@smithy/core': 1.3.8 - '@smithy/fetch-http-handler': 2.4.5 - '@smithy/hash-node': 2.1.4 - '@smithy/invalid-dependency': 2.1.4 - '@smithy/middleware-content-length': 2.1.4 - '@smithy/middleware-endpoint': 2.4.6 - '@smithy/middleware-retry': 2.1.7 - '@smithy/middleware-serde': 2.2.1 - '@smithy/middleware-stack': 2.1.4 - '@smithy/node-config-provider': 2.2.5 - '@smithy/node-http-handler': 2.4.3 - '@smithy/protocol-http': 3.2.2 - '@smithy/smithy-client': 2.4.5 - '@smithy/types': 2.11.0 - '@smithy/url-parser': 2.1.4 - '@smithy/util-base64': 2.2.1 - '@smithy/util-body-length-browser': 2.1.1 - '@smithy/util-body-length-node': 2.2.2 - '@smithy/util-defaults-mode-browser': 2.1.7 - '@smithy/util-defaults-mode-node': 2.2.7 - '@smithy/util-endpoints': 1.1.5 - '@smithy/util-middleware': 2.1.4 - '@smithy/util-retry': 2.1.4 - '@smithy/util-utf8': 2.2.0 - tslib: 2.6.2 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/client-sso@3.529.1': - dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/core': 3.529.1 - '@aws-sdk/middleware-host-header': 3.523.0 - '@aws-sdk/middleware-logger': 3.523.0 - '@aws-sdk/middleware-recursion-detection': 3.523.0 - '@aws-sdk/middleware-user-agent': 3.525.0 - '@aws-sdk/region-config-resolver': 3.525.0 - '@aws-sdk/types': 3.523.0 - '@aws-sdk/util-endpoints': 3.525.0 - '@aws-sdk/util-user-agent-browser': 3.523.0 - '@aws-sdk/util-user-agent-node': 3.525.0 - '@smithy/config-resolver': 2.1.5 - '@smithy/core': 1.3.8 - '@smithy/fetch-http-handler': 2.4.5 - '@smithy/hash-node': 2.1.4 - '@smithy/invalid-dependency': 2.1.4 - '@smithy/middleware-content-length': 2.1.4 - '@smithy/middleware-endpoint': 2.4.6 - '@smithy/middleware-retry': 2.1.7 - '@smithy/middleware-serde': 2.2.1 - '@smithy/middleware-stack': 2.1.4 - '@smithy/node-config-provider': 2.2.5 - '@smithy/node-http-handler': 2.4.3 - '@smithy/protocol-http': 3.2.2 - '@smithy/smithy-client': 2.4.5 - '@smithy/types': 2.11.0 - '@smithy/url-parser': 2.1.4 - '@smithy/util-base64': 2.2.1 - '@smithy/util-body-length-browser': 2.1.1 - '@smithy/util-body-length-node': 2.2.2 - '@smithy/util-defaults-mode-browser': 2.1.7 - '@smithy/util-defaults-mode-node': 2.2.7 - '@smithy/util-endpoints': 1.1.5 - '@smithy/util-middleware': 2.1.4 - '@smithy/util-retry': 2.1.4 - '@smithy/util-utf8': 2.2.0 - tslib: 2.6.2 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/client-sts@3.529.1(@aws-sdk/credential-provider-node@3.529.1)': - dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/core': 3.529.1 - '@aws-sdk/credential-provider-node': 3.529.1 - '@aws-sdk/middleware-host-header': 3.523.0 - '@aws-sdk/middleware-logger': 3.523.0 - '@aws-sdk/middleware-recursion-detection': 3.523.0 - '@aws-sdk/middleware-user-agent': 3.525.0 - '@aws-sdk/region-config-resolver': 3.525.0 - '@aws-sdk/types': 3.523.0 - '@aws-sdk/util-endpoints': 3.525.0 - '@aws-sdk/util-user-agent-browser': 3.523.0 - '@aws-sdk/util-user-agent-node': 3.525.0 - '@smithy/config-resolver': 2.1.5 - '@smithy/core': 1.3.8 - '@smithy/fetch-http-handler': 2.4.5 - '@smithy/hash-node': 2.1.4 - '@smithy/invalid-dependency': 2.1.4 - '@smithy/middleware-content-length': 2.1.4 - '@smithy/middleware-endpoint': 2.4.6 - '@smithy/middleware-retry': 2.1.7 - '@smithy/middleware-serde': 2.2.1 - '@smithy/middleware-stack': 2.1.4 - '@smithy/node-config-provider': 2.2.5 - '@smithy/node-http-handler': 2.4.3 - '@smithy/protocol-http': 3.2.2 - '@smithy/smithy-client': 2.4.5 - '@smithy/types': 2.11.0 - '@smithy/url-parser': 2.1.4 - '@smithy/util-base64': 2.2.1 - '@smithy/util-body-length-browser': 2.1.1 - '@smithy/util-body-length-node': 2.2.2 - '@smithy/util-defaults-mode-browser': 2.1.7 - '@smithy/util-defaults-mode-node': 2.2.7 - '@smithy/util-endpoints': 1.1.5 - '@smithy/util-middleware': 2.1.4 - '@smithy/util-retry': 2.1.4 - '@smithy/util-utf8': 2.2.0 - tslib: 2.6.2 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/core@3.529.1': - dependencies: - '@smithy/core': 1.3.8 - '@smithy/protocol-http': 3.2.2 - '@smithy/signature-v4': 2.1.4 - '@smithy/smithy-client': 2.4.5 - '@smithy/types': 2.11.0 - fast-xml-parser: 4.2.5 - tslib: 2.6.2 - - '@aws-sdk/credential-provider-env@3.523.0': - dependencies: - '@aws-sdk/types': 3.523.0 - '@smithy/property-provider': 2.1.4 - '@smithy/types': 2.11.0 - tslib: 2.6.2 - - '@aws-sdk/credential-provider-http@3.525.0': - dependencies: - '@aws-sdk/types': 3.523.0 - '@smithy/fetch-http-handler': 2.4.5 - '@smithy/node-http-handler': 2.4.3 - '@smithy/property-provider': 2.1.4 - '@smithy/protocol-http': 3.2.2 - '@smithy/smithy-client': 2.4.5 - '@smithy/types': 2.11.0 - '@smithy/util-stream': 2.1.5 - tslib: 2.6.2 - - '@aws-sdk/credential-provider-ini@3.529.1(@aws-sdk/credential-provider-node@3.529.1)': - dependencies: - '@aws-sdk/client-sts': 3.529.1(@aws-sdk/credential-provider-node@3.529.1) - '@aws-sdk/credential-provider-env': 3.523.0 - '@aws-sdk/credential-provider-process': 3.523.0 - '@aws-sdk/credential-provider-sso': 3.529.1(@aws-sdk/credential-provider-node@3.529.1) - '@aws-sdk/credential-provider-web-identity': 3.529.1(@aws-sdk/credential-provider-node@3.529.1) - '@aws-sdk/types': 3.523.0 - '@smithy/credential-provider-imds': 2.2.6 - '@smithy/property-provider': 2.1.4 - '@smithy/shared-ini-file-loader': 2.3.5 - '@smithy/types': 2.11.0 - tslib: 2.6.2 - transitivePeerDependencies: - - '@aws-sdk/credential-provider-node' - - aws-crt - - '@aws-sdk/credential-provider-node@3.529.1': - dependencies: - '@aws-sdk/credential-provider-env': 3.523.0 - '@aws-sdk/credential-provider-http': 3.525.0 - '@aws-sdk/credential-provider-ini': 3.529.1(@aws-sdk/credential-provider-node@3.529.1) - '@aws-sdk/credential-provider-process': 3.523.0 - '@aws-sdk/credential-provider-sso': 3.529.1(@aws-sdk/credential-provider-node@3.529.1) - '@aws-sdk/credential-provider-web-identity': 3.529.1(@aws-sdk/credential-provider-node@3.529.1) - '@aws-sdk/types': 3.523.0 - '@smithy/credential-provider-imds': 2.2.6 - '@smithy/property-provider': 2.1.4 - '@smithy/shared-ini-file-loader': 2.3.5 - '@smithy/types': 2.11.0 - tslib: 2.6.2 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/credential-provider-process@3.523.0': - dependencies: - '@aws-sdk/types': 3.523.0 - '@smithy/property-provider': 2.1.4 - '@smithy/shared-ini-file-loader': 2.3.5 - '@smithy/types': 2.11.0 - tslib: 2.6.2 - - '@aws-sdk/credential-provider-sso@3.529.1(@aws-sdk/credential-provider-node@3.529.1)': - dependencies: - '@aws-sdk/client-sso': 3.529.1 - '@aws-sdk/token-providers': 3.529.1(@aws-sdk/credential-provider-node@3.529.1) - '@aws-sdk/types': 3.523.0 - '@smithy/property-provider': 2.1.4 - '@smithy/shared-ini-file-loader': 2.3.5 - '@smithy/types': 2.11.0 - tslib: 2.6.2 - transitivePeerDependencies: - - '@aws-sdk/credential-provider-node' - - aws-crt - - '@aws-sdk/credential-provider-web-identity@3.529.1(@aws-sdk/credential-provider-node@3.529.1)': - dependencies: - '@aws-sdk/client-sts': 3.529.1(@aws-sdk/credential-provider-node@3.529.1) - '@aws-sdk/types': 3.523.0 - '@smithy/property-provider': 2.1.4 - '@smithy/types': 2.11.0 - tslib: 2.6.2 - transitivePeerDependencies: - - '@aws-sdk/credential-provider-node' - - aws-crt - - '@aws-sdk/middleware-host-header@3.523.0': - dependencies: - '@aws-sdk/types': 3.523.0 - '@smithy/protocol-http': 3.2.2 - '@smithy/types': 2.11.0 - tslib: 2.6.2 - - '@aws-sdk/middleware-logger@3.523.0': - dependencies: - '@aws-sdk/types': 3.523.0 - '@smithy/types': 2.11.0 - tslib: 2.6.2 - - '@aws-sdk/middleware-recursion-detection@3.523.0': - dependencies: - '@aws-sdk/types': 3.523.0 - '@smithy/protocol-http': 3.2.2 - '@smithy/types': 2.11.0 - tslib: 2.6.2 - - '@aws-sdk/middleware-sdk-route53@3.523.0': - dependencies: - '@aws-sdk/types': 3.523.0 - '@smithy/types': 2.11.0 - tslib: 2.6.2 - - '@aws-sdk/middleware-user-agent@3.525.0': - dependencies: - '@aws-sdk/types': 3.523.0 - '@aws-sdk/util-endpoints': 3.525.0 - '@smithy/protocol-http': 3.2.2 - '@smithy/types': 2.11.0 - tslib: 2.6.2 - - '@aws-sdk/region-config-resolver@3.525.0': - dependencies: - '@aws-sdk/types': 3.523.0 - '@smithy/node-config-provider': 2.2.5 - '@smithy/types': 2.11.0 - '@smithy/util-config-provider': 2.2.1 - '@smithy/util-middleware': 2.1.4 - tslib: 2.6.2 - - '@aws-sdk/token-providers@3.529.1(@aws-sdk/credential-provider-node@3.529.1)': - dependencies: - '@aws-sdk/client-sso-oidc': 3.529.1(@aws-sdk/credential-provider-node@3.529.1) - '@aws-sdk/types': 3.523.0 - '@smithy/property-provider': 2.1.4 - '@smithy/shared-ini-file-loader': 2.3.5 - '@smithy/types': 2.11.0 - tslib: 2.6.2 - transitivePeerDependencies: - - '@aws-sdk/credential-provider-node' - - aws-crt - - '@aws-sdk/types@3.523.0': - dependencies: - '@smithy/types': 2.11.0 - tslib: 2.6.2 - - '@aws-sdk/util-endpoints@3.525.0': - dependencies: - '@aws-sdk/types': 3.523.0 - '@smithy/types': 2.11.0 - '@smithy/util-endpoints': 1.1.5 - tslib: 2.6.2 - - '@aws-sdk/util-locate-window@3.495.0': - dependencies: - tslib: 2.6.2 - - '@aws-sdk/util-user-agent-browser@3.523.0': - dependencies: - '@aws-sdk/types': 3.523.0 - '@smithy/types': 2.11.0 - bowser: 2.11.0 - tslib: 2.6.2 - - '@aws-sdk/util-user-agent-node@3.525.0': - dependencies: - '@aws-sdk/types': 3.523.0 - '@smithy/node-config-provider': 2.2.5 - '@smithy/types': 2.11.0 - tslib: 2.6.2 - - '@aws-sdk/util-utf8-browser@3.259.0': - dependencies: - tslib: 2.6.2 - - '@aws-sdk/xml-builder@3.523.0': - dependencies: - '@smithy/types': 2.11.0 - tslib: 2.6.2 - - '@fastify/busboy@2.1.1': {} - - '@octokit/auth-token@4.0.0': {} - - '@octokit/core@5.1.0': - dependencies: - '@octokit/auth-token': 4.0.0 - '@octokit/graphql': 7.0.2 - '@octokit/request': 8.2.0 - '@octokit/request-error': 5.0.1 - '@octokit/types': 12.6.0 - before-after-hook: 2.2.3 - universal-user-agent: 6.0.1 - - '@octokit/endpoint@9.0.4': - dependencies: - '@octokit/types': 12.6.0 - universal-user-agent: 6.0.1 - - '@octokit/graphql@7.0.2': - dependencies: - '@octokit/request': 8.2.0 - '@octokit/types': 12.6.0 - universal-user-agent: 6.0.1 - - '@octokit/openapi-types@20.0.0': {} - - '@octokit/plugin-paginate-rest@9.2.1(@octokit/core@5.1.0)': - dependencies: - '@octokit/core': 5.1.0 - '@octokit/types': 12.6.0 - - '@octokit/plugin-request-log@4.0.1(@octokit/core@5.1.0)': - dependencies: - '@octokit/core': 5.1.0 - - '@octokit/plugin-rest-endpoint-methods@10.4.1(@octokit/core@5.1.0)': - dependencies: - '@octokit/core': 5.1.0 - '@octokit/types': 12.6.0 - - '@octokit/request-error@5.0.1': - dependencies: - '@octokit/types': 12.6.0 - deprecation: 2.3.1 - once: 1.4.0 - - '@octokit/request@8.2.0': - dependencies: - '@octokit/endpoint': 9.0.4 - '@octokit/request-error': 5.0.1 - '@octokit/types': 12.6.0 - universal-user-agent: 6.0.1 - - '@octokit/rest@20.0.2': - dependencies: - '@octokit/core': 5.1.0 - '@octokit/plugin-paginate-rest': 9.2.1(@octokit/core@5.1.0) - '@octokit/plugin-request-log': 4.0.1(@octokit/core@5.1.0) - '@octokit/plugin-rest-endpoint-methods': 10.4.1(@octokit/core@5.1.0) - - '@octokit/types@12.6.0': - dependencies: - '@octokit/openapi-types': 20.0.0 - - '@smithy/abort-controller@2.1.4': - dependencies: - '@smithy/types': 2.11.0 - tslib: 2.6.2 - - '@smithy/config-resolver@2.1.5': - dependencies: - '@smithy/node-config-provider': 2.2.5 - '@smithy/types': 2.11.0 - '@smithy/util-config-provider': 2.2.1 - '@smithy/util-middleware': 2.1.4 - tslib: 2.6.2 - - '@smithy/core@1.3.8': - dependencies: - '@smithy/middleware-endpoint': 2.4.6 - '@smithy/middleware-retry': 2.1.7 - '@smithy/middleware-serde': 2.2.1 - '@smithy/protocol-http': 3.2.2 - '@smithy/smithy-client': 2.4.5 - '@smithy/types': 2.11.0 - '@smithy/util-middleware': 2.1.4 - tslib: 2.6.2 - - '@smithy/credential-provider-imds@2.2.6': - dependencies: - '@smithy/node-config-provider': 2.2.5 - '@smithy/property-provider': 2.1.4 - '@smithy/types': 2.11.0 - '@smithy/url-parser': 2.1.4 - tslib: 2.6.2 - - '@smithy/eventstream-codec@2.1.4': - dependencies: - '@aws-crypto/crc32': 3.0.0 - '@smithy/types': 2.11.0 - '@smithy/util-hex-encoding': 2.1.1 - tslib: 2.6.2 - - '@smithy/fetch-http-handler@2.4.5': - dependencies: - '@smithy/protocol-http': 3.2.2 - '@smithy/querystring-builder': 2.1.4 - '@smithy/types': 2.11.0 - '@smithy/util-base64': 2.2.1 - tslib: 2.6.2 - - '@smithy/hash-node@2.1.4': - dependencies: - '@smithy/types': 2.11.0 - '@smithy/util-buffer-from': 2.1.1 - '@smithy/util-utf8': 2.2.0 - tslib: 2.6.2 - - '@smithy/invalid-dependency@2.1.4': - dependencies: - '@smithy/types': 2.11.0 - tslib: 2.6.2 - - '@smithy/is-array-buffer@2.1.1': - dependencies: - tslib: 2.6.2 - - '@smithy/middleware-content-length@2.1.4': - dependencies: - '@smithy/protocol-http': 3.2.2 - '@smithy/types': 2.11.0 - tslib: 2.6.2 - - '@smithy/middleware-endpoint@2.4.6': - dependencies: - '@smithy/middleware-serde': 2.2.1 - '@smithy/node-config-provider': 2.2.5 - '@smithy/shared-ini-file-loader': 2.3.5 - '@smithy/types': 2.11.0 - '@smithy/url-parser': 2.1.4 - '@smithy/util-middleware': 2.1.4 - tslib: 2.6.2 - - '@smithy/middleware-retry@2.1.7': - dependencies: - '@smithy/node-config-provider': 2.2.5 - '@smithy/protocol-http': 3.2.2 - '@smithy/service-error-classification': 2.1.4 - '@smithy/smithy-client': 2.4.5 - '@smithy/types': 2.11.0 - '@smithy/util-middleware': 2.1.4 - '@smithy/util-retry': 2.1.4 - tslib: 2.6.2 - uuid: 8.3.2 - - '@smithy/middleware-serde@2.2.1': - dependencies: - '@smithy/types': 2.11.0 - tslib: 2.6.2 - - '@smithy/middleware-stack@2.1.4': - dependencies: - '@smithy/types': 2.11.0 - tslib: 2.6.2 - - '@smithy/node-config-provider@2.2.5': - dependencies: - '@smithy/property-provider': 2.1.4 - '@smithy/shared-ini-file-loader': 2.3.5 - '@smithy/types': 2.11.0 - tslib: 2.6.2 - - '@smithy/node-http-handler@2.4.3': - dependencies: - '@smithy/abort-controller': 2.1.4 - '@smithy/protocol-http': 3.2.2 - '@smithy/querystring-builder': 2.1.4 - '@smithy/types': 2.11.0 - tslib: 2.6.2 - - '@smithy/property-provider@2.1.4': - dependencies: - '@smithy/types': 2.11.0 - tslib: 2.6.2 - - '@smithy/protocol-http@3.2.2': - dependencies: - '@smithy/types': 2.11.0 - tslib: 2.6.2 - - '@smithy/querystring-builder@2.1.4': - dependencies: - '@smithy/types': 2.11.0 - '@smithy/util-uri-escape': 2.1.1 - tslib: 2.6.2 - - '@smithy/querystring-parser@2.1.4': - dependencies: - '@smithy/types': 2.11.0 - tslib: 2.6.2 - - '@smithy/service-error-classification@2.1.4': - dependencies: - '@smithy/types': 2.11.0 - - '@smithy/shared-ini-file-loader@2.3.5': - dependencies: - '@smithy/types': 2.11.0 - tslib: 2.6.2 - - '@smithy/signature-v4@2.1.4': - dependencies: - '@smithy/eventstream-codec': 2.1.4 - '@smithy/is-array-buffer': 2.1.1 - '@smithy/types': 2.11.0 - '@smithy/util-hex-encoding': 2.1.1 - '@smithy/util-middleware': 2.1.4 - '@smithy/util-uri-escape': 2.1.1 - '@smithy/util-utf8': 2.2.0 - tslib: 2.6.2 - - '@smithy/smithy-client@2.4.5': - dependencies: - '@smithy/middleware-endpoint': 2.4.6 - '@smithy/middleware-stack': 2.1.4 - '@smithy/protocol-http': 3.2.2 - '@smithy/types': 2.11.0 - '@smithy/util-stream': 2.1.5 - tslib: 2.6.2 - - '@smithy/types@2.11.0': - dependencies: - tslib: 2.6.2 - - '@smithy/url-parser@2.1.4': - dependencies: - '@smithy/querystring-parser': 2.1.4 - '@smithy/types': 2.11.0 - tslib: 2.6.2 - - '@smithy/util-base64@2.2.1': - dependencies: - '@smithy/util-buffer-from': 2.1.1 - '@smithy/util-utf8': 2.2.0 - tslib: 2.6.2 - - '@smithy/util-body-length-browser@2.1.1': - dependencies: - tslib: 2.6.2 - - '@smithy/util-body-length-node@2.2.2': - dependencies: - tslib: 2.6.2 - - '@smithy/util-buffer-from@2.1.1': - dependencies: - '@smithy/is-array-buffer': 2.1.1 - tslib: 2.6.2 - - '@smithy/util-config-provider@2.2.1': - dependencies: - tslib: 2.6.2 - - '@smithy/util-defaults-mode-browser@2.1.7': - dependencies: - '@smithy/property-provider': 2.1.4 - '@smithy/smithy-client': 2.4.5 - '@smithy/types': 2.11.0 - bowser: 2.11.0 - tslib: 2.6.2 - - '@smithy/util-defaults-mode-node@2.2.7': - dependencies: - '@smithy/config-resolver': 2.1.5 - '@smithy/credential-provider-imds': 2.2.6 - '@smithy/node-config-provider': 2.2.5 - '@smithy/property-provider': 2.1.4 - '@smithy/smithy-client': 2.4.5 - '@smithy/types': 2.11.0 - tslib: 2.6.2 - - '@smithy/util-endpoints@1.1.5': - dependencies: - '@smithy/node-config-provider': 2.2.5 - '@smithy/types': 2.11.0 - tslib: 2.6.2 - - '@smithy/util-hex-encoding@2.1.1': - dependencies: - tslib: 2.6.2 - - '@smithy/util-middleware@2.1.4': - dependencies: - '@smithy/types': 2.11.0 - tslib: 2.6.2 - - '@smithy/util-retry@2.1.4': - dependencies: - '@smithy/service-error-classification': 2.1.4 - '@smithy/types': 2.11.0 - tslib: 2.6.2 - - '@smithy/util-stream@2.1.5': - dependencies: - '@smithy/fetch-http-handler': 2.4.5 - '@smithy/node-http-handler': 2.4.3 - '@smithy/types': 2.11.0 - '@smithy/util-base64': 2.2.1 - '@smithy/util-buffer-from': 2.1.1 - '@smithy/util-hex-encoding': 2.1.1 - '@smithy/util-utf8': 2.2.0 - tslib: 2.6.2 - - '@smithy/util-uri-escape@2.1.1': - dependencies: - tslib: 2.6.2 - - '@smithy/util-utf8@2.2.0': - dependencies: - '@smithy/util-buffer-from': 2.1.1 - tslib: 2.6.2 - - '@smithy/util-waiter@2.1.4': - dependencies: - '@smithy/abort-controller': 2.1.4 - '@smithy/types': 2.11.0 - tslib: 2.6.2 - - before-after-hook@2.2.3: {} - - bowser@2.11.0: {} - - deprecation@2.3.1: {} - - fast-xml-parser@4.2.5: - dependencies: - strnum: 1.0.5 - - once@1.4.0: - dependencies: - wrappy: 1.0.2 - - strnum@1.0.5: {} - - tslib@1.14.1: {} - - tslib@2.6.2: {} - - tunnel@0.0.6: {} - - undici@5.28.3: - dependencies: - '@fastify/busboy': 2.1.1 - - universal-user-agent@6.0.1: {} - - uuid@8.3.2: {} - - wrappy@1.0.2: {} diff --git a/.github/scripts/crib/pr-comment-crib-env.js b/.github/scripts/crib/pr-comment-crib-env.js deleted file mode 100755 index cc36a9deb7..0000000000 --- a/.github/scripts/crib/pr-comment-crib-env.js +++ /dev/null @@ -1,145 +0,0 @@ -#!/usr/bin/env node - -import * as core from "@actions/core"; -import * as github from "@actions/github"; -import { route53RecordsExist } from "./lib/check-route53-records.js"; - -function generateSubdomains(subdomainPrefix, prNumber) { - const subDomainSuffixes = [ - "node1", - "node2", - "node3", - "node4", - "node5", - "geth-1337-http", - "geth-1337-ws", - "geth-2337-http", - "geth-2337-ws", - "mockserver", - ]; - return subDomainSuffixes.map( - (suffix) => `${subdomainPrefix}-${prNumber}-${suffix}` - ); -} - -async function commentExists(octokit, owner, repo, prNumber, uniqueIdentifier) { - // This will automatically paginate through all comments - const comments = await octokit.paginate(octokit.rest.issues.listComments, { - owner, - repo, - issue_number: prNumber, - }); - - // Check each comment for the unique identifier - return comments.some((comment) => comment.body.includes(uniqueIdentifier)); -} - -async function run() { - try { - const token = process.env.GITHUB_TOKEN; - const route53ZoneId = process.env.ROUTE53_ZONE_ID; - const subdomainPrefix = process.env.SUBDOMAIN_PREFIX || "crib-chainlink"; - - // Check for the existence of GITHUB_TOKEN and ROUTE53_ZONE_ID - if (!token || !route53ZoneId) { - core.setFailed( - "Error: Missing required environment variables: GITHUB_TOKEN or ROUTE53_ZONE_ID." - ); - return; - } - - const octokit = github.getOctokit(token); - const context = github.context; - - const labelsToCheck = ["crib"]; - const { owner, repo } = context.repo; - const prNumber = context.issue.number; - - if (!prNumber) { - core.setFailed("Error: Could not get PR number from context"); - return; - } - - // List labels on the PR - const { data: labels } = await octokit.rest.issues.listLabelsOnIssue({ - owner, - repo, - issue_number: prNumber, - }); - - // Check if any label matches the labelsToCheck - const labelMatches = labels.some((label) => - labelsToCheck.includes(label.name) - ); - - if (!labelMatches) { - core.info("No 'crib' PR label found. Proceeding."); - return; - } - - const subdomains = generateSubdomains(subdomainPrefix, prNumber); - core.debug("Subdomains:", subdomains); - - // Comment header and unique identifier - const commentHeader = "## CRIB Environment Details"; - - // Check if the comment already exists - if (await commentExists(octokit, owner, repo, prNumber, commentHeader)) { - core.info("CRIB environment comment already exists. Skipping."); - return; - } - - // Check if DNS records exist in Route 53 before printing out the subdomains. - try { - const maxRetries = 8; - const recordsExist = await route53RecordsExist( - route53ZoneId, - subdomains, - maxRetries - ); - if (recordsExist) { - core.info("Route 53 DNS records exist."); - } else { - core.setFailed( - "Route 53 DNS records do not exist. Please check the Route 53 hosted zone." - ); - return; - } - } catch (error) { - core.setFailed(error.message); - return; - } - - const subdomainsFormatted = subdomains - .map((subdomain) => `- ${subdomain}.`) - .join("\n"); - - // Construct the comment - const comment = `${commentHeader} :information_source: - -CRIB activated via the 'crib' label. To destroy the environment, remove the 'crib' PR label or close the PR. - -Please review the following details: - -### Subdomains - -_Use these subdomains to access the CRIB environment. They are prefixes to the internal base domain which work over the VPN._ - -${subdomainsFormatted} - -**NOTE:** If you have trouble resolving these subdomains, please try to reset your VPN DNS and/or local DNS. -`; - - // Create a comment on the PR - await octokit.rest.issues.createComment({ - owner, - repo, - issue_number: prNumber, - body: comment, - }); - } catch (error) { - core.setFailed(error.message); - } -} - -run(); diff --git a/.github/scripts/crib/test.js b/.github/scripts/crib/test.js deleted file mode 100644 index be804a8d46..0000000000 --- a/.github/scripts/crib/test.js +++ /dev/null @@ -1,13 +0,0 @@ -import { route53RecordsExist } from "./lib/check-route53-records.js"; - -// Example usage -const hostedZoneId = "Z0701115F9JUQY0J2ISL"; // Your hosted zone ID here -const recordNames = [ - "cname-crib-chainlink-11635-geth-ws.", - "crib-chainlink-11635-node4.", -]; // DNS record names you want to check -const maxRetries = 3; // Maximum number of retries - -route53RecordsExist(hostedZoneId, recordNames, maxRetries) - .then((result) => console.log("Records exist:", result)) - .catch((error) => console.error("Error:", error)); diff --git a/.github/workflows/pr-labels.yml b/.github/workflows/pr-labels.yml deleted file mode 100644 index 3136847922..0000000000 --- a/.github/workflows/pr-labels.yml +++ /dev/null @@ -1,51 +0,0 @@ -name: PR Labels - -on: - pull_request: - types: [labeled] - -jobs: - crib: - runs-on: ubuntu-latest - permissions: - # For AWS assume role. - id-token: write - contents: read - # To comment on PR's. - issues: write - pull-requests: write - steps: - - uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2 - - - uses: pnpm/action-setup@a3252b78c470c02df07e9d59298aecedc3ccdd6d # v3.0.0 - with: - version: ^9.0.0 - - - uses: pnpm/action-setup@a3252b78c470c02df07e9d59298aecedc3ccdd6d # v3.0.0 - with: - version: ^8.0.0 - - - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 - with: - node-version: 20 - cache: pnpm - cache-dependency-path: ./.github/scripts/crib/pnpm-lock.yaml - - - run: pnpm install - working-directory: ./.github/scripts/crib - - - name: Assume role capable of dispatching action - uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2 - with: - role-to-assume: ${{ secrets.AWS_OIDC_CRIB_ROLE_ARN_SAND }} - aws-region: ${{ secrets.AWS_REGION }} - role-duration-seconds: 900 - mask-aws-account-id: true - role-session-name: pr-labels.crib - - - name: Comment CRIB details on PR - run: ./.github/scripts/crib/pr-comment-crib-env.js - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - ROUTE53_ZONE_ID: ${{ secrets.ROUTE53_ZONE_ID_SAND }} - SUBDOMAIN_PREFIX: crib-ccip