UNPKG

@aws-cdk-testing/cli-integ

Version:

Integration tests for the AWS CDK CLI

48 lines 6.78 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.pypiLogin = pypiLogin; exports.uploadPythonPackages = uploadPythonPackages; /* eslint-disable no-console */ const path = require("path"); const parallel_shell_1 = require("./parallel-shell"); const files_1 = require("../files"); const shell_1 = require("../shell"); async function pypiLogin(login, usageDir) { // Write pip config file and set environment var await (0, files_1.writeFile)(path.join(usageDir.directory, 'pip.conf'), [ '[global]', `index-url = https://aws:${login.authToken}@${login.pypiEndpoint.replace(/^https:\/\//, '')}simple/`, ].join('\n')); await usageDir.addToEnv({ PIP_CONFIG_FILE: `${usageDir.directory}/pip.conf`, }); } async function uploadPythonPackages(packages, login) { await (0, shell_1.shell)(['pip', 'install', 'twine'], { show: 'error' }); // Even though twine supports uploading all packages in one go, we have to upload them // individually since CodeArtifact does not support Twine's `--skip-existing`. Fun beans. await (0, parallel_shell_1.parallelShell)(packages, async (pkg, output) => { console.log(`⏳ ${pkg}`); await (0, shell_1.shell)(['twine', 'upload', '--verbose', pkg], { modEnv: { TWINE_USERNAME: 'aws', TWINE_PASSWORD: login.authToken, TWINE_REPOSITORY_URL: login.pypiEndpoint, }, show: 'error', outputs: [output], }); console.log(`✅ ${pkg}`); }, (pkg, output) => { if (output.toString().includes('This package is configured to block new versions') || output.toString().includes('409 Conflict')) { console.log(`❌ ${pkg}: already exists. Skipped.`); return 'skip'; } if (output.includes('429 Too Many Requests ')) { console.log(`♻️ ${pkg}: 429 Too Many Requests. Retrying.`); return 'retry'; } return 'fail'; }); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHlwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInB5cGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFRQSw4QkFTQztBQUVELG9EQThCQztBQWpERCwrQkFBK0I7QUFDL0IsNkJBQTZCO0FBRTdCLHFEQUFpRDtBQUVqRCxvQ0FBcUM7QUFDckMsb0NBQWlDO0FBRTFCLEtBQUssVUFBVSxTQUFTLENBQUMsS0FBdUIsRUFBRSxRQUFrQjtJQUN6RSxnREFBZ0Q7SUFDaEQsTUFBTSxJQUFBLGlCQUFTLEVBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLFVBQVUsQ0FBQyxFQUFFO1FBQ3pELFVBQVU7UUFDViwyQkFBMkIsS0FBSyxDQUFDLFNBQVMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLFNBQVM7S0FDckcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNkLE1BQU0sUUFBUSxDQUFDLFFBQVEsQ0FBQztRQUN0QixlQUFlLEVBQUUsR0FBRyxRQUFRLENBQUMsU0FBUyxXQUFXO0tBQ2xELENBQUMsQ0FBQztBQUNMLENBQUM7QUFFTSxLQUFLLFVBQVUsb0JBQW9CLENBQUMsUUFBa0IsRUFBRSxLQUF1QjtJQUNwRixNQUFNLElBQUEsYUFBSyxFQUFDLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBRTVELHNGQUFzRjtJQUN0Rix5RkFBeUY7SUFDekYsTUFBTSxJQUFBLDhCQUFhLEVBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDbEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFFeEIsTUFBTSxJQUFBLGFBQUssRUFBQyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLEdBQUcsQ0FBQyxFQUFFO1lBQ2pELE1BQU0sRUFBRTtnQkFDTixjQUFjLEVBQUUsS0FBSztnQkFDckIsY0FBYyxFQUFFLEtBQUssQ0FBQyxTQUFTO2dCQUMvQixvQkFBb0IsRUFBRSxLQUFLLENBQUMsWUFBWTthQUN6QztZQUNELElBQUksRUFBRSxPQUFPO1lBQ2IsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDO1NBQ2xCLENBQUMsQ0FBQztRQUVILE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzFCLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUNqQixJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsa0RBQWtELENBQUMsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDakksT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEdBQUcsNEJBQTRCLENBQUMsQ0FBQztZQUNsRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO1FBQ0QsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLHdCQUF3QixDQUFDLEVBQUUsQ0FBQztZQUM5QyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxvQ0FBb0MsQ0FBQyxDQUFDO1lBQzNELE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHR5cGUgeyBMb2dpbkluZm9ybWF0aW9uIH0gZnJvbSAnLi9jb2RlYXJ0aWZhY3QnO1xuaW1wb3J0IHsgcGFyYWxsZWxTaGVsbCB9IGZyb20gJy4vcGFyYWxsZWwtc2hlbGwnO1xuaW1wb3J0IHR5cGUgeyBVc2FnZURpciB9IGZyb20gJy4vdXNhZ2UtZGlyJztcbmltcG9ydCB7IHdyaXRlRmlsZSB9IGZyb20gJy4uL2ZpbGVzJztcbmltcG9ydCB7IHNoZWxsIH0gZnJvbSAnLi4vc2hlbGwnO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHlwaUxvZ2luKGxvZ2luOiBMb2dpbkluZm9ybWF0aW9uLCB1c2FnZURpcjogVXNhZ2VEaXIpIHtcbiAgLy8gV3JpdGUgcGlwIGNvbmZpZyBmaWxlIGFuZCBzZXQgZW52aXJvbm1lbnQgdmFyXG4gIGF3YWl0IHdyaXRlRmlsZShwYXRoLmpvaW4odXNhZ2VEaXIuZGlyZWN0b3J5LCAncGlwLmNvbmYnKSwgW1xuICAgICdbZ2xvYmFsXScsXG4gICAgYGluZGV4LXVybCA9IGh0dHBzOi8vYXdzOiR7bG9naW4uYXV0aFRva2VufUAke2xvZ2luLnB5cGlFbmRwb2ludC5yZXBsYWNlKC9eaHR0cHM6XFwvXFwvLywgJycpfXNpbXBsZS9gLFxuICBdLmpvaW4oJ1xcbicpKTtcbiAgYXdhaXQgdXNhZ2VEaXIuYWRkVG9FbnYoe1xuICAgIFBJUF9DT05GSUdfRklMRTogYCR7dXNhZ2VEaXIuZGlyZWN0b3J5fS9waXAuY29uZmAsXG4gIH0pO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdXBsb2FkUHl0aG9uUGFja2FnZXMocGFja2FnZXM6IHN0cmluZ1tdLCBsb2dpbjogTG9naW5JbmZvcm1hdGlvbikge1xuICBhd2FpdCBzaGVsbChbJ3BpcCcsICdpbnN0YWxsJywgJ3R3aW5lJ10sIHsgc2hvdzogJ2Vycm9yJyB9KTtcblxuICAvLyBFdmVuIHRob3VnaCB0d2luZSBzdXBwb3J0cyB1cGxvYWRpbmcgYWxsIHBhY2thZ2VzIGluIG9uZSBnbywgd2UgaGF2ZSB0byB1cGxvYWQgdGhlbVxuICAvLyBpbmRpdmlkdWFsbHkgc2luY2UgQ29kZUFydGlmYWN0IGRvZXMgbm90IHN1cHBvcnQgVHdpbmUncyBgLS1za2lwLWV4aXN0aW5nYC4gRnVuIGJlYW5zLlxuICBhd2FpdCBwYXJhbGxlbFNoZWxsKHBhY2thZ2VzLCBhc3luYyAocGtnLCBvdXRwdXQpID0+IHtcbiAgICBjb25zb2xlLmxvZyhg4o+zICR7cGtnfWApO1xuXG4gICAgYXdhaXQgc2hlbGwoWyd0d2luZScsICd1cGxvYWQnLCAnLS12ZXJib3NlJywgcGtnXSwge1xuICAgICAgbW9kRW52OiB7XG4gICAgICAgIFRXSU5FX1VTRVJOQU1FOiAnYXdzJyxcbiAgICAgICAgVFdJTkVfUEFTU1dPUkQ6IGxvZ2luLmF1dGhUb2tlbixcbiAgICAgICAgVFdJTkVfUkVQT1NJVE9SWV9VUkw6IGxvZ2luLnB5cGlFbmRwb2ludCxcbiAgICAgIH0sXG4gICAgICBzaG93OiAnZXJyb3InLFxuICAgICAgb3V0cHV0czogW291dHB1dF0sXG4gICAgfSk7XG5cbiAgICBjb25zb2xlLmxvZyhg4pyFICR7cGtnfWApO1xuICB9LCAocGtnLCBvdXRwdXQpID0+IHtcbiAgICBpZiAob3V0cHV0LnRvU3RyaW5nKCkuaW5jbHVkZXMoJ1RoaXMgcGFja2FnZSBpcyBjb25maWd1cmVkIHRvIGJsb2NrIG5ldyB2ZXJzaW9ucycpIHx8IG91dHB1dC50b1N0cmluZygpLmluY2x1ZGVzKCc0MDkgQ29uZmxpY3QnKSkge1xuICAgICAgY29uc29sZS5sb2coYOKdjCAke3BrZ306IGFscmVhZHkgZXhpc3RzLiBTa2lwcGVkLmApO1xuICAgICAgcmV0dXJuICdza2lwJztcbiAgICB9XG4gICAgaWYgKG91dHB1dC5pbmNsdWRlcygnNDI5IFRvbyBNYW55IFJlcXVlc3RzICcpKSB7XG4gICAgICBjb25zb2xlLmxvZyhg4pm777iPICR7cGtnfTogNDI5IFRvbyBNYW55IFJlcXVlc3RzLiBSZXRyeWluZy5gKTtcbiAgICAgIHJldHVybiAncmV0cnknO1xuICAgIH1cbiAgICByZXR1cm4gJ2ZhaWwnO1xuICB9KTtcbn1cbiJdfQ==