@catladder/cli 0.0.0-next-78d43d4a → 0.0.0-next-dbb75f51

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.
Files changed (75) hide show
  1. package/CONTRIBUTING.md +1 -1
  2. package/README.md +2 -2
  3. package/dist/apps/cli/src/catci.js +2 -2
  4. package/dist/apps/cli/src/catci.js.map +1 -1
  5. package/dist/apps/cli/src/commands/project/commandGitlabCi.js +2 -1
  6. package/dist/apps/cli/src/commands/project/commandGitlabCi.js.map +1 -1
  7. package/dist/apps/cli/src/commands/security/commandSecurityAuditCiJob.js +2 -2
  8. package/dist/apps/cli/src/commands/security/commandSecurityAuditCiJob.js.map +1 -1
  9. package/dist/apps/cli/src/commands/security/commandSecurityAuditCreate.js +2 -2
  10. package/dist/apps/cli/src/commands/security/commandSecurityAuditCreate.js.map +1 -1
  11. package/dist/apps/cli/src/publish/npmPublishJob.js +22 -5
  12. package/dist/apps/cli/src/publish/npmPublishJob.js.map +1 -1
  13. package/dist/apps/cli/src/security/topics.json +15 -15
  14. package/dist/apps/cli/src/utils/gitlabHost.d.ts +14 -0
  15. package/dist/apps/cli/src/utils/gitlabHost.js +27 -0
  16. package/dist/apps/cli/src/utils/gitlabHost.js.map +1 -0
  17. package/dist/bundles/catci/index.js +10 -4
  18. package/dist/bundles/catenv/index.js +137 -36
  19. package/dist/bundles/cli/index.js +178 -42
  20. package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/README.md +2 -2
  21. package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/templates/_helpers.tpl +0 -10
  22. package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.ingress.yaml +0 -5
  23. package/dist/bundles/runner-images/kubernetes/helm-charts/the-panter-chart/values.yaml +0 -1
  24. package/dist/bundles/runner-images/npm-publish/Dockerfile +12 -0
  25. package/dist/bundles/runner-images/semantic-release/scripts/semanticRelease +4 -3
  26. package/dist/bundles/skills/catladder-config/SKILL.md +1 -1
  27. package/dist/bundles/skills/catladder-deploys/references/deploy-types.md +3 -2
  28. package/dist/packages/pipeline/src/backends/github/createGithubJobs.js +70 -24
  29. package/dist/packages/pipeline/src/backends/github/createGithubJobs.js.map +1 -1
  30. package/dist/packages/pipeline/src/backends/gitlab/GitlabBackend.js +11 -1
  31. package/dist/packages/pipeline/src/backends/gitlab/GitlabBackend.js.map +1 -1
  32. package/dist/packages/pipeline/src/backends/gitlab/createGitlabJobs.js +5 -1
  33. package/dist/packages/pipeline/src/backends/gitlab/createGitlabJobs.js.map +1 -1
  34. package/dist/packages/pipeline/src/backends/index.d.ts +6 -0
  35. package/dist/packages/pipeline/src/backends/index.js +9 -2
  36. package/dist/packages/pipeline/src/backends/index.js.map +1 -1
  37. package/dist/packages/pipeline/src/context/getEnvironmentVariables.d.ts +1 -1
  38. package/dist/packages/pipeline/src/customImages/shippedImages.js +1 -0
  39. package/dist/packages/pipeline/src/customImages/shippedImages.js.map +1 -1
  40. package/dist/packages/pipeline/src/deploy/base/deploy.js +1 -0
  41. package/dist/packages/pipeline/src/deploy/base/deploy.js.map +1 -1
  42. package/dist/packages/pipeline/src/deploy/npmPackage/deployJob.js +6 -1
  43. package/dist/packages/pipeline/src/deploy/npmPackage/deployJob.js.map +1 -1
  44. package/dist/packages/pipeline/src/deploy/pages/deployJob.js +16 -5
  45. package/dist/packages/pipeline/src/deploy/pages/deployJob.js.map +1 -1
  46. package/dist/packages/pipeline/src/pipeline/generatePipelineFiles.js +10 -0
  47. package/dist/packages/pipeline/src/pipeline/generatePipelineFiles.js.map +1 -1
  48. package/dist/packages/pipeline/src/runner/index.d.ts +1 -1
  49. package/dist/packages/pipeline/src/runner/index.js.map +1 -1
  50. package/dist/packages/pipeline/src/types/config.d.ts +4 -4
  51. package/dist/packages/pipeline/src/types/hooks.d.ts +1 -1
  52. package/dist/packages/pipeline/src/types/jobDefinition.d.ts +1 -1
  53. package/dist/packages/pipeline/src/types/jobs.d.ts +9 -0
  54. package/dist/packages/pipeline/src/types/jobs.js.map +1 -1
  55. package/dist/packages/pipeline/src/utils/writeFiles.d.ts +6 -0
  56. package/dist/packages/pipeline/src/utils/writeFiles.js +8 -2
  57. package/dist/packages/pipeline/src/utils/writeFiles.js.map +1 -1
  58. package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/README.md +2 -2
  59. package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/templates/_helpers.tpl +0 -10
  60. package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/templates/app.ingress.yaml +0 -5
  61. package/dist/runner-images/kubernetes/helm-charts/the-panter-chart/values.yaml +0 -1
  62. package/dist/runner-images/npm-publish/Dockerfile +12 -0
  63. package/dist/runner-images/semantic-release/scripts/semanticRelease +4 -3
  64. package/dist/skills/catladder-config/SKILL.md +1 -1
  65. package/dist/skills/catladder-deploys/references/deploy-types.md +3 -2
  66. package/dist/tsconfig.tsbuildinfo +1 -1
  67. package/includes/envrc +1 -1
  68. package/package.json +5 -5
  69. package/src/catci.ts +2 -3
  70. package/src/commands/project/commandGitlabCi.ts +2 -1
  71. package/src/commands/security/commandSecurityAuditCiJob.ts +2 -3
  72. package/src/commands/security/commandSecurityAuditCreate.ts +2 -3
  73. package/src/publish/npmPublishJob.ts +32 -6
  74. package/src/security/topics.json +15 -15
  75. package/src/utils/gitlabHost.ts +23 -0
@@ -29,7 +29,7 @@ type MaybePromise<T> = T | Promise<T>;
29
29
  * them silently. Prefer a first-class config option whenever one exists.
30
30
  *
31
31
  * If you need a hook, please raise an issue on
32
- * https://git.panter.ch/catladder/catladder/-/issues describing the use
32
+ * https://github.com/panter/catladder/issues describing the use
33
33
  * case. This feedback helps us generalize it into a supported feature.
34
34
  */
35
35
  export type Hooks = {
@@ -4,7 +4,7 @@ export type AppBuildJobDefinition = Partial<Omit<CatladderJobSpec, "artifacts" |
4
4
  cache?: CacheConfig[];
5
5
  };
6
6
  export type DockerBuildJobDefinition = AppBuildJobDefinition;
7
- export type DeployJobDefinition = Pick<CatladderJobSpec, "script" | "variables" | "image" | "artifacts" | "services" | "runnerVariables" | "allow_failure" | "pages"> & {
7
+ export type DeployJobDefinition = Pick<CatladderJobSpec, "script" | "variables" | "image" | "artifacts" | "services" | "runnerVariables" | "allow_failure" | "pages" | "idToken"> & {
8
8
  cache?: CacheConfig[];
9
9
  };
10
10
  export type StopJobDefinition = Pick<CatladderJobSpec, "script" | "variables" | "image" | "runnerVariables">;
@@ -152,6 +152,15 @@ export type CatladderJobCore<S = BaseStage> = {
152
152
  * declares that this job interacts with a deployment environment
153
153
  */
154
154
  environment?: CatladderJobEnvironmentConfig;
155
+ /**
156
+ * the job needs a workload-identity token from the CI system, to
157
+ * authenticate against a third party without a stored secret (e.g.
158
+ * npm trusted publishing).
159
+ *
160
+ * Lowered by the github backend to `permissions: id-token: write`.
161
+ * Ignored on gitlab, whose ID tokens are configured per job instead.
162
+ */
163
+ idToken?: boolean;
155
164
  /**
156
165
  * variables to pass
157
166
  */
@@ -1 +1 @@
1
- {"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../../../../../../packages/pipeline/src/types/jobs.ts"],"names":[],"mappings":";;;AAIA,8DAA2D;AAsB9C,QAAA,WAAW,GAAG;IACzB,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,MAAM;CACE,CAAC;AAWE,QAAA,YAAY,GAAG;IAC1B,OAAO;IACP,gBAAgB;IAChB,aAAa;IACb,aAAa;IACb,YAAY;CACJ,CAAC;AA6NX;;;;;;;GAOG;AACH,4JAA4J;AAC5J,MAAa,YAAY;IACvB,YAAY,IAAyB;QACnC,uDAAuD;QACvD,2DAA2D;QAC3D,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAA,iCAAe,EAAC,IAAI,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,IAAI,CACT,GAAkD;QAElD,OAAO,GAAG,YAAY,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC;IACnE,CAAC;CACF;AAZD,oCAYC"}
1
+ {"version":3,"file":"jobs.js","sourceRoot":"","sources":["../../../../../../../packages/pipeline/src/types/jobs.ts"],"names":[],"mappings":";;;AAIA,8DAA2D;AAsB9C,QAAA,WAAW,GAAG;IACzB,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,MAAM;CACE,CAAC;AAWE,QAAA,YAAY,GAAG;IAC1B,OAAO;IACP,gBAAgB;IAChB,aAAa;IACb,aAAa;IACb,YAAY;CACJ,CAAC;AAuOX;;;;;;;GAOG;AACH,4JAA4J;AAC5J,MAAa,YAAY;IACvB,YAAY,IAAyB;QACnC,uDAAuD;QACvD,2DAA2D;QAC3D,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAA,iCAAe,EAAC,IAAI,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,MAAM,CAAC,IAAI,CACT,GAAkD;QAElD,OAAO,GAAG,YAAY,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC;IACnE,CAAC;CACF;AAZD,oCAYC"}
@@ -4,6 +4,12 @@ import type { BaseHookContext } from "../types/hooks";
4
4
  type WriteFileOptions = {
5
5
  commentChar: string;
6
6
  };
7
+ /**
8
+ * the line that marks a file as catladder-generated. Cleanup code uses
9
+ * it to tell a generated file apart from a hand-maintained one at the
10
+ * same path (e.g. a `.gitlab-ci.yml` a project wrote itself).
11
+ */
12
+ export declare const GENERATED_FILE_MARKER = "\uD83D\uDC31 \uD83D\uDD28 This file is generated by catladder";
7
13
  type StringifyOptions = Exclude<Parameters<typeof stringify>[2], null | undefined | string | number>;
8
14
  export declare const yamlStringifyOptions: StringifyOptions;
9
15
  export declare class FileWriter {
@@ -1,8 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FileWriter = exports.yamlStringifyOptions = void 0;
3
+ exports.FileWriter = exports.yamlStringifyOptions = exports.GENERATED_FILE_MARKER = void 0;
4
4
  const promises_1 = require("fs/promises");
5
5
  const yaml_1 = require("yaml");
6
+ /**
7
+ * the line that marks a file as catladder-generated. Cleanup code uses
8
+ * it to tell a generated file apart from a hand-maintained one at the
9
+ * same path (e.g. a `.gitlab-ci.yml` a project wrote itself).
10
+ */
11
+ exports.GENERATED_FILE_MARKER = "🐱 🔨 This file is generated by catladder";
6
12
  exports.yamlStringifyOptions = {
7
13
  // prevents colapsing long command statements into multiple lines
8
14
  lineWidth: 0,
@@ -62,7 +68,7 @@ class FileWriter {
62
68
  getAutoGeneratedHeader(commentChar) {
63
69
  return [
64
70
  "-------------------------------------------------",
65
- `🐱 🔨 This file is generated by catladder`,
71
+ exports.GENERATED_FILE_MARKER,
66
72
  `🚨 Do not edit this file manually 🚨`,
67
73
  "-------------------------------------------------",
68
74
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"writeFiles.js","sourceRoot":"","sources":["../../../../../../../packages/pipeline/src/utils/writeFiles.ts"],"names":[],"mappings":";;;AAAA,0CAAwC;AACxC,+BAAiC;AAYpB,QAAA,oBAAoB,GAAqB;IACpD,iEAAiE;IACjE,SAAS,EAAE,CAAC;IACZ,4DAA4D;IAC5D,kBAAkB,EAAE,IAAI;IACxB,qEAAqE;IACrE,WAAW,EAAE,IAAI;CAClB,CAAC;AAEF,MAAa,UAAU;IACd,MAAM,CAAC,MAAM,CAAC,MAAc;QACjC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAES,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,OAAe;;QACxD,MAAM,kBAAkB,GACtB,MAAM,CAAA,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,0CAAE,wBAAwB,mDAAG;YAClD,GAAG,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACxC,OAAO;SACR,CAAC,CAAA,CAAC;QACL,MAAM,IAAA,oBAAS,EAAC,IAAI,EAAE,kBAAkB,aAAlB,kBAAkB,cAAlB,kBAAkB,GAAI,OAAO,EAAE;YACnD,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;IACL,CAAC;IAES,KAAK,CAAC,kBAAkB,CAAC,IAAY;;QAC7C,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,mCAAI,EAAE,CAAC;QAC7C,OAAO;YACL,QAAQ;YACR,IAAI;YACJ,SAAS,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,mCAAI,EAAE;SACvC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,qBAAqB,CAAC,IAAY,EAAE,OAAe;QAC9D,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAC7B,IAAY,EACZ,OAAe,EACf,OAAyB;QAEzB,MAAM,IAAI,CAAC,YAAY,CACrB,IAAI,EACJ,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACvE,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,IAAY,EAAE,IAAS;;QAChD,MAAM,eAAe,GAAG,MAAM,CAAA,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,0CAAE,wBAAwB,mDACvE;YACE,GAAG,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI;SACL,CACF,CAAA,CAAC;QACF,OAAO,IAAI,CAAC,kBAAkB,CAC5B,IAAI,EACJ,IAAA,gBAAS,EAAC,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,IAAI,EAAE,4BAAoB,CAAC,EACxD;YACE,WAAW,EAAE,GAAG;SACjB,CACF,CAAC;IACJ,CAAC;IAES,sBAAsB,CAAC,WAAmB;QAClD,OAAO;YACL,mDAAmD;YACnD,2CAA2C;YAC3C,sCAAsC;YACtC,mDAAmD;SACpD;aACE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,WAAW,IAAI,IAAI,EAAE,CAAC;aACvC,IAAI,CAAC,IAAI,CAAC;aACV,MAAM,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;CACF;AA5ED,gCA4EC"}
1
+ {"version":3,"file":"writeFiles.js","sourceRoot":"","sources":["../../../../../../../packages/pipeline/src/utils/writeFiles.ts"],"names":[],"mappings":";;;AAAA,0CAAwC;AACxC,+BAAiC;AAQjC;;;;GAIG;AACU,QAAA,qBAAqB,GAChC,2CAA2C,CAAC;AAMjC,QAAA,oBAAoB,GAAqB;IACpD,iEAAiE;IACjE,SAAS,EAAE,CAAC;IACZ,4DAA4D;IAC5D,kBAAkB,EAAE,IAAI;IACxB,qEAAqE;IACrE,WAAW,EAAE,IAAI;CAClB,CAAC;AAEF,MAAa,UAAU;IACd,MAAM,CAAC,MAAM,CAAC,MAAc;QACjC,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAES,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,OAAe;;QACxD,MAAM,kBAAkB,GACtB,MAAM,CAAA,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,0CAAE,wBAAwB,mDAAG;YAClD,GAAG,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACxC,OAAO;SACR,CAAC,CAAA,CAAC;QACL,MAAM,IAAA,oBAAS,EAAC,IAAI,EAAE,kBAAkB,aAAlB,kBAAkB,cAAlB,kBAAkB,GAAI,OAAO,EAAE;YACnD,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;IACL,CAAC;IAES,KAAK,CAAC,kBAAkB,CAAC,IAAY;;QAC7C,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,mCAAI,EAAE,CAAC;QAC7C,OAAO;YACL,QAAQ;YACR,IAAI;YACJ,SAAS,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,mCAAI,EAAE;SACvC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,qBAAqB,CAAC,IAAY,EAAE,OAAe;QAC9D,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAC7B,IAAY,EACZ,OAAe,EACf,OAAyB;QAEzB,MAAM,IAAI,CAAC,YAAY,CACrB,IAAI,EACJ,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACvE,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,IAAY,EAAE,IAAS;;QAChD,MAAM,eAAe,GAAG,MAAM,CAAA,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,KAAK,0CAAE,wBAAwB,mDACvE;YACE,GAAG,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI;SACL,CACF,CAAA,CAAC;QACF,OAAO,IAAI,CAAC,kBAAkB,CAC5B,IAAI,EACJ,IAAA,gBAAS,EAAC,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,IAAI,EAAE,4BAAoB,CAAC,EACxD;YACE,WAAW,EAAE,GAAG;SACjB,CACF,CAAC;IACJ,CAAC;IAES,sBAAsB,CAAC,WAAmB;QAClD,OAAO;YACL,mDAAmD;YACnD,6BAAqB;YACrB,sCAAsC;YACtC,mDAAmD;SACpD;aACE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,WAAW,IAAI,IAAI,EAAE,CAAC;aACvC,IAAI,CAAC,IAAI,CAAC;aACV,MAAM,CAAC,IAAI,CAAC,CAAC;IAClB,CAAC;CACF;AA5ED,gCA4EC"}
@@ -1,6 +1,6 @@
1
1
  # The panter chart
2
2
 
3
- **Main chart used in https://git.panter.ch/catladder/gitlab-ci/ **
3
+ **The default chart catladder deploys kubernetes components with.**
4
4
 
5
5
  Developing helm charts can be complex and they tend to be very verbose.
6
6
  Our goal is therefore to provide a common chart that provides all functionalities that you might need
@@ -21,4 +21,4 @@ This way we avoid having complexity in the projects and make it easier to share
21
21
  - support for namespace secrets and custom env-vars (using catladder-shell and gitlab-ci)
22
22
  - optional prisam1 (_deprecated, prisma2 does not need a separate instance anymore_)
23
23
 
24
- See https://git.panter.ch/catladder/catladder/ for usage information
24
+ See https://github.com/panter/catladder for usage information
@@ -190,13 +190,3 @@ env:
190
190
 
191
191
 
192
192
 
193
- {{- define "visualReviewSnippet" -}}
194
- <script
195
- data-project-id='{{.Values.gitlab.projectId}}'
196
- data-merge-request-id='{{.Values.gitlab.mergeRequestId}}'
197
- data-mr-url='https://git.panter.ch'
198
- data-project-path='{{.Values.gitlab.projectPath}}'
199
- id='review-app-toolbar-script'
200
- src='https://git.panter.ch/assets/webpack/visual_review_toolbar.js'>
201
- </script>
202
- {{- end -}}
@@ -16,11 +16,6 @@ metadata:
16
16
  nginx.ingress.kubernetes.io/rewrite-target: /$1
17
17
  nginx.ingress.kubernetes.io/configuration-snippet: |
18
18
  more_set_headers "x-build-id: {{ .Values.global.BUILD_ID }}";
19
- {{- if and .Values.gitlab.visualReviewEnabled (and .Values.global.ENV_SHORT (eq .Values.global.ENV_SHORT "review"))}}
20
- proxy_set_header Accept-Encoding "";
21
- sub_filter_once on;
22
- sub_filter "</head>" "{{- include "visualReviewSnippet" . | nindent 8 -}}</head>";
23
- {{- end }}
24
19
  {{- range $key, $value := .Values.ingress.annotations }}
25
20
  {{ $key }}: {{ $value | quote }}
26
21
  {{- end }}
@@ -112,7 +112,6 @@ application:
112
112
  successThreshold: 1
113
113
 
114
114
  gitlab:
115
- visualReviewEnabled: false
116
115
  app:
117
116
  env:
118
117
  projectPath:
@@ -0,0 +1,12 @@
1
+ FROM node:lts-alpine
2
+
3
+ RUN apk add --no-cache bash git
4
+
5
+ # npm trusted publishing (OIDC) needs npm >= 11.5.1; the npm bundled
6
+ # with the node image is not guaranteed to be new enough, so pin the
7
+ # major explicitly. Without it npm silently falls back to token auth.
8
+ RUN npm install -g npm@11
9
+
10
+ # no publish logic baked in: it lives in catci, which pipeline
11
+ # generation materializes into the repository checkout
12
+ # (.catladder-generated/catci)
@@ -45,10 +45,11 @@ if [ "$GITHUB_ACTIONS" = "true" ]; then
45
45
  # is gitlab-specific)
46
46
  PUBLISH_PLUGIN=""
47
47
  else
48
+ # no gitlabUrl: the plugin derives it from the CI-provided variables
49
+ # of the running instance. It used to be hardcoded to panter's gitlab,
50
+ # which broke the release on every other instance.
48
51
  PUBLISH_PLUGIN=',
49
- ["@semantic-release/gitlab", {
50
- "gitlabUrl": "https://git.panter.ch"
51
- }]'
52
+ "@semantic-release/gitlab"'
52
53
  fi
53
54
 
54
55
  if [ ! -e .releaserc ]; then
@@ -103,7 +103,7 @@ first.
103
103
  a dev needs `customJobs` or a transform hook, it almost always means
104
104
  catladder is missing a capability that other projects will need too.
105
105
  **Open an issue at
106
- https://git.panter.ch/catladder/catladder/-/issues** describing the use
106
+ https://github.com/panter/catladder/issues** describing the use
107
107
  case (what you're trying to achieve and why the existing config can't
108
108
  express it) so it can be generalized into a supported feature — and,
109
109
  where possible, offer to help the dev write that issue. The goal is for
@@ -54,11 +54,12 @@ resources with `yarn catladder project setup`; detect drift with
54
54
  - `registry?: string` — registry url, default `https://registry.npmjs.org/`.
55
55
  - `distTag?: string` — overrides the derived dist-tag.
56
56
  - Version/dist-tag derivation: tagged release (`prod`) → tag version under `latest`; branch/MR → `0.0.0-<branch-slug>-<sha>` under `canary` (branches `next`/`beta` publish under their own dist-tag).
57
- - Requires the `NPM_TOKEN` secret (managed like any catladder secret). Disable staging on the component (`env: { stage: false }`) so tagged releases publish directly.
57
+ - Auth: the `NPM_TOKEN` secret (managed like any catladder secret), or — on github — **trusted publishing** with no stored token: register the package's trusted publisher on npmjs.com with the repo and the publishing **workflow filename** (`catladder-release.yml` for tagged releases). npm allows one trusted publisher per package, so canary publishes from the main/review workflows still need `NPM_TOKEN`. A set token always wins over OIDC.
58
+ - Disable staging on the component (`env: { stage: false }`) so tagged releases publish directly.
58
59
 
59
60
  ## `pages`
60
61
 
61
- - `type: "pages"` — **required**. Publishes a static site on gitlab pages (not yet supported on the github backend).
62
+ - `type: "pages"` — **required**. Publishes a static site on gitlab pages or github pages. On github the repo's Pages source must be set to "GitHub Actions" once; per-merge-request previews are gitlab-only (github serves one site per repository).
62
63
  - `script: string[]` — **required**; produces the site.
63
64
  - `publishDir?: string` — output directory relative to the repo root, default `"public"`.
64
65
  - `requiresInstall?: boolean` — run the package-manager install (yarn/pnpm) first (`requiresYarnInstall` is a deprecated alias).