indraq_cli 1.5.1 → 1.5.7

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.
@@ -9,7 +9,6 @@ const chalk_1 = __importDefault(require("chalk"));
9
9
  const node_fs_1 = require("node:fs");
10
10
  const docker_config_1 = require("../config/docker-config");
11
11
  const jenkins_config_1 = require("../../../shared/config/jenkins-config");
12
- const github_auth_service_1 = require("../../../shared/github/github-auth.service");
13
12
  const docker_service_1 = require("../services/docker.service");
14
13
  const jenkins_service_1 = require("../../../shared/jenkins/jenkins.service");
15
14
  const TAG_PATTERN = /^[A-Za-z0-9_][A-Za-z0-9_.-]{0,127}$/;
@@ -53,10 +52,6 @@ const build = async (options) => {
53
52
  }
54
53
  (0, docker_service_1.assertDockerAvailable)();
55
54
  (0, jenkins_service_1.assertJavaAvailable)();
56
- const githubAuth = (0, github_auth_service_1.detectGitHubAuthentication)();
57
- if (!githubAuth) {
58
- throw new Error('No authenticated GitHub session was found. Sign in using Git/Git Bash (Git Credential Manager or SSH), or authenticate the optional GitHub CLI.');
59
- }
60
55
  if (!(0, node_fs_1.existsSync)(dockerfilePath)) {
61
56
  throw new Error(`Dockerfile not found: ${dockerfilePath}`);
62
57
  }
@@ -67,7 +62,9 @@ const build = async (options) => {
67
62
  throw new Error('Jenkins credentials are missing. Run `indraq configure` again.');
68
63
  }
69
64
  console.log(chalk_1.default.blue.bold('šŸ”Ž Preflight Checks\n'));
70
- console.log(chalk_1.default.green(`āœ“ Docker available; GitHub authenticated via ${(0, github_auth_service_1.describeGitHubAuthentication)(githubAuth)}`));
65
+ console.log(chalk_1.default.green('āœ“ Docker available'));
66
+ console.log(chalk_1.default.green("āœ“ GHCR authentication will use Docker's existing credential store"));
67
+ console.log(chalk_1.default.gray(' IndraQ will not run `docker login` or replace your working GHCR credentials.'));
71
68
  console.log(chalk_1.default.gray(`āœ“ Registry owner: ${config.github.owner} (${config.github.ownerType === 'personal' ? 'personal account' : 'organization'})`));
72
69
  const authResult = (0, jenkins_service_1.validateJenkinsAuthentication)(jenkins);
73
70
  if (authResult.connectionMode !== jenkins.connectionMode) {
@@ -112,15 +109,9 @@ const build = async (options) => {
112
109
  console.log(chalk_1.default.gray(`Tags: ${tags.join(', ')}\n`));
113
110
  (0, docker_service_1.buildDockerImage)(imageName, tags, dockerfilePath);
114
111
  console.log(chalk_1.default.green('\nāœ“ Docker image built successfully\n'));
115
- console.log(chalk_1.default.blue.bold('šŸ” Step 3: Preparing GHCR Authentication\n'));
116
- const loggedInWithDetectedCredential = (0, docker_service_1.authenticateGhcr)(githubAuth);
117
- if (loggedInWithDetectedCredential) {
118
- console.log(chalk_1.default.green('\nāœ“ GHCR login completed using the detected GitHub credential\n'));
119
- }
120
- else {
121
- console.log(chalk_1.default.yellow('⚠ GitHub SSH authentication is valid, but GHCR does not accept SSH keys. Using any GHCR credentials already stored by Docker.'));
122
- console.log(chalk_1.default.gray(' If the push fails, run `docker login ghcr.io` once and retry.\n'));
123
- }
112
+ console.log(chalk_1.default.blue.bold('šŸ” Step 3: Using Existing GHCR Authentication\n'));
113
+ console.log(chalk_1.default.green('āœ“ Using the GHCR credentials already stored by Docker'));
114
+ console.log(chalk_1.default.gray(' Git/GitHub credentials are not reused for GHCR and Docker login state is left untouched.\n'));
124
115
  console.log(chalk_1.default.blue.bold('šŸ“¤ Step 4: Pushing Image to GHCR\n'));
125
116
  for (const tag of tags) {
126
117
  const imageWithTag = `${imageName}:${tag}`;
@@ -1 +1 @@
1
- {"version":3,"file":"build.command.js","sourceRoot":"","sources":["../../../../src/modules/deploy/commands/build.command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.command.js","sourceRoot":"","sources":["../../../../src/modules/deploy/commands/build.command.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,5 @@
1
- import type { GitHubAuthState } from '../../../shared/github/github-auth.service';
2
1
  export declare const assertDockerAvailable: () => void;
3
2
  export declare const buildDockerImage: (imageName: string, tags: string[], dockerfilePath: string) => void;
4
- export declare const authenticateGhcr: (auth: GitHubAuthState) => boolean;
5
3
  export declare const pushDockerImage: (imageWithTag: string) => void;
6
4
  export declare const getDockerImageDigest: (imageWithTag: string) => string;
7
5
  //# sourceMappingURL=docker.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"docker.service.d.ts","sourceRoot":"","sources":["../../../../src/modules/deploy/services/docker.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAC;AAElF,eAAO,MAAM,qBAAqB,QAAO,IAMxC,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,WAAW,MAAM,EACjB,MAAM,MAAM,EAAE,EACd,gBAAgB,MAAM,KACrB,IAYF,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,MAAM,eAAe,KAAG,OAgBxD,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,cAAc,MAAM,KAAG,IAQtD,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,cAAc,MAAM,KAAG,MAgB3D,CAAC"}
1
+ {"version":3,"file":"docker.service.d.ts","sourceRoot":"","sources":["../../../../src/modules/deploy/services/docker.service.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB,QAAO,IAMxC,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,WAAW,MAAM,EACjB,MAAM,MAAM,EAAE,EACd,gBAAgB,MAAM,KACrB,IAYF,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,cAAc,MAAM,KAAG,IAStD,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,cAAc,MAAM,KAAG,MAgB3D,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getDockerImageDigest = exports.pushDockerImage = exports.authenticateGhcr = exports.buildDockerImage = exports.assertDockerAvailable = void 0;
3
+ exports.getDockerImageDigest = exports.pushDockerImage = exports.buildDockerImage = exports.assertDockerAvailable = void 0;
4
4
  const node_child_process_1 = require("node:child_process");
5
5
  const assertDockerAvailable = () => {
6
6
  try {
@@ -25,28 +25,13 @@ const buildDockerImage = (imageName, tags, dockerfilePath) => {
25
25
  }
26
26
  };
27
27
  exports.buildDockerImage = buildDockerImage;
28
- const authenticateGhcr = (auth) => {
29
- if (!auth.username || !auth.token) {
30
- return false;
31
- }
32
- try {
33
- (0, node_child_process_1.execFileSync)('docker', ['login', 'ghcr.io', '-u', auth.username, '--password-stdin'], {
34
- input: `${auth.token}\n`,
35
- stdio: ['pipe', 'inherit', 'inherit']
36
- });
37
- return true;
38
- }
39
- catch {
40
- throw new Error('GitHub authentication was found, but GHCR rejected the credential. Make sure it has package write access, or run `docker login ghcr.io` once.');
41
- }
42
- };
43
- exports.authenticateGhcr = authenticateGhcr;
44
28
  const pushDockerImage = (imageWithTag) => {
45
29
  try {
46
30
  (0, node_child_process_1.execFileSync)('docker', ['push', imageWithTag], { stdio: 'inherit' });
47
31
  }
48
32
  catch {
49
- throw new Error(`Failed to push ${imageWithTag}. Verify that you have package write permission for the selected GitHub owner and that Docker is authenticated to ghcr.io.`);
33
+ throw new Error(`Failed to push ${imageWithTag}. IndraQ preserved Docker's existing GHCR login and did not run docker login. ` +
34
+ 'If a manual `docker push` of the same image succeeds, report this as an IndraQ CLI bug. Otherwise verify the Docker GHCR credential has package write access.');
50
35
  }
51
36
  };
52
37
  exports.pushDockerImage = pushDockerImage;
@@ -1 +1 @@
1
- {"version":3,"file":"docker.service.js","sourceRoot":"","sources":["../../../../src/modules/deploy/services/docker.service.ts"],"names":[],"mappings":";;;AAAA,2DAAkD;AAG3C,MAAM,qBAAqB,GAAG,GAAS,EAAE;IAC9C,IAAI,CAAC;QACH,IAAA,iCAAY,EAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;AACH,CAAC,CAAC;AANW,QAAA,qBAAqB,yBAMhC;AAEK,MAAM,gBAAgB,GAAG,CAC9B,SAAiB,EACjB,IAAc,EACd,cAAsB,EAChB,EAAE;IACR,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IACvD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,SAAS,IAAI,GAAG,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEzB,IAAI,CAAC;QACH,IAAA,iCAAY,EAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACvF,CAAC;AACH,CAAC,CAAC;AAhBW,QAAA,gBAAgB,oBAgB3B;AAEK,MAAM,gBAAgB,GAAG,CAAC,IAAqB,EAAW,EAAE;IACjE,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,IAAA,iCAAY,EAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC,EAAE;YACpF,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,IAAI;YACxB,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC;SACtC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,+IAA+I,CAChJ,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AAhBW,QAAA,gBAAgB,oBAgB3B;AAEK,MAAM,eAAe,GAAG,CAAC,YAAoB,EAAQ,EAAE;IAC5D,IAAI,CAAC;QACH,IAAA,iCAAY,EAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACvE,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,kBAAkB,YAAY,4HAA4H,CAC3J,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AARW,QAAA,eAAe,mBAQ1B;AAEK,MAAM,oBAAoB,GAAG,CAAC,YAAoB,EAAU,EAAE;IACnE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,iCAAY,EACzB,QAAQ,EACR,CAAC,OAAO,EAAE,SAAS,EAAE,mCAAmC,EAAE,YAAY,CAAC,EACvE;YACE,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CACF,CAAC,IAAI,EAAE,CAAC;QAET,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1C,OAAO,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC,CAAC;AAhBW,QAAA,oBAAoB,wBAgB/B"}
1
+ {"version":3,"file":"docker.service.js","sourceRoot":"","sources":["../../../../src/modules/deploy/services/docker.service.ts"],"names":[],"mappings":";;;AAAA,2DAAkD;AAE3C,MAAM,qBAAqB,GAAG,GAAS,EAAE;IAC9C,IAAI,CAAC;QACH,IAAA,iCAAY,EAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IACnE,CAAC;AACH,CAAC,CAAC;AANW,QAAA,qBAAqB,yBAMhC;AAEK,MAAM,gBAAgB,GAAG,CAC9B,SAAiB,EACjB,IAAc,EACd,cAAsB,EAChB,EAAE;IACR,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IACvD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,SAAS,IAAI,GAAG,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEzB,IAAI,CAAC;QACH,IAAA,iCAAY,EAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACvF,CAAC;AACH,CAAC,CAAC;AAhBW,QAAA,gBAAgB,oBAgB3B;AAEK,MAAM,eAAe,GAAG,CAAC,YAAoB,EAAQ,EAAE;IAC5D,IAAI,CAAC;QACH,IAAA,iCAAY,EAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACvE,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,kBAAkB,YAAY,gFAAgF;YAC9G,+JAA+J,CAChK,CAAC;IACJ,CAAC;AACH,CAAC,CAAC;AATW,QAAA,eAAe,mBAS1B;AAEK,MAAM,oBAAoB,GAAG,CAAC,YAAoB,EAAU,EAAE;IACnE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,iCAAY,EACzB,QAAQ,EACR,CAAC,OAAO,EAAE,SAAS,EAAE,mCAAmC,EAAE,YAAY,CAAC,EACvE;YACE,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CACF,CAAC,IAAI,EAAE,CAAC;QAET,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC1C,OAAO,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC,CAAC;AAhBW,QAAA,oBAAoB,wBAgB/B"}
@@ -1 +1 @@
1
- {"version":3,"file":"build-mobile.command.d.ts","sourceRoot":"","sources":["../../../../src/modules/mobile/commands/build-mobile.command.ts"],"names":[],"mappings":"AAGA,OAAO,EAKL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC3B,MAAM,yBAAyB,CAAC;AA0BjC,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,qBAAqB,CAAC;IAC3B,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAcD,eAAO,MAAM,WAAW,GAAU,SAAS,kBAAkB,KAAG,OAAO,CAAC,IAAI,CAiL3E,CAAC"}
1
+ {"version":3,"file":"build-mobile.command.d.ts","sourceRoot":"","sources":["../../../../src/modules/mobile/commands/build-mobile.command.ts"],"names":[],"mappings":"AAGA,OAAO,EAKL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC3B,MAAM,yBAAyB,CAAC;AA0BjC,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,qBAAqB,CAAC;IAC3B,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAcD,eAAO,MAAM,WAAW,GAAU,SAAS,kBAAkB,KAAG,OAAO,CAAC,IAAI,CAkL3E,CAAC"}
@@ -132,7 +132,8 @@ const buildMobile = async (options) => {
132
132
  const bundle = await (0, source_bundle_service_1.createSourceBundle)(project.root, mobile.projectId);
133
133
  console.log(chalk_1.default.green(`āœ“ Source bundle created: ${formatBytes(bundle.sizeBytes)}`));
134
134
  console.log(chalk_1.default.gray(` SHA-256: ${bundle.sha256}`));
135
- console.log(chalk_1.default.gray(' Excluded: .git, .indraq, node_modules, build outputs, caches, .env and editor files.'));
135
+ console.log(chalk_1.default.gray(' Source archive excludes: .git, .indraq, node_modules, build outputs, caches and editor files.'));
136
+ console.log(chalk_1.default.gray(` .env: ${envFile ? 'excluded from the source archive and uploaded separately to Jenkins' : 'not included / not required'}.`));
136
137
  try {
137
138
  console.log(chalk_1.default.blue.bold('\nšŸš€ Step 5: Upload source and run Jenkins\n'));
138
139
  console.log(chalk_1.default.gray('Live Jenkins console output will appear below.\n'));
@@ -1 +1 @@
1
- {"version":3,"file":"build-mobile.command.js","sourceRoot":"","sources":["../../../../src/modules/mobile/commands/build-mobile.command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-mobile.command.js","sourceRoot":"","sources":["../../../../src/modules/mobile/commands/build-mobile.command.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"jenkins-mobile.service.d.ts","sourceRoot":"","sources":["../../../../src/modules/mobile/services/jenkins-mobile.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAMnF,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,iBAAiB,CAAC;IAC/B,WAAW,EAAE,qBAAqB,CAAC;IACnC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,kBAAkB,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,eAAe,EAAE,CAAC;CAC9B;AAkID,eAAO,MAAM,yBAAyB,GACpC,QAAQ,qBAAqB,EAC7B,SAAS,MAAM,EACf,SAAS,yBAAyB,KACjC,OAAO,CAAC,wBAAwB,CAmFlC,CAAC"}
1
+ {"version":3,"file":"jenkins-mobile.service.d.ts","sourceRoot":"","sources":["../../../../src/modules/mobile/services/jenkins-mobile.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAMnF,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,iBAAiB,CAAC;IAC/B,WAAW,EAAE,qBAAqB,CAAC;IACnC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,OAAO,EAAE,kBAAkB,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,eAAe,EAAE,CAAC;CAC9B;AAuSD,eAAO,MAAM,yBAAyB,GACpC,QAAQ,qBAAqB,EAC7B,SAAS,MAAM,EACf,SAAS,yBAAyB,KACjC,OAAO,CAAC,wBAAwB,CA8HlC,CAAC"}
@@ -28,25 +28,67 @@ const fetchJson = async (url, headers, timeout = 15_000) => {
28
28
  }
29
29
  return await response.json();
30
30
  };
31
- const getCrumb = async (config, authHeaders) => {
31
+ const extractSetCookieHeaders = (headers) => {
32
+ const extended = headers;
33
+ if (typeof extended.getSetCookie === 'function') {
34
+ return extended.getSetCookie();
35
+ }
36
+ const combined = headers.get('set-cookie');
37
+ if (!combined)
38
+ return [];
39
+ // Fallback for runtimes without Headers.getSetCookie(). Jenkins' session
40
+ // cookies are simple name=value pairs; split only where a new cookie starts.
41
+ return combined.split(/,(?=\s*[^=;,\s]+=)/g);
42
+ };
43
+ const createCookieHeader = (setCookieHeaders) => {
44
+ const cookies = setCookieHeaders
45
+ .map((value) => value.split(';', 1)[0]?.trim() ?? '')
46
+ .filter((value) => /^[^=;\s]+=.*/.test(value));
47
+ return cookies.length > 0 ? cookies.join('; ') : null;
48
+ };
49
+ const getCrumbSession = async (config, authHeaders) => {
32
50
  try {
33
51
  const response = await fetch(`${(0, jenkins_service_1.normalizeJenkinsUrl)(config.url)}/crumbIssuer/api/json`, {
34
52
  headers: authHeaders,
35
53
  signal: AbortSignal.timeout(10_000)
36
54
  });
55
+ // API-token authentication is exempt from Jenkins CSRF protection, and
56
+ // some controllers disable the crumb issuer entirely.
37
57
  if (response.status === 404)
38
- return {};
58
+ return { crumbHeaders: {}, cookieHeader: null };
39
59
  if (!response.ok)
40
- return {};
60
+ return { crumbHeaders: {}, cookieHeader: null };
41
61
  const data = await response.json();
42
- return data.crumbRequestField && data.crumb ? { [data.crumbRequestField]: data.crumb } : {};
62
+ const crumbHeaders = data.crumbRequestField && data.crumb
63
+ ? { [data.crumbRequestField]: data.crumb }
64
+ : {};
65
+ // Jenkins crumbs are tied to the web session that issued them. Password-
66
+ // authenticated scripted clients must send this same session cookie with
67
+ // the subsequent POST. API-token clients do not need the crumb, but
68
+ // sending the cookie is harmless.
69
+ const cookieHeader = createCookieHeader(extractSetCookieHeaders(response.headers));
70
+ return { crumbHeaders, cookieHeader };
43
71
  }
44
72
  catch {
45
- // Jenkins API tokens normally do not require a crumb. The build POST will
46
- // surface a useful error if this controller does require one.
47
- return {};
73
+ // The build POST will still work when an API token is used because Jenkins
74
+ // exempts API-token-authenticated requests from CSRF crumbs.
75
+ return { crumbHeaders: {}, cookieHeader: null };
48
76
  }
49
77
  };
78
+ const cleanJenkinsResponseBody = (body) => body
79
+ .replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi, ' ')
80
+ .replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi, ' ')
81
+ .replace(/<[^>]+>/g, ' ')
82
+ .replace(/&nbsp;/gi, ' ')
83
+ .replace(/&quot;/gi, '"')
84
+ .replace(/&#39;|&apos;/gi, "'")
85
+ .replace(/&lt;/gi, '<')
86
+ .replace(/&gt;/gi, '>')
87
+ .replace(/&amp;/gi, '&')
88
+ .replace(/\s+/g, ' ')
89
+ .trim()
90
+ .slice(0, 1000);
91
+ const isCsrfRejection = (status, body) => status === 403 && /(?:crumb|csrf|cross[ -]?site request forgery)/i.test(body);
50
92
  const parseQueueLocation = (location, baseUrl) => {
51
93
  if (!location) {
52
94
  throw new Error('Jenkins accepted the build request but did not return a queue Location header.');
@@ -59,6 +101,7 @@ const parseQueueLocation = (location, baseUrl) => {
59
101
  };
60
102
  const waitForBuildStart = async (queueUrl, authHeaders) => {
61
103
  const deadline = Date.now() + 10 * 60_000;
104
+ let lastQueueReason = '';
62
105
  while (Date.now() < deadline) {
63
106
  const data = await fetchJson(`${queueUrl}/api/json`, authHeaders);
64
107
  if (data.cancelled)
@@ -67,85 +110,209 @@ const waitForBuildStart = async (queueUrl, authHeaders) => {
67
110
  const url = data.executable?.url;
68
111
  if (typeof number === 'number' && url)
69
112
  return { number, url: url.replace(/\/+$/, '') };
70
- if (data.why)
71
- process.stdout.write(`\rJenkins queue: ${data.why.slice(0, 120)} `);
113
+ // Do not use carriage-return progress updates here. Raw \r cursor movement
114
+ // makes Jenkins output appear diagonally/right-shifted in Windows/VS Code.
115
+ const reason = data.why?.trim() ?? '';
116
+ if (reason && reason !== lastQueueReason) {
117
+ console.log(`Jenkins queue: ${reason.slice(0, 160)}`);
118
+ lastQueueReason = reason;
119
+ }
72
120
  await sleep(1500);
73
121
  }
74
122
  throw new Error('Timed out waiting for Jenkins to start the mobile build.');
75
123
  };
124
+ const normalizeConsoleText = (value) => {
125
+ const withoutOsc = value.replace(/\u001B\][^\u0007]*(?:\u0007|\u001B\\)/g, '');
126
+ const withoutAnsi = withoutOsc.replace(/\u001B\[[0-?]*[ -/]*[@-~]/g, '');
127
+ const normalized = withoutAnsi
128
+ .replace(/\r\n/g, '\n')
129
+ .replace(/\r/g, '\n')
130
+ .replace(/[\u0000-\u0008\u000B\u000C\u000E-\u001A\u007F]/g, '')
131
+ .replace(/\t/g, ' ')
132
+ .replace(/\n{4,}/g, '\n\n\n');
133
+ return process.platform === 'win32' ? normalized.replace(/\n/g, '\r\n') : normalized;
134
+ };
135
+ const decodeHtmlEntities = (value) => value
136
+ .replace(/&#x([0-9a-f]+);/gi, (_match, hex) => String.fromCodePoint(Number.parseInt(hex, 16)))
137
+ .replace(/&#(\d+);/g, (_match, decimal) => String.fromCodePoint(Number.parseInt(decimal, 10)))
138
+ .replace(/&nbsp;/gi, ' ')
139
+ .replace(/&quot;/gi, '"')
140
+ .replace(/&#39;|&apos;/gi, "'")
141
+ .replace(/&lt;/gi, '<')
142
+ .replace(/&gt;/gi, '>')
143
+ .replace(/&amp;/gi, '&');
144
+ const sanitizeJenkinsProgressiveHtml = (value) => {
145
+ // Jenkins' own web console consumes progressiveHtml, not progressiveText.
146
+ // progressiveHtml renders/removes ConsoleNote metadata server-side, so the
147
+ // terminal receives the same human-readable text that Jenkins displays in
148
+ // the browser instead of hidden `ha:////...` annotation payloads.
149
+ const text = decodeHtmlEntities(value
150
+ .replace(/<script\b[^>]*>[\s\S]*?<\/script>/gi, '')
151
+ .replace(/<style\b[^>]*>[\s\S]*?<\/style>/gi, '')
152
+ .replace(/<br\s*\/?\s*>/gi, '\n')
153
+ .replace(/<\/(?:div|p|li|tr|h[1-6])\s*>/gi, '\n')
154
+ .replace(/<[^>]+>/g, ''));
155
+ return normalizeConsoleText(text);
156
+ };
157
+ const sanitizeJenkinsProgressiveTextFallback = (value) => {
158
+ // progressiveText exposes Jenkins ConsoleNote binary annotations. Remove the
159
+ // complete hidden-note envelope *before* stripping ANSI sequences. The extra
160
+ // ha://// fallback handles controllers/plugins that already removed the ANSI
161
+ // pre/postamble but left the encoded annotation body behind.
162
+ const withoutConsoleNotes = value
163
+ .replace(/\u001B\[8mha:[\s\S]*?\u001B\[0m/g, '')
164
+ .replace(/ha:\/\/\/\/[A-Za-z0-9+/]+={1,2}/g, '');
165
+ return normalizeConsoleText(withoutConsoleNotes);
166
+ };
167
+ const appendRecentLines = (buffer, text) => {
168
+ const lines = text
169
+ .replace(/\r\n/g, '\n')
170
+ .split('\n')
171
+ .map((line) => line.trimEnd())
172
+ .filter((line) => line.trim().length > 0);
173
+ buffer.push(...lines);
174
+ if (buffer.length > 250)
175
+ buffer.splice(0, buffer.length - 250);
176
+ };
76
177
  const streamBuild = async (buildUrl, authHeaders) => {
77
178
  let start = 0;
179
+ const recentLines = [];
78
180
  while (true) {
79
- const logResponse = await fetch(`${buildUrl}/logText/progressiveText?start=${start}`, {
181
+ // This is the same endpoint used by the classic Jenkins web console. It
182
+ // converts Jenkins ConsoleNote metadata to HTML, which lets us remove the
183
+ // markup while keeping the readable username/stage/log text.
184
+ let logResponse = await fetch(`${buildUrl}/logText/progressiveHtml?start=${start}`, {
80
185
  headers: authHeaders,
81
186
  signal: AbortSignal.timeout(30_000)
82
187
  });
188
+ let htmlMode = true;
189
+ // Older/custom controllers may not expose progressiveHtml. Fall back to
190
+ // progressiveText, but explicitly remove Jenkins ConsoleNote annotations.
191
+ if (!logResponse.ok && (logResponse.status === 404 || logResponse.status === 405)) {
192
+ htmlMode = false;
193
+ logResponse = await fetch(`${buildUrl}/logText/progressiveText?start=${start}`, {
194
+ headers: authHeaders,
195
+ signal: AbortSignal.timeout(30_000)
196
+ });
197
+ }
83
198
  if (!logResponse.ok) {
84
199
  throw new Error(`Unable to read Jenkins console log (HTTP ${logResponse.status}).`);
85
200
  }
86
- const logText = await logResponse.text();
87
- if (logText)
88
- process.stdout.write(logText);
201
+ const logPayload = await logResponse.text();
202
+ const displayText = htmlMode
203
+ ? sanitizeJenkinsProgressiveHtml(logPayload)
204
+ : sanitizeJenkinsProgressiveTextFallback(logPayload);
205
+ if (displayText) {
206
+ process.stdout.write(displayText);
207
+ appendRecentLines(recentLines, displayText);
208
+ }
89
209
  const next = Number(logResponse.headers.get('x-text-size') ?? start);
90
210
  if (Number.isFinite(next))
91
211
  start = next;
92
212
  const state = await fetchJson(`${buildUrl}/api/json?tree=building,result,url,artifacts%5BfileName,relativePath%5D`, authHeaders);
93
213
  const moreData = (logResponse.headers.get('x-more-data') ?? '').toLowerCase() === 'true';
94
214
  if (!state.building && state.result && !moreData)
95
- return state;
215
+ return { ...state, recentLines };
96
216
  await sleep(1000);
97
217
  }
98
218
  };
219
+ const getFailureSummary = (lines) => {
220
+ const useful = lines.filter((line) => {
221
+ const value = line.trim();
222
+ if (!value)
223
+ return false;
224
+ if (/^\[Pipeline\]/.test(value))
225
+ return false;
226
+ if (/^Stage ".*" skipped due to earlier failure/.test(value))
227
+ return false;
228
+ return /(?:error|exception|failed|failure|timeout|timed out|not found|cannot|could not|exit code|what went wrong|problem occurred)/i.test(value);
229
+ });
230
+ const selected = useful.length > 0 ? useful.slice(-12) : lines.slice(-18);
231
+ return selected;
232
+ };
99
233
  const triggerMobileJenkinsBuild = async (config, jobName, request) => {
100
234
  const credentials = (0, jenkins_service_1.readJenkinsCredentials)(config.serverId);
101
235
  const authHeaders = createAuthHeaders(credentials.username, credentials.secret);
102
236
  const jobBaseUrl = (0, jenkins_service_1.getJenkinsJobBaseUrl)(config.url, jobName);
103
- const crumbHeaders = await getCrumb(config, authHeaders);
104
- const form = new FormData();
105
- const sourceBlob = await (0, node_fs_1.openAsBlob)(request.sourceBundlePath, { type: 'application/gzip' });
106
- form.append('SOURCE_BUNDLE', sourceBlob, 'indraq-source.tar.gz');
107
- if (request.envFilePath) {
108
- const envBlob = await (0, node_fs_1.openAsBlob)(request.envFilePath, { type: 'text/plain' });
109
- form.append('ENV_FILE', envBlob, '.env');
110
- }
111
- else {
112
- form.append('ENV_FILE', new Blob([], { type: 'text/plain' }), '.env');
113
- }
114
- form.append('PROJECT_ID', request.projectId);
115
- form.append('APP_NAME', request.appName);
116
- form.append('APP_VERSION', request.appVersion);
117
- form.append('APP_VERSION_CODE', String(request.appVersionCode));
118
- form.append('SOURCE_SHA256', request.sourceSha256);
119
- form.append('PROJECT_TYPE', toJenkinsProjectType(request.projectType));
120
- form.append('BUILD_ENVIRONMENT', toJenkinsEnvironment(request.environment));
121
- form.append('BUILD_OUTPUT', toJenkinsOutput(request.output));
122
- form.append('BUILD_PROFILE', toJenkinsProfile(request.profile));
123
- form.append('SOURCE_REVISION', request.gitCommit ?? 'local');
124
- form.append('SOURCE_DIRTY', request.gitDirty ? 'true' : 'false');
125
- form.append('VERBOSE_BUILD', request.verbose ? 'true' : 'false');
126
- let response;
127
- try {
128
- response = await fetch(`${jobBaseUrl}/buildWithParameters`, {
237
+ const createBuildForm = async () => {
238
+ const form = new FormData();
239
+ const sourceBlob = await (0, node_fs_1.openAsBlob)(request.sourceBundlePath, { type: 'application/gzip' });
240
+ form.append('SOURCE_BUNDLE', sourceBlob, 'indraq-source.tar.gz');
241
+ if (request.envFilePath) {
242
+ const envBlob = await (0, node_fs_1.openAsBlob)(request.envFilePath, { type: 'text/plain' });
243
+ form.append('ENV_FILE', envBlob, '.env');
244
+ }
245
+ else {
246
+ form.append('ENV_FILE', new Blob([], { type: 'text/plain' }), '.env');
247
+ }
248
+ form.append('PROJECT_ID', request.projectId);
249
+ form.append('APP_NAME', request.appName);
250
+ form.append('APP_VERSION', request.appVersion);
251
+ form.append('APP_VERSION_CODE', String(request.appVersionCode));
252
+ form.append('SOURCE_SHA256', request.sourceSha256);
253
+ form.append('PROJECT_TYPE', toJenkinsProjectType(request.projectType));
254
+ form.append('BUILD_ENVIRONMENT', toJenkinsEnvironment(request.environment));
255
+ form.append('BUILD_OUTPUT', toJenkinsOutput(request.output));
256
+ form.append('BUILD_PROFILE', toJenkinsProfile(request.profile));
257
+ form.append('SOURCE_REVISION', request.gitCommit ?? 'local');
258
+ form.append('SOURCE_DIRTY', request.gitDirty ? 'true' : 'false');
259
+ form.append('VERBOSE_BUILD', request.verbose ? 'true' : 'false');
260
+ return form;
261
+ };
262
+ const submitBuild = async (session) => {
263
+ const headers = {
264
+ ...authHeaders,
265
+ ...session.crumbHeaders
266
+ };
267
+ if (session.cookieHeader)
268
+ headers.Cookie = session.cookieHeader;
269
+ return await fetch(`${jobBaseUrl}/buildWithParameters`, {
129
270
  method: 'POST',
130
- headers: { ...authHeaders, ...crumbHeaders },
131
- body: form,
271
+ headers,
272
+ body: await createBuildForm(),
132
273
  redirect: 'manual',
133
274
  signal: AbortSignal.timeout(120_000)
134
275
  });
276
+ };
277
+ let response;
278
+ let responseBody = '';
279
+ try {
280
+ let crumbSession = await getCrumbSession(config, authHeaders);
281
+ response = await submitBuild(crumbSession);
282
+ if (response.status === 403) {
283
+ responseBody = await response.text();
284
+ // A Jenkins crumb is valid only in the web session that created it. If
285
+ // the controller reports a CSRF rejection, refresh both crumb and cookie
286
+ // once and retry with a fresh multipart body.
287
+ if (isCsrfRejection(response.status, responseBody)) {
288
+ console.log('Jenkins requested a fresh CSRF session. Retrying once...');
289
+ crumbSession = await getCrumbSession(config, authHeaders);
290
+ response = await submitBuild(crumbSession);
291
+ responseBody = response.status >= 400 ? await response.text() : '';
292
+ }
293
+ }
135
294
  }
136
295
  catch (error) {
137
296
  const message = error instanceof Error ? error.message : 'unknown network error';
138
297
  throw new Error(`Unable to upload source and trigger Jenkins: ${message}`);
139
298
  }
140
299
  if (response.status < 200 || response.status >= 400) {
141
- const body = (await response.text()).slice(0, 500);
300
+ if (!responseBody)
301
+ responseBody = await response.text();
302
+ const details = cleanJenkinsResponseBody(responseBody);
142
303
  if (response.status === 400) {
143
- throw new Error(`Jenkins rejected the mobile build parameters (HTTP 400). Make sure this job uses the IndraQ v1.5 mobile Jenkinsfile and the Jenkins "File Parameter" plugin is installed.${body ? `\n${body}` : ''}`);
304
+ throw new Error(`Jenkins rejected the mobile build parameters (HTTP 400). Make sure this job uses the IndraQ v1.5 mobile Jenkinsfile and the Jenkins "File Parameter" plugin is installed.${details ? `\nJenkins: ${details}` : ''}`);
305
+ }
306
+ if (response.status === 401) {
307
+ throw new Error(`Jenkins rejected the HTTP build authentication (HTTP 401). Reconfigure the Production Jenkins credential.${details ? `\nJenkins: ${details}` : ''}`);
144
308
  }
145
- if (response.status === 401 || response.status === 403) {
146
- throw new Error(`Jenkins rejected the mobile build request (HTTP ${response.status}). Check credentials and Build permission.`);
309
+ if (response.status === 403) {
310
+ if (isCsrfRejection(response.status, responseBody)) {
311
+ throw new Error(`Jenkins rejected the CSRF crumb even after refreshing the Jenkins session (HTTP 403).${details ? `\nJenkins: ${details}` : ''}`);
312
+ }
313
+ throw new Error(`Jenkins authenticated successfully but denied starting "${jobName}" (HTTP 403). The Jenkins user needs Job/Read and Job/Build permission for this job.${details ? `\nJenkins: ${details}` : ''}`);
147
314
  }
148
- throw new Error(`Jenkins build request failed (HTTP ${response.status}).${body ? `\n${body}` : ''}`);
315
+ throw new Error(`Jenkins build request failed (HTTP ${response.status}).${details ? `\nJenkins: ${details}` : ''}`);
149
316
  }
150
317
  const queueUrl = parseQueueLocation(response.headers.get('location'), config.url);
151
318
  console.log(`Jenkins queue: ${queueUrl}`);
@@ -162,7 +329,9 @@ const triggerMobileJenkinsBuild = async (config, jobName, request) => {
162
329
  url: `${started.url}/artifact/${item.relativePath.split('/').map(encodeURIComponent).join('/')}`
163
330
  }));
164
331
  if (result !== 'SUCCESS') {
165
- throw new Error(`Jenkins mobile build #${started.number} finished with ${result}. Review the console output above.`);
332
+ const summary = getFailureSummary(state.recentLines);
333
+ const details = summary.length > 0 ? `\n\nKey Jenkins error lines:\n${summary.map((line) => ` ${line}`).join('\n')}` : '';
334
+ throw new Error(`Jenkins mobile build #${started.number} finished with ${result}.${details}\n\nJenkins build: ${started.url}`);
166
335
  }
167
336
  return {
168
337
  buildNumber: started.number,