@datadog/datadog-ci 2.33.1 → 2.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -9
- package/dist/cli.js +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/dsyms/upload.js +4 -0
- package/dist/commands/dsyms/upload.js.map +1 -1
- package/dist/commands/dsyms/utils.js +4 -11
- package/dist/commands/dsyms/utils.js.map +1 -1
- package/dist/commands/elf-symbols/cli.d.ts +1 -0
- package/dist/commands/elf-symbols/cli.js +5 -0
- package/dist/commands/elf-symbols/cli.js.map +1 -0
- package/dist/commands/elf-symbols/elf-constants.d.ts +256 -0
- package/dist/commands/elf-symbols/elf-constants.js +462 -0
- package/dist/commands/elf-symbols/elf-constants.js.map +1 -0
- package/dist/commands/elf-symbols/elf.d.ts +103 -0
- package/dist/commands/elf-symbols/elf.js +428 -0
- package/dist/commands/elf-symbols/elf.js.map +1 -0
- package/dist/commands/elf-symbols/helpers.d.ts +4 -0
- package/dist/commands/elf-symbols/helpers.js +29 -0
- package/dist/commands/elf-symbols/helpers.js.map +1 -0
- package/dist/commands/elf-symbols/interfaces.d.ts +14 -0
- package/dist/commands/elf-symbols/interfaces.js +7 -0
- package/dist/commands/elf-symbols/interfaces.js.map +1 -0
- package/dist/commands/elf-symbols/renderer.d.ts +18 -0
- package/dist/commands/elf-symbols/renderer.js +84 -0
- package/dist/commands/elf-symbols/renderer.js.map +1 -0
- package/dist/commands/elf-symbols/upload.d.ts +25 -0
- package/dist/commands/elf-symbols/upload.js +363 -0
- package/dist/commands/elf-symbols/upload.js.map +1 -0
- package/dist/commands/git-metadata/gitdb.js +54 -26
- package/dist/commands/git-metadata/gitdb.js.map +1 -1
- package/dist/commands/git-metadata/upload.d.ts +0 -1
- package/dist/commands/git-metadata/upload.js +1 -11
- package/dist/commands/git-metadata/upload.js.map +1 -1
- package/dist/commands/junit/upload.js +1 -1
- package/dist/commands/junit/upload.js.map +1 -1
- package/dist/commands/synthetics/api.js +1 -1
- package/dist/commands/synthetics/api.js.map +1 -1
- package/dist/commands/synthetics/compatibility.d.ts +2 -0
- package/dist/commands/synthetics/compatibility.js +19 -0
- package/dist/commands/synthetics/compatibility.js.map +1 -0
- package/dist/commands/synthetics/interfaces.d.ts +3 -1
- package/dist/commands/synthetics/reporters/default.js +3 -2
- package/dist/commands/synthetics/reporters/default.js.map +1 -1
- package/dist/commands/synthetics/run-tests-command.d.ts +1 -1
- package/dist/commands/synthetics/run-tests-command.js +11 -6
- package/dist/commands/synthetics/run-tests-command.js.map +1 -1
- package/dist/commands/synthetics/run-tests-lib.js +5 -2
- package/dist/commands/synthetics/run-tests-lib.js.map +1 -1
- package/dist/commands/synthetics/test.d.ts +1 -5
- package/dist/commands/synthetics/test.js +2 -2
- package/dist/commands/synthetics/test.js.map +1 -1
- package/dist/commands/synthetics/upload-application-command.js +1 -1
- package/dist/commands/synthetics/upload-application-command.js.map +1 -1
- package/dist/commands/synthetics/utils/public.d.ts +1 -0
- package/dist/commands/synthetics/utils/public.js +12 -1
- package/dist/commands/synthetics/utils/public.js.map +1 -1
- package/dist/commands/trace/interfaces.d.ts +1 -0
- package/dist/commands/trace/trace.d.ts +1 -0
- package/dist/commands/trace/trace.js +12 -2
- package/dist/commands/trace/trace.js.map +1 -1
- package/dist/helpers/tags.d.ts +1 -1
- package/dist/helpers/tags.js.map +1 -1
- package/dist/helpers/utils.d.ts +4 -0
- package/dist/helpers/utils.js +8 -1
- package/dist/helpers/utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Command } from 'clipanion';
|
|
2
|
+
export declare class UploadCommand extends Command {
|
|
3
|
+
static paths: string[][];
|
|
4
|
+
static usage: import("clipanion").Usage;
|
|
5
|
+
private disableGit;
|
|
6
|
+
private dryRun;
|
|
7
|
+
private configPath;
|
|
8
|
+
private maxConcurrency;
|
|
9
|
+
private repositoryUrl;
|
|
10
|
+
private symbolsLocation;
|
|
11
|
+
private cliVersion;
|
|
12
|
+
private config;
|
|
13
|
+
private gitData?;
|
|
14
|
+
execute(): Promise<0 | 1>;
|
|
15
|
+
private getApiKeyValidator;
|
|
16
|
+
private getGitDataPayload;
|
|
17
|
+
private getGitMetadata;
|
|
18
|
+
private getMappingMetadata;
|
|
19
|
+
private getMetricsLogger;
|
|
20
|
+
private getElfSymbolFiles;
|
|
21
|
+
private removeBuildIdDuplicates;
|
|
22
|
+
private performElfSymbolsUpload;
|
|
23
|
+
private checkBinUtils;
|
|
24
|
+
private verifyParameters;
|
|
25
|
+
}
|
|
@@ -0,0 +1,363 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
|
+
};
|
|
37
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
+
exports.UploadCommand = void 0;
|
|
39
|
+
const fs_1 = __importDefault(require("fs"));
|
|
40
|
+
const clipanion_1 = require("clipanion");
|
|
41
|
+
const glob_1 = __importDefault(require("glob"));
|
|
42
|
+
const apikey_1 = require("../../helpers/apikey");
|
|
43
|
+
const concurrency_1 = require("../../helpers/concurrency");
|
|
44
|
+
const format_git_sourcemaps_data_1 = require("../../helpers/git/format-git-sourcemaps-data");
|
|
45
|
+
const metrics_1 = require("../../helpers/metrics");
|
|
46
|
+
const upload_1 = require("../../helpers/upload");
|
|
47
|
+
const utils_1 = require("../../helpers/utils");
|
|
48
|
+
const validation = __importStar(require("../../helpers/validation"));
|
|
49
|
+
const validation_1 = require("../../helpers/validation");
|
|
50
|
+
const version_1 = require("../../helpers/version");
|
|
51
|
+
const utils_2 = require("../dsyms/utils");
|
|
52
|
+
const elf_1 = require("./elf");
|
|
53
|
+
const helpers_1 = require("./helpers");
|
|
54
|
+
const interfaces_1 = require("./interfaces");
|
|
55
|
+
const renderer_1 = require("./renderer");
|
|
56
|
+
class UploadCommand extends clipanion_1.Command {
|
|
57
|
+
constructor() {
|
|
58
|
+
super(...arguments);
|
|
59
|
+
this.disableGit = clipanion_1.Option.Boolean('--disable-git', false);
|
|
60
|
+
this.dryRun = clipanion_1.Option.Boolean('--dry-run', false);
|
|
61
|
+
this.configPath = clipanion_1.Option.String('--config');
|
|
62
|
+
this.maxConcurrency = clipanion_1.Option.String('--max-concurrency', '20', { validator: validation.isInteger() });
|
|
63
|
+
this.repositoryUrl = clipanion_1.Option.String('--repository-url');
|
|
64
|
+
this.symbolsLocation = clipanion_1.Option.String('--symbols-location', './');
|
|
65
|
+
this.cliVersion = version_1.version;
|
|
66
|
+
this.config = {
|
|
67
|
+
datadogSite: 'datadoghq.com',
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
execute() {
|
|
71
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
72
|
+
if (!(yield this.verifyParameters())) {
|
|
73
|
+
return 1;
|
|
74
|
+
}
|
|
75
|
+
const initialTime = Date.now();
|
|
76
|
+
this.context.stdout.write((0, renderer_1.renderCommandInfo)(this.dryRun, this.symbolsLocation));
|
|
77
|
+
this.config = yield (0, utils_1.resolveConfigFromFileAndEnvironment)(this.config, {
|
|
78
|
+
apiKey: process.env.DATADOG_API_KEY,
|
|
79
|
+
datadogSite: process.env.DATADOG_SITE,
|
|
80
|
+
}, {
|
|
81
|
+
configPath: this.configPath,
|
|
82
|
+
defaultConfigPaths: utils_1.DEFAULT_CONFIG_PATHS,
|
|
83
|
+
configFromFileCallback: (configFromFile) => {
|
|
84
|
+
(0, validation_1.checkAPIKeyOverride)(process.env.DATADOG_API_KEY, configFromFile.apiKey, this.context.stdout);
|
|
85
|
+
},
|
|
86
|
+
});
|
|
87
|
+
if (!this.disableGit) {
|
|
88
|
+
this.gitData = yield this.getGitMetadata();
|
|
89
|
+
}
|
|
90
|
+
const callResults = [];
|
|
91
|
+
try {
|
|
92
|
+
callResults.push(...(yield this.performElfSymbolsUpload()));
|
|
93
|
+
const totalTime = (Date.now() - initialTime) / 1000;
|
|
94
|
+
this.context.stdout.write((0, renderer_1.renderCommandSummary)(callResults, totalTime, this.dryRun));
|
|
95
|
+
}
|
|
96
|
+
catch (e) {
|
|
97
|
+
this.context.stderr.write((0, renderer_1.renderGeneralizedError)(e));
|
|
98
|
+
return 1;
|
|
99
|
+
}
|
|
100
|
+
return 0;
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
getApiKeyValidator(metricsLogger) {
|
|
104
|
+
return (0, apikey_1.newApiKeyValidator)({
|
|
105
|
+
apiKey: this.config.apiKey,
|
|
106
|
+
datadogSite: this.config.datadogSite,
|
|
107
|
+
metricsLogger: metricsLogger.logger,
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
getGitDataPayload(gitData) {
|
|
111
|
+
const files = gitData.trackedFilesMatcher.rawTrackedFilesList();
|
|
112
|
+
const repoPayload = {
|
|
113
|
+
data: [
|
|
114
|
+
{
|
|
115
|
+
files,
|
|
116
|
+
hash: gitData.hash,
|
|
117
|
+
repository_url: gitData.remote,
|
|
118
|
+
},
|
|
119
|
+
],
|
|
120
|
+
version: 1,
|
|
121
|
+
};
|
|
122
|
+
return {
|
|
123
|
+
type: 'string',
|
|
124
|
+
options: { filename: 'repository', contentType: 'application/json' },
|
|
125
|
+
value: JSON.stringify(repoPayload),
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
getGitMetadata() {
|
|
129
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
130
|
+
try {
|
|
131
|
+
return yield (0, format_git_sourcemaps_data_1.getRepositoryData)(yield (0, format_git_sourcemaps_data_1.newSimpleGit)(), this.repositoryUrl);
|
|
132
|
+
}
|
|
133
|
+
catch (e) {
|
|
134
|
+
this.context.stdout.write((0, renderer_1.renderGitWarning)(e));
|
|
135
|
+
}
|
|
136
|
+
return undefined;
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
getMappingMetadata(gnuBuildId, goBuildId, fileHash, arch) {
|
|
140
|
+
var _a, _b;
|
|
141
|
+
return {
|
|
142
|
+
arch,
|
|
143
|
+
gnu_build_id: gnuBuildId,
|
|
144
|
+
go_build_id: goBuildId,
|
|
145
|
+
file_hash: fileHash,
|
|
146
|
+
cli_version: this.cliVersion,
|
|
147
|
+
git_commit_sha: (_a = this.gitData) === null || _a === void 0 ? void 0 : _a.hash,
|
|
148
|
+
git_repository_url: (_b = this.gitData) === null || _b === void 0 ? void 0 : _b.remote,
|
|
149
|
+
platform: 'elf',
|
|
150
|
+
type: interfaces_1.TYPE_ELF_DEBUG_INFOS,
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
getMetricsLogger() {
|
|
154
|
+
const metricsLogger = (0, metrics_1.getMetricsLogger)({
|
|
155
|
+
apiKey: this.config.apiKey,
|
|
156
|
+
datadogSite: this.config.datadogSite,
|
|
157
|
+
defaultTags: [`cli_version:${this.cliVersion}`, 'platform:elf'],
|
|
158
|
+
prefix: 'datadog.ci.elf_symbols.',
|
|
159
|
+
});
|
|
160
|
+
return metricsLogger;
|
|
161
|
+
}
|
|
162
|
+
getElfSymbolFiles(symbolsLocation) {
|
|
163
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
164
|
+
let files = [];
|
|
165
|
+
let reportFailure;
|
|
166
|
+
if (fs_1.default.statSync(symbolsLocation).isDirectory()) {
|
|
167
|
+
files = glob_1.default.sync((0, utils_1.buildPath)(symbolsLocation, '**'), { nodir: true });
|
|
168
|
+
reportFailure = (message) => this.context.stdout.write((0, renderer_1.renderWarning)(message));
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
files = [symbolsLocation];
|
|
172
|
+
// in single file mode, we want to report failures as errors
|
|
173
|
+
reportFailure = (message) => {
|
|
174
|
+
throw Error(message);
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
const filesMetadata = [];
|
|
178
|
+
for (const file of files) {
|
|
179
|
+
// check that path is a file and is an ELF file
|
|
180
|
+
if (fs_1.default.lstatSync(file).isFile()) {
|
|
181
|
+
const metadata = yield (0, elf_1.getElfFileMetadata)(file);
|
|
182
|
+
// handle all possible failures
|
|
183
|
+
if (!metadata.isElf) {
|
|
184
|
+
reportFailure(`Input location ${file} is not an ELF file`);
|
|
185
|
+
continue;
|
|
186
|
+
}
|
|
187
|
+
if (metadata.error) {
|
|
188
|
+
reportFailure(`Error reading ELF file ${file}: ${metadata.error.message}`);
|
|
189
|
+
continue;
|
|
190
|
+
}
|
|
191
|
+
if (!(0, elf_1.isSupportedElfType)(metadata.type)) {
|
|
192
|
+
reportFailure(`Skipped ${file} because its not an executable, nor a shared library`);
|
|
193
|
+
continue;
|
|
194
|
+
}
|
|
195
|
+
if (!(0, elf_1.isSupportedArch)(metadata.arch)) {
|
|
196
|
+
reportFailure(`Skipped ${file} because it has an unsupported architecture (${metadata.arch})`);
|
|
197
|
+
continue;
|
|
198
|
+
}
|
|
199
|
+
if (!(metadata.gnuBuildId || metadata.goBuildId || metadata.fileHash)) {
|
|
200
|
+
reportFailure(`Skipped ${file} because it has no build id`);
|
|
201
|
+
continue;
|
|
202
|
+
}
|
|
203
|
+
if (!metadata.hasDebugInfo && !metadata.hasSymbols) {
|
|
204
|
+
reportFailure(`Skipped ${file} because it has no debug info, nor symbols`);
|
|
205
|
+
continue;
|
|
206
|
+
}
|
|
207
|
+
filesMetadata.push(metadata);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
// sort files to make output deterministic
|
|
211
|
+
filesMetadata.sort((a, b) => a.filename.localeCompare(b.filename));
|
|
212
|
+
return filesMetadata;
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
removeBuildIdDuplicates(filesMetadata) {
|
|
216
|
+
const buildIds = new Map();
|
|
217
|
+
for (const metadata of filesMetadata) {
|
|
218
|
+
const buildId = (0, elf_1.getBuildId)(metadata);
|
|
219
|
+
const existing = buildIds.get(buildId);
|
|
220
|
+
if (existing) {
|
|
221
|
+
if ((metadata.hasDebugInfo && !existing.hasDebugInfo) || (metadata.hasSymbols && !existing.hasSymbols)) {
|
|
222
|
+
// if we have a duplicate build_id, we keep the one with debug info and symbols
|
|
223
|
+
this.context.stderr.write((0, renderer_1.renderWarning)(`Duplicate build_id found: ${buildId} in ${metadata.filename} and ${existing.filename} - skipping ${existing.filename} because it has no debug info or symbols`));
|
|
224
|
+
buildIds.set(buildId, metadata);
|
|
225
|
+
}
|
|
226
|
+
else {
|
|
227
|
+
// if both files have debug info and symbols, we keep the first one
|
|
228
|
+
this.context.stderr.write((0, renderer_1.renderWarning)(`Duplicate build_id found: ${buildId} in ${metadata.filename} and ${existing.filename} - skipping ${metadata.filename}`));
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
else {
|
|
232
|
+
buildIds.set(buildId, metadata);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
return Array.from(buildIds.values()).sort((a, b) => a.filename.localeCompare(b.filename));
|
|
236
|
+
}
|
|
237
|
+
performElfSymbolsUpload() {
|
|
238
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
239
|
+
const metricsLogger = this.getMetricsLogger();
|
|
240
|
+
const apiKeyValidator = this.getApiKeyValidator(metricsLogger);
|
|
241
|
+
let elfFilesMetadata = yield this.getElfSymbolFiles(this.symbolsLocation);
|
|
242
|
+
elfFilesMetadata = this.removeBuildIdDuplicates(elfFilesMetadata);
|
|
243
|
+
const requestBuilder = (0, helpers_1.getElfRequestBuilder)(this.config.apiKey, this.cliVersion, this.config.datadogSite);
|
|
244
|
+
const tmpDirectory = yield (0, utils_2.createUniqueTmpDirectory)();
|
|
245
|
+
try {
|
|
246
|
+
const results = yield (0, concurrency_1.doWithMaxConcurrency)(this.maxConcurrency, elfFilesMetadata, (fileMetadata) => __awaiter(this, void 0, void 0, function* () {
|
|
247
|
+
const metadata = this.getMappingMetadata(fileMetadata.gnuBuildId, fileMetadata.goBuildId, fileMetadata.fileHash, fileMetadata.arch);
|
|
248
|
+
const outputFilename = (0, elf_1.getOutputFilenameFromBuildId)(fileMetadata.gnuBuildId || fileMetadata.goBuildId || fileMetadata.fileHash);
|
|
249
|
+
const outputFilePath = (0, utils_1.buildPath)(tmpDirectory, outputFilename);
|
|
250
|
+
yield (0, elf_1.copyElfDebugInfo)(fileMetadata.filename, outputFilePath, fileMetadata, false);
|
|
251
|
+
if (this.dryRun) {
|
|
252
|
+
this.context.stdout.write(`[DRYRUN] ${(0, renderer_1.renderUpload)(fileMetadata.filename, (0, elf_1.getBuildId)(fileMetadata))}`);
|
|
253
|
+
return upload_1.UploadStatus.Success;
|
|
254
|
+
}
|
|
255
|
+
const payload = {
|
|
256
|
+
content: new Map([
|
|
257
|
+
[
|
|
258
|
+
'event',
|
|
259
|
+
{
|
|
260
|
+
type: 'string',
|
|
261
|
+
value: JSON.stringify(metadata),
|
|
262
|
+
options: { filename: 'event', contentType: 'application/json' },
|
|
263
|
+
},
|
|
264
|
+
],
|
|
265
|
+
[
|
|
266
|
+
interfaces_1.VALUE_NAME_ELF_DEBUG_INFOS,
|
|
267
|
+
{
|
|
268
|
+
type: 'file',
|
|
269
|
+
path: outputFilePath,
|
|
270
|
+
options: { filename: interfaces_1.ELF_DEBUG_INFOS_FILENAME },
|
|
271
|
+
},
|
|
272
|
+
],
|
|
273
|
+
]),
|
|
274
|
+
};
|
|
275
|
+
if (this.gitData !== undefined) {
|
|
276
|
+
payload.content.set('repository', this.getGitDataPayload(this.gitData));
|
|
277
|
+
}
|
|
278
|
+
return (0, helpers_1.uploadMultipartHelper)(requestBuilder, payload, {
|
|
279
|
+
apiKeyValidator,
|
|
280
|
+
onError: (e) => {
|
|
281
|
+
this.context.stdout.write((0, renderer_1.renderFailedUpload)(fileMetadata.filename, e.message));
|
|
282
|
+
metricsLogger.logger.increment('failed', 1);
|
|
283
|
+
},
|
|
284
|
+
onRetry: (e, attempts) => {
|
|
285
|
+
this.context.stdout.write((0, renderer_1.renderRetriedUpload)(fileMetadata.filename, e.message, attempts));
|
|
286
|
+
metricsLogger.logger.increment('retries', 1);
|
|
287
|
+
},
|
|
288
|
+
onUpload: () => {
|
|
289
|
+
this.context.stdout.write((0, renderer_1.renderUpload)(fileMetadata.filename, (0, elf_1.getBuildId)(fileMetadata)));
|
|
290
|
+
},
|
|
291
|
+
retries: 5,
|
|
292
|
+
useGzip: true,
|
|
293
|
+
}).finally(() => {
|
|
294
|
+
// ignore errors when removing the file
|
|
295
|
+
fs_1.default.rm(outputFilePath, () => { });
|
|
296
|
+
});
|
|
297
|
+
}));
|
|
298
|
+
return results;
|
|
299
|
+
}
|
|
300
|
+
catch (error) {
|
|
301
|
+
throw error;
|
|
302
|
+
}
|
|
303
|
+
finally {
|
|
304
|
+
yield (0, utils_2.deleteDirectory)(tmpDirectory);
|
|
305
|
+
try {
|
|
306
|
+
yield metricsLogger.flush();
|
|
307
|
+
}
|
|
308
|
+
catch (err) {
|
|
309
|
+
this.context.stdout.write(`WARN: ${err}\n`);
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
});
|
|
313
|
+
}
|
|
314
|
+
checkBinUtils() {
|
|
315
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
316
|
+
try {
|
|
317
|
+
yield (0, utils_1.execute)('objcopy --version');
|
|
318
|
+
return true;
|
|
319
|
+
}
|
|
320
|
+
catch (e) {
|
|
321
|
+
return false;
|
|
322
|
+
}
|
|
323
|
+
});
|
|
324
|
+
}
|
|
325
|
+
verifyParameters() {
|
|
326
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
327
|
+
let parametersOkay = true;
|
|
328
|
+
if (!this.symbolsLocation) {
|
|
329
|
+
this.context.stderr.write((0, renderer_1.renderArgumentMissingError)('symbols-location'));
|
|
330
|
+
parametersOkay = false;
|
|
331
|
+
}
|
|
332
|
+
else {
|
|
333
|
+
if (fs_1.default.existsSync(this.symbolsLocation)) {
|
|
334
|
+
const stats = fs_1.default.statSync(this.symbolsLocation);
|
|
335
|
+
if (!stats.isDirectory() && !stats.isFile()) {
|
|
336
|
+
this.context.stderr.write((0, renderer_1.renderInvalidSymbolsLocation)(this.symbolsLocation));
|
|
337
|
+
parametersOkay = false;
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
else {
|
|
341
|
+
this.context.stderr.write((0, renderer_1.renderInvalidSymbolsLocation)(this.symbolsLocation));
|
|
342
|
+
parametersOkay = false;
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
if (!(yield this.checkBinUtils())) {
|
|
346
|
+
this.context.stderr.write((0, renderer_1.renderMissingBinUtils)());
|
|
347
|
+
parametersOkay = false;
|
|
348
|
+
}
|
|
349
|
+
return parametersOkay;
|
|
350
|
+
});
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
exports.UploadCommand = UploadCommand;
|
|
354
|
+
UploadCommand.paths = [['elf-symbols', 'upload']];
|
|
355
|
+
UploadCommand.usage = clipanion_1.Command.Usage({
|
|
356
|
+
category: 'RUM',
|
|
357
|
+
description: 'Upload Elf debug info files to Datadog.',
|
|
358
|
+
details: `
|
|
359
|
+
This command will upload debug info from all Elf files found recursively in the given location in order to symbolicate profiles
|
|
360
|
+
`,
|
|
361
|
+
examples: [['Upload debug infos for all Elf files in the current directory', 'datadog-ci elf-symbols upload']],
|
|
362
|
+
});
|
|
363
|
+
//# sourceMappingURL=upload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload.js","sourceRoot":"","sources":["../../../src/commands/elf-symbols/upload.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,28 +29,17 @@ const MAX_HISTORY = {
|
|
|
29
29
|
maxCommits: 1000,
|
|
30
30
|
oldestCommits: '1 month ago',
|
|
31
31
|
};
|
|
32
|
-
const
|
|
33
|
-
let repoURL;
|
|
34
|
-
if (repositoryURL) {
|
|
35
|
-
repoURL = repositoryURL;
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
try {
|
|
39
|
-
repoURL = yield (0, get_git_data_1.gitRemote)(git);
|
|
40
|
-
log.debug(`Syncing repository ${repoURL}`);
|
|
41
|
-
}
|
|
42
|
-
catch (err) {
|
|
43
|
-
log.warn(`Failed getting repository URL: ${err}`);
|
|
44
|
-
throw err;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
yield unshallowRepositoryWhenNeeded(log, git);
|
|
32
|
+
const getCommitsToInclude = (log, request, git, repositoryURL) => __awaiter(void 0, void 0, void 0, function* () {
|
|
48
33
|
let latestCommits;
|
|
49
34
|
try {
|
|
50
35
|
latestCommits = yield getLatestLocalCommits(git);
|
|
51
36
|
if (latestCommits.length === 0) {
|
|
52
37
|
log.debug('No local commits found.');
|
|
53
|
-
return
|
|
38
|
+
return {
|
|
39
|
+
commitsToInclude: [],
|
|
40
|
+
commitsToExclude: [],
|
|
41
|
+
headCommit: '',
|
|
42
|
+
};
|
|
54
43
|
}
|
|
55
44
|
log.debug(`${latestCommits.length} commits found, asking GitDB which ones are missing.`);
|
|
56
45
|
}
|
|
@@ -60,14 +49,54 @@ const uploadToGitDB = (log, request, git, dryRun, repositoryURL) => __awaiter(vo
|
|
|
60
49
|
}
|
|
61
50
|
let commitsToExclude;
|
|
62
51
|
try {
|
|
63
|
-
commitsToExclude = yield getKnownCommits(log, request,
|
|
52
|
+
commitsToExclude = yield getKnownCommits(log, request, repositoryURL, latestCommits);
|
|
64
53
|
log.debug(`${commitsToExclude.length} commits already in GitDB.`);
|
|
65
54
|
}
|
|
66
55
|
catch (err) {
|
|
67
56
|
log.warn(`Failed getting commits to exclude: ${err}`);
|
|
68
57
|
throw err;
|
|
69
58
|
}
|
|
70
|
-
|
|
59
|
+
return {
|
|
60
|
+
commitsToInclude: latestCommits.filter((x) => !commitsToExclude.includes(x)),
|
|
61
|
+
commitsToExclude,
|
|
62
|
+
headCommit: latestCommits[0],
|
|
63
|
+
};
|
|
64
|
+
});
|
|
65
|
+
const uploadToGitDB = (log, request, git, dryRun, repositoryURL) => __awaiter(void 0, void 0, void 0, function* () {
|
|
66
|
+
let repoURL;
|
|
67
|
+
if (repositoryURL) {
|
|
68
|
+
repoURL = repositoryURL;
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
try {
|
|
72
|
+
repoURL = yield (0, get_git_data_1.gitRemote)(git);
|
|
73
|
+
log.debug(`Syncing repository ${repoURL}`);
|
|
74
|
+
}
|
|
75
|
+
catch (err) {
|
|
76
|
+
log.warn(`Failed getting repository URL: ${err}`);
|
|
77
|
+
throw err;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
let commitsToInclude;
|
|
81
|
+
let commitsToExclude;
|
|
82
|
+
let headCommit;
|
|
83
|
+
const getCommitsBeforeUnshallowing = yield getCommitsToInclude(log, request, git, repoURL);
|
|
84
|
+
commitsToInclude = getCommitsBeforeUnshallowing.commitsToInclude;
|
|
85
|
+
commitsToExclude = getCommitsBeforeUnshallowing.commitsToExclude;
|
|
86
|
+
headCommit = getCommitsBeforeUnshallowing.headCommit;
|
|
87
|
+
// If there are no commits to include, it means the backend already has all the commits.
|
|
88
|
+
if (commitsToInclude.length === 0) {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
// If there are commits to include and the repository is shallow, we need to repeat the process after unshallowing
|
|
92
|
+
const isShallow = yield isShallowRepository(git);
|
|
93
|
+
if (isShallow) {
|
|
94
|
+
yield unshallowRepository(log, git);
|
|
95
|
+
const getCommitsAfterUnshallowing = yield getCommitsToInclude(log, request, git, repoURL);
|
|
96
|
+
commitsToInclude = getCommitsAfterUnshallowing.commitsToInclude;
|
|
97
|
+
commitsToExclude = getCommitsAfterUnshallowing.commitsToExclude;
|
|
98
|
+
headCommit = getCommitsBeforeUnshallowing.headCommit;
|
|
99
|
+
}
|
|
71
100
|
// Get the list of all objects (commits, trees) to upload. This list can be quite long
|
|
72
101
|
// so quite memory intensive (multiple MBs).
|
|
73
102
|
let objectsToUpload;
|
|
@@ -96,7 +125,7 @@ const uploadToGitDB = (log, request, git, dryRun, repositoryURL) => __awaiter(vo
|
|
|
96
125
|
return;
|
|
97
126
|
}
|
|
98
127
|
log.debug(`Uploading packfiles...`);
|
|
99
|
-
yield (0, exports.uploadPackfiles)(log, request, repoURL,
|
|
128
|
+
yield (0, exports.uploadPackfiles)(log, request, repoURL, headCommit, packfiles);
|
|
100
129
|
log.debug('Successfully uploaded packfiles.');
|
|
101
130
|
}
|
|
102
131
|
catch (err) {
|
|
@@ -115,15 +144,14 @@ const getLatestLocalCommits = (git) => __awaiter(void 0, void 0, void 0, functio
|
|
|
115
144
|
const logResult = yield git.log([`-n ${MAX_HISTORY.maxCommits}`, `--since="${MAX_HISTORY.oldestCommits}"`]);
|
|
116
145
|
return logResult.all.map((c) => c.hash);
|
|
117
146
|
});
|
|
118
|
-
const
|
|
119
|
-
const isShallow = (yield git.revparse('--is-shallow-repository')) === 'true';
|
|
120
|
-
if (!isShallow) {
|
|
121
|
-
return;
|
|
122
|
-
}
|
|
147
|
+
const isShallowRepository = (git) => __awaiter(void 0, void 0, void 0, function* () {
|
|
123
148
|
const gitversion = String(yield git.version());
|
|
124
149
|
if ((0, semver_1.lte)(gitversion, '2.27.0')) {
|
|
125
|
-
return;
|
|
150
|
+
return false;
|
|
126
151
|
}
|
|
152
|
+
return (yield git.revparse('--is-shallow-repository')) === 'true';
|
|
153
|
+
});
|
|
154
|
+
const unshallowRepository = (log, git) => __awaiter(void 0, void 0, void 0, function* () {
|
|
127
155
|
log.info('[unshallow] Git repository is a shallow clone, unshallowing it...');
|
|
128
156
|
const [headCommit, remoteName] = yield Promise.all([git.revparse('HEAD'), (0, get_git_data_1.getDefaultRemoteName)(git)]);
|
|
129
157
|
const baseCommandLogLine = `[unshallow] Running git fetch --shallow-since="${MAX_HISTORY.oldestCommits}" --update-shallow --filter=blob:none --recurse-submodules=no`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitdb.js","sourceRoot":"","sources":["../../../src/commands/git-metadata/gitdb.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kEAAyC;AACzC,4CAAmB;AACnB,0CAAmC;AACnC,4CAAmB;AACnB,gDAAuB;AAIvB,0DAAgC;AAChC,mCAA0B;AAG1B,iEAA4F;AAG5F,+CAAgD;AAEhD,MAAM,WAAW,GAAG,KAAK,CAAA;AAEzB,0EAA0E;AAC1E,2DAA2D;AAC3D,MAAM,WAAW,GAAG;IAClB,UAAU,EAAE,IAAI;IAChB,aAAa,EAAE,aAAa;CAC7B,CAAA;
|
|
1
|
+
{"version":3,"file":"gitdb.js","sourceRoot":"","sources":["../../../src/commands/git-metadata/gitdb.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.UploadCommand = void 0;
|
|
16
16
|
const chalk_1 = __importDefault(require("chalk"));
|
|
17
17
|
const clipanion_1 = require("clipanion");
|
|
18
|
-
const constants_1 = require("../../constants");
|
|
19
18
|
const apikey_1 = require("../../helpers/apikey");
|
|
20
19
|
const errors_1 = require("../../helpers/errors");
|
|
21
20
|
const formatting_1 = require("../../helpers/formatting");
|
|
@@ -107,13 +106,7 @@ class UploadCommand extends clipanion_1.Command {
|
|
|
107
106
|
this.logger.info(`${this.dryRun ? '[DRYRUN] ' : ''}Successfully synced git DB in ${elapsed} seconds.`);
|
|
108
107
|
}
|
|
109
108
|
catch (err) {
|
|
110
|
-
|
|
111
|
-
this.logger.warn(`Could not write to GitDB: ${err}`);
|
|
112
|
-
}
|
|
113
|
-
else {
|
|
114
|
-
// Skip the warning for Gov DC since git sync is not available there yet.
|
|
115
|
-
this.logger.warn(`Not writing to GitDB: not available for gov`);
|
|
116
|
-
}
|
|
109
|
+
this.logger.warn(`Could not write to GitDB: ${err}`);
|
|
117
110
|
}
|
|
118
111
|
}
|
|
119
112
|
try {
|
|
@@ -197,9 +190,6 @@ class UploadCommand extends clipanion_1.Command {
|
|
|
197
190
|
baseUrl: 'https://' + api_1.apiHost,
|
|
198
191
|
});
|
|
199
192
|
}
|
|
200
|
-
isTargetingGov() {
|
|
201
|
-
return api_1.datadogSite === constants_1.DATADOG_SITE_GOV;
|
|
202
|
-
}
|
|
203
193
|
}
|
|
204
194
|
exports.UploadCommand = UploadCommand;
|
|
205
195
|
UploadCommand.paths = [['git-metadata', 'upload']];
|