@catladder/cli 0.0.0-next-12d216ae → 0.0.0-next-e9e5af68
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/dist/bundles/catenv/index.js +106 -12
- package/dist/bundles/cli/index.js +106 -12
- package/dist/pipeline/src/backends/github/GithubBackend.js +92 -6
- package/dist/pipeline/src/backends/github/GithubBackend.js.map +1 -1
- package/dist/pipeline/src/constants.js +1 -1
- package/dist/pipeline/src/customImages/shippedImages.js +0 -1
- package/dist/pipeline/src/customImages/shippedImages.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudRun/createJobs/constants.d.ts +11 -1
- package/dist/pipeline/src/deploy/cloudRun/createJobs/constants.js +12 -2
- package/dist/pipeline/src/deploy/cloudRun/createJobs/constants.js.map +1 -1
- package/dist/pipeline/src/deploy/cloudRun/createJobs/index.js +2 -3
- package/dist/pipeline/src/deploy/cloudRun/createJobs/index.js.map +1 -1
- package/dist/pipeline/src/runner/index.d.ts +1 -1
- package/dist/pipeline/src/runner/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist/bundles/runner-images/gcloud/Dockerfile +0 -3
- package/dist/runner-images/gcloud/Dockerfile +0 -3
|
@@ -1847,6 +1847,7 @@ class GithubBackend {
|
|
|
1847
1847
|
* all workflows keyed by file name, mainly for testing purposes
|
|
1848
1848
|
*/
|
|
1849
1849
|
async createWorkflows(config, images = this.createImagesPlan(config), scripts = new scriptFiles_1.GithubScriptFiles()) {
|
|
1850
|
+
var _a, _b, _c, _d;
|
|
1850
1851
|
const workflows = {};
|
|
1851
1852
|
// per-pipeline-type variables (pipelines.github.runnerVariables);
|
|
1852
1853
|
// workflow-level env, so job-level runnerVariables take precedence
|
|
@@ -1855,7 +1856,15 @@ class GithubBackend {
|
|
|
1855
1856
|
...(0, index_1.getPipelineOptions)(config, this.type).runnerVariables
|
|
1856
1857
|
};
|
|
1857
1858
|
const reviewStopJobs = {};
|
|
1859
|
+
// jobs routed to the workflow_dispatch "manual tasks" workflow. A
|
|
1860
|
+
// manual job and its build closure live here instead of an automatic
|
|
1861
|
+
// workflow; `manualJobConditions` is the `if` that selects each one
|
|
1862
|
+
// from the dispatch input, `manualDispatchOptions` the leaf jobs that
|
|
1863
|
+
// become dropdown choices (closure jobs run because their leaf was
|
|
1864
|
+
// chosen, not on their own).
|
|
1858
1865
|
const manualJobs = {};
|
|
1866
|
+
const manualJobConditions = {};
|
|
1867
|
+
const manualDispatchOptions = [];
|
|
1859
1868
|
for (const trigger of config_1.ALL_PIPELINE_TRIGGERS) {
|
|
1860
1869
|
const allJobs = await (0, createAllJobs_1.createAllJobs)({
|
|
1861
1870
|
config,
|
|
@@ -1864,25 +1873,102 @@ class GithubBackend {
|
|
|
1864
1873
|
});
|
|
1865
1874
|
const uploadProviderIds = (0, createGithubJobs_1.getUploadProviderIds)(allJobs);
|
|
1866
1875
|
const secretKinds = (0, createGithubJobs_1.collectSecretKinds)(allJobs);
|
|
1867
|
-
|
|
1876
|
+
// build every job of the trigger up front: partitioning the manual
|
|
1877
|
+
// jobs needs the whole dependency graph.
|
|
1868
1878
|
// NOTE: agent jobs are gitlab-only and skipped on github
|
|
1879
|
+
const triggerJobs = new Map();
|
|
1869
1880
|
[...allJobs.workspaces, ...allJobs.components].forEach(({
|
|
1870
1881
|
context,
|
|
1871
1882
|
jobs: contextJobs
|
|
1872
1883
|
}) => contextJobs.forEach(job => {
|
|
1873
1884
|
const [id, githubJob] = (0, createGithubJobs_1.makeGithubJob)(context, job, allJobs, uploadProviderIds, images, scripts, secretKinds);
|
|
1885
|
+
triggerJobs.set(id, {
|
|
1886
|
+
githubJob,
|
|
1887
|
+
job,
|
|
1888
|
+
context
|
|
1889
|
+
});
|
|
1890
|
+
}));
|
|
1891
|
+
// review-stop jobs run in their own on:pull_request:closed workflow
|
|
1892
|
+
for (const [id, {
|
|
1893
|
+
githubJob,
|
|
1894
|
+
job,
|
|
1895
|
+
context
|
|
1896
|
+
}] of [...triggerJobs]) {
|
|
1874
1897
|
if (isReviewStopJob(context, job)) {
|
|
1875
1898
|
reviewStopJobs[id] = githubJob;
|
|
1876
|
-
|
|
1899
|
+
triggerJobs.delete(id);
|
|
1900
|
+
}
|
|
1901
|
+
}
|
|
1902
|
+
// leaf manual jobs: an explicit manual gate (e.g. a prod deploy) or
|
|
1903
|
+
// a stop/rollback task with no automatic trigger. Each becomes a
|
|
1904
|
+
// dispatch choice.
|
|
1905
|
+
const leafIds = [...triggerJobs].filter(([, {
|
|
1906
|
+
job
|
|
1907
|
+
}]) => job.gate === "manual" || isManualTaskJob(job)).map(([id]) => id);
|
|
1908
|
+
// A manual leaf drags its whole connected region into the manual
|
|
1909
|
+
// workflow, in both directions, so that a dispatch runs the complete
|
|
1910
|
+
// flow and nothing is left dangling in the automatic workflow:
|
|
1911
|
+
// - upstream (jobs the leaf needs): github artifacts are scoped to
|
|
1912
|
+
// a single run, so a dispatched job can't reuse the automatic
|
|
1913
|
+
// run's build — it has to rebuild, so the build moves too.
|
|
1914
|
+
// - downstream (jobs that need the leaf, e.g. a post-deploy verify):
|
|
1915
|
+
// they can't run automatically once their prerequisite is manual.
|
|
1916
|
+
// Needs pointing outside the trigger (the global image-build jobs)
|
|
1917
|
+
// exist in every workflow and are left alone. Because catladder's
|
|
1918
|
+
// deploy/verify jobs are per env, a leaf's region stays within its
|
|
1919
|
+
// env and never swallows another env's automatic chain.
|
|
1920
|
+
// servesLeaves maps every moved job to the leaves that own it.
|
|
1921
|
+
const dependents = new Map();
|
|
1922
|
+
for (const [id, {
|
|
1923
|
+
githubJob
|
|
1924
|
+
}] of triggerJobs) {
|
|
1925
|
+
for (const need of (_a = githubJob.needs) !== null && _a !== void 0 ? _a : []) {
|
|
1926
|
+
if (!triggerJobs.has(need)) continue;
|
|
1927
|
+
const list = dependents.get(need);
|
|
1928
|
+
if (list) list.push(id);else dependents.set(need, [id]);
|
|
1929
|
+
}
|
|
1930
|
+
}
|
|
1931
|
+
const servesLeaves = new Map();
|
|
1932
|
+
for (const leaf of leafIds) {
|
|
1933
|
+
const stack = [leaf];
|
|
1934
|
+
let cur;
|
|
1935
|
+
while ((cur = stack.pop()) !== undefined) {
|
|
1936
|
+
let leaves = servesLeaves.get(cur);
|
|
1937
|
+
if (leaves === null || leaves === void 0 ? void 0 : leaves.has(leaf)) continue; // already walked for this leaf
|
|
1938
|
+
if (!leaves) {
|
|
1939
|
+
leaves = new Set();
|
|
1940
|
+
servesLeaves.set(cur, leaves);
|
|
1941
|
+
}
|
|
1942
|
+
leaves.add(leaf);
|
|
1943
|
+
for (const need of (_c = (_b = triggerJobs.get(cur)) === null || _b === void 0 ? void 0 : _b.githubJob.needs) !== null && _c !== void 0 ? _c : []) {
|
|
1944
|
+
if (triggerJobs.has(need)) stack.push(need); // upstream deps
|
|
1945
|
+
}
|
|
1946
|
+
for (const dependent of (_d = dependents.get(cur)) !== null && _d !== void 0 ? _d : []) {
|
|
1947
|
+
stack.push(dependent); // downstream consumers
|
|
1948
|
+
}
|
|
1949
|
+
}
|
|
1950
|
+
}
|
|
1951
|
+
const jobs = {};
|
|
1952
|
+
for (const [id, {
|
|
1953
|
+
githubJob
|
|
1954
|
+
}] of triggerJobs) {
|
|
1955
|
+
const leaves = servesLeaves.get(id);
|
|
1956
|
+
if (leaves) {
|
|
1877
1957
|
manualJobs[id] = githubJob;
|
|
1958
|
+
manualJobConditions[id] = [...leaves].sort().map(leaf => `inputs.job == '${leaf}'`).join(" || ");
|
|
1878
1959
|
} else {
|
|
1879
1960
|
jobs[id] = githubJob;
|
|
1880
1961
|
}
|
|
1881
|
-
}
|
|
1962
|
+
}
|
|
1963
|
+
manualDispatchOptions.push(...leafIds);
|
|
1882
1964
|
if (trigger === "mainBranch") {
|
|
1883
1965
|
const releaseJobs = (0, githubReleaseJobs_1.getGithubReleaseJobs)(config, Object.keys(jobs), images);
|
|
1884
1966
|
Object.assign(jobs, releaseJobs.main);
|
|
1885
|
-
Object.
|
|
1967
|
+
for (const [id, job] of Object.entries(releaseJobs.manual)) {
|
|
1968
|
+
manualJobs[id] = job;
|
|
1969
|
+
manualJobConditions[id] = `inputs.job == '${id}'`;
|
|
1970
|
+
manualDispatchOptions.push(id);
|
|
1971
|
+
}
|
|
1886
1972
|
}
|
|
1887
1973
|
if (Object.keys(jobs).length > 0) {
|
|
1888
1974
|
workflows[`${GENERATED_FILE_PREFIX}${workflowFileName(trigger)}`] = {
|
|
@@ -1922,7 +2008,7 @@ class GithubBackend {
|
|
|
1922
2008
|
description: "the task to run",
|
|
1923
2009
|
required: true,
|
|
1924
2010
|
type: "choice",
|
|
1925
|
-
options:
|
|
2011
|
+
options: [...new Set(manualDispatchOptions)]
|
|
1926
2012
|
}
|
|
1927
2013
|
}
|
|
1928
2014
|
}
|
|
@@ -1933,7 +2019,7 @@ class GithubBackend {
|
|
|
1933
2019
|
...makeEnsureImageGithubJobs(images),
|
|
1934
2020
|
...Object.fromEntries(Object.entries(manualJobs).map(([id, job]) => [id, {
|
|
1935
2021
|
...job,
|
|
1936
|
-
if: `\${{
|
|
2022
|
+
if: `\${{ ${manualJobConditions[id]} }}`
|
|
1937
2023
|
}]))
|
|
1938
2024
|
}
|
|
1939
2025
|
};
|
|
@@ -5588,7 +5674,7 @@ Object.defineProperty(exports, "__esModule", ({
|
|
|
5588
5674
|
value: true
|
|
5589
5675
|
}));
|
|
5590
5676
|
exports.DOCKER_REGISTRY = exports.PIPELINE_IMAGE_TAG = void 0;
|
|
5591
|
-
exports.PIPELINE_IMAGE_TAG = "next-
|
|
5677
|
+
exports.PIPELINE_IMAGE_TAG = "next-e9e5af68" || 0;
|
|
5592
5678
|
exports.DOCKER_REGISTRY = "git.panter.ch:5001/catladder/catladder" || 0;
|
|
5593
5679
|
|
|
5594
5680
|
/***/ }),
|
|
@@ -6595,7 +6681,6 @@ exports.RUNNER_IMAGE_BUILD_CONTEXT = {
|
|
|
6595
6681
|
"jobs-testing-chrome": "root",
|
|
6596
6682
|
kubernetes: "self",
|
|
6597
6683
|
"docker-build": "self",
|
|
6598
|
-
gcloud: "self",
|
|
6599
6684
|
"semantic-release": "self",
|
|
6600
6685
|
changesets: "self",
|
|
6601
6686
|
"agent-claude": "self"
|
|
@@ -7365,8 +7450,18 @@ exports.getCommonDeployArgs = getCommonDeployArgs;
|
|
|
7365
7450
|
Object.defineProperty(exports, "__esModule", ({
|
|
7366
7451
|
value: true
|
|
7367
7452
|
}));
|
|
7368
|
-
exports.ENV_VARS_FILENAME = void 0;
|
|
7453
|
+
exports.CLOUD_SDK_IMAGE = exports.ENV_VARS_FILENAME = void 0;
|
|
7369
7454
|
exports.ENV_VARS_FILENAME = "____envvars.yaml";
|
|
7455
|
+
/**
|
|
7456
|
+
* the official google cloud sdk image used by cloud run deploy/stop jobs.
|
|
7457
|
+
* Referenced directly (not a repo-built catladder image) because our
|
|
7458
|
+
* former `gcloud` image was just `FROM google/cloud-sdk:latest` and added
|
|
7459
|
+
* nothing — so there is no reason to ship/build it. Pinned to match the
|
|
7460
|
+
* gcloud SDK version baked into the `docker-build` image
|
|
7461
|
+
* (runner-images/docker-build/Dockerfile: GCLOUD_SDK_VERSION); bump both
|
|
7462
|
+
* together.
|
|
7463
|
+
*/
|
|
7464
|
+
exports.CLOUD_SDK_IMAGE = "google/cloud-sdk:525.0.0";
|
|
7370
7465
|
|
|
7371
7466
|
/***/ }),
|
|
7372
7467
|
|
|
@@ -7732,7 +7827,6 @@ Object.defineProperty(exports, "__esModule", ({
|
|
|
7732
7827
|
value: true
|
|
7733
7828
|
}));
|
|
7734
7829
|
exports.createGoogleCloudRunDeployJobs = void 0;
|
|
7735
|
-
const runner_1 = __nccwpck_require__(92348);
|
|
7736
7830
|
const gitlab_1 = __nccwpck_require__(13468);
|
|
7737
7831
|
const base_1 = __nccwpck_require__(78563);
|
|
7738
7832
|
const types_1 = __nccwpck_require__(12383);
|
|
@@ -7760,11 +7854,11 @@ const createGoogleCloudRunDeployJobs = context => {
|
|
|
7760
7854
|
when: "always"
|
|
7761
7855
|
}
|
|
7762
7856
|
} : {}),
|
|
7763
|
-
image:
|
|
7857
|
+
image: constants_1.CLOUD_SDK_IMAGE,
|
|
7764
7858
|
script: deployScripts
|
|
7765
7859
|
},
|
|
7766
7860
|
stop: {
|
|
7767
|
-
image:
|
|
7861
|
+
image: constants_1.CLOUD_SDK_IMAGE,
|
|
7768
7862
|
variables: {
|
|
7769
7863
|
CLOUDSDK_CORE_DISABLE_PROMPTS: "1"
|
|
7770
7864
|
},
|
|
@@ -7895,6 +7895,7 @@ class GithubBackend {
|
|
|
7895
7895
|
* all workflows keyed by file name, mainly for testing purposes
|
|
7896
7896
|
*/
|
|
7897
7897
|
async createWorkflows(config, images = this.createImagesPlan(config), scripts = new scriptFiles_1.GithubScriptFiles()) {
|
|
7898
|
+
var _a, _b, _c, _d;
|
|
7898
7899
|
const workflows = {};
|
|
7899
7900
|
// per-pipeline-type variables (pipelines.github.runnerVariables);
|
|
7900
7901
|
// workflow-level env, so job-level runnerVariables take precedence
|
|
@@ -7903,7 +7904,15 @@ class GithubBackend {
|
|
|
7903
7904
|
...(0, index_1.getPipelineOptions)(config, this.type).runnerVariables
|
|
7904
7905
|
};
|
|
7905
7906
|
const reviewStopJobs = {};
|
|
7907
|
+
// jobs routed to the workflow_dispatch "manual tasks" workflow. A
|
|
7908
|
+
// manual job and its build closure live here instead of an automatic
|
|
7909
|
+
// workflow; `manualJobConditions` is the `if` that selects each one
|
|
7910
|
+
// from the dispatch input, `manualDispatchOptions` the leaf jobs that
|
|
7911
|
+
// become dropdown choices (closure jobs run because their leaf was
|
|
7912
|
+
// chosen, not on their own).
|
|
7906
7913
|
const manualJobs = {};
|
|
7914
|
+
const manualJobConditions = {};
|
|
7915
|
+
const manualDispatchOptions = [];
|
|
7907
7916
|
for (const trigger of config_1.ALL_PIPELINE_TRIGGERS) {
|
|
7908
7917
|
const allJobs = await (0, createAllJobs_1.createAllJobs)({
|
|
7909
7918
|
config,
|
|
@@ -7912,25 +7921,102 @@ class GithubBackend {
|
|
|
7912
7921
|
});
|
|
7913
7922
|
const uploadProviderIds = (0, createGithubJobs_1.getUploadProviderIds)(allJobs);
|
|
7914
7923
|
const secretKinds = (0, createGithubJobs_1.collectSecretKinds)(allJobs);
|
|
7915
|
-
|
|
7924
|
+
// build every job of the trigger up front: partitioning the manual
|
|
7925
|
+
// jobs needs the whole dependency graph.
|
|
7916
7926
|
// NOTE: agent jobs are gitlab-only and skipped on github
|
|
7927
|
+
const triggerJobs = new Map();
|
|
7917
7928
|
[...allJobs.workspaces, ...allJobs.components].forEach(({
|
|
7918
7929
|
context,
|
|
7919
7930
|
jobs: contextJobs
|
|
7920
7931
|
}) => contextJobs.forEach(job => {
|
|
7921
7932
|
const [id, githubJob] = (0, createGithubJobs_1.makeGithubJob)(context, job, allJobs, uploadProviderIds, images, scripts, secretKinds);
|
|
7933
|
+
triggerJobs.set(id, {
|
|
7934
|
+
githubJob,
|
|
7935
|
+
job,
|
|
7936
|
+
context
|
|
7937
|
+
});
|
|
7938
|
+
}));
|
|
7939
|
+
// review-stop jobs run in their own on:pull_request:closed workflow
|
|
7940
|
+
for (const [id, {
|
|
7941
|
+
githubJob,
|
|
7942
|
+
job,
|
|
7943
|
+
context
|
|
7944
|
+
}] of [...triggerJobs]) {
|
|
7922
7945
|
if (isReviewStopJob(context, job)) {
|
|
7923
7946
|
reviewStopJobs[id] = githubJob;
|
|
7924
|
-
|
|
7947
|
+
triggerJobs.delete(id);
|
|
7948
|
+
}
|
|
7949
|
+
}
|
|
7950
|
+
// leaf manual jobs: an explicit manual gate (e.g. a prod deploy) or
|
|
7951
|
+
// a stop/rollback task with no automatic trigger. Each becomes a
|
|
7952
|
+
// dispatch choice.
|
|
7953
|
+
const leafIds = [...triggerJobs].filter(([, {
|
|
7954
|
+
job
|
|
7955
|
+
}]) => job.gate === "manual" || isManualTaskJob(job)).map(([id]) => id);
|
|
7956
|
+
// A manual leaf drags its whole connected region into the manual
|
|
7957
|
+
// workflow, in both directions, so that a dispatch runs the complete
|
|
7958
|
+
// flow and nothing is left dangling in the automatic workflow:
|
|
7959
|
+
// - upstream (jobs the leaf needs): github artifacts are scoped to
|
|
7960
|
+
// a single run, so a dispatched job can't reuse the automatic
|
|
7961
|
+
// run's build — it has to rebuild, so the build moves too.
|
|
7962
|
+
// - downstream (jobs that need the leaf, e.g. a post-deploy verify):
|
|
7963
|
+
// they can't run automatically once their prerequisite is manual.
|
|
7964
|
+
// Needs pointing outside the trigger (the global image-build jobs)
|
|
7965
|
+
// exist in every workflow and are left alone. Because catladder's
|
|
7966
|
+
// deploy/verify jobs are per env, a leaf's region stays within its
|
|
7967
|
+
// env and never swallows another env's automatic chain.
|
|
7968
|
+
// servesLeaves maps every moved job to the leaves that own it.
|
|
7969
|
+
const dependents = new Map();
|
|
7970
|
+
for (const [id, {
|
|
7971
|
+
githubJob
|
|
7972
|
+
}] of triggerJobs) {
|
|
7973
|
+
for (const need of (_a = githubJob.needs) !== null && _a !== void 0 ? _a : []) {
|
|
7974
|
+
if (!triggerJobs.has(need)) continue;
|
|
7975
|
+
const list = dependents.get(need);
|
|
7976
|
+
if (list) list.push(id);else dependents.set(need, [id]);
|
|
7977
|
+
}
|
|
7978
|
+
}
|
|
7979
|
+
const servesLeaves = new Map();
|
|
7980
|
+
for (const leaf of leafIds) {
|
|
7981
|
+
const stack = [leaf];
|
|
7982
|
+
let cur;
|
|
7983
|
+
while ((cur = stack.pop()) !== undefined) {
|
|
7984
|
+
let leaves = servesLeaves.get(cur);
|
|
7985
|
+
if (leaves === null || leaves === void 0 ? void 0 : leaves.has(leaf)) continue; // already walked for this leaf
|
|
7986
|
+
if (!leaves) {
|
|
7987
|
+
leaves = new Set();
|
|
7988
|
+
servesLeaves.set(cur, leaves);
|
|
7989
|
+
}
|
|
7990
|
+
leaves.add(leaf);
|
|
7991
|
+
for (const need of (_c = (_b = triggerJobs.get(cur)) === null || _b === void 0 ? void 0 : _b.githubJob.needs) !== null && _c !== void 0 ? _c : []) {
|
|
7992
|
+
if (triggerJobs.has(need)) stack.push(need); // upstream deps
|
|
7993
|
+
}
|
|
7994
|
+
for (const dependent of (_d = dependents.get(cur)) !== null && _d !== void 0 ? _d : []) {
|
|
7995
|
+
stack.push(dependent); // downstream consumers
|
|
7996
|
+
}
|
|
7997
|
+
}
|
|
7998
|
+
}
|
|
7999
|
+
const jobs = {};
|
|
8000
|
+
for (const [id, {
|
|
8001
|
+
githubJob
|
|
8002
|
+
}] of triggerJobs) {
|
|
8003
|
+
const leaves = servesLeaves.get(id);
|
|
8004
|
+
if (leaves) {
|
|
7925
8005
|
manualJobs[id] = githubJob;
|
|
8006
|
+
manualJobConditions[id] = [...leaves].sort().map(leaf => `inputs.job == '${leaf}'`).join(" || ");
|
|
7926
8007
|
} else {
|
|
7927
8008
|
jobs[id] = githubJob;
|
|
7928
8009
|
}
|
|
7929
|
-
}
|
|
8010
|
+
}
|
|
8011
|
+
manualDispatchOptions.push(...leafIds);
|
|
7930
8012
|
if (trigger === "mainBranch") {
|
|
7931
8013
|
const releaseJobs = (0, githubReleaseJobs_1.getGithubReleaseJobs)(config, Object.keys(jobs), images);
|
|
7932
8014
|
Object.assign(jobs, releaseJobs.main);
|
|
7933
|
-
Object.
|
|
8015
|
+
for (const [id, job] of Object.entries(releaseJobs.manual)) {
|
|
8016
|
+
manualJobs[id] = job;
|
|
8017
|
+
manualJobConditions[id] = `inputs.job == '${id}'`;
|
|
8018
|
+
manualDispatchOptions.push(id);
|
|
8019
|
+
}
|
|
7934
8020
|
}
|
|
7935
8021
|
if (Object.keys(jobs).length > 0) {
|
|
7936
8022
|
workflows[`${GENERATED_FILE_PREFIX}${workflowFileName(trigger)}`] = {
|
|
@@ -7970,7 +8056,7 @@ class GithubBackend {
|
|
|
7970
8056
|
description: "the task to run",
|
|
7971
8057
|
required: true,
|
|
7972
8058
|
type: "choice",
|
|
7973
|
-
options:
|
|
8059
|
+
options: [...new Set(manualDispatchOptions)]
|
|
7974
8060
|
}
|
|
7975
8061
|
}
|
|
7976
8062
|
}
|
|
@@ -7981,7 +8067,7 @@ class GithubBackend {
|
|
|
7981
8067
|
...makeEnsureImageGithubJobs(images),
|
|
7982
8068
|
...Object.fromEntries(Object.entries(manualJobs).map(([id, job]) => [id, {
|
|
7983
8069
|
...job,
|
|
7984
|
-
if: `\${{
|
|
8070
|
+
if: `\${{ ${manualJobConditions[id]} }}`
|
|
7985
8071
|
}]))
|
|
7986
8072
|
}
|
|
7987
8073
|
};
|
|
@@ -11636,7 +11722,7 @@ Object.defineProperty(exports, "__esModule", ({
|
|
|
11636
11722
|
value: true
|
|
11637
11723
|
}));
|
|
11638
11724
|
exports.DOCKER_REGISTRY = exports.PIPELINE_IMAGE_TAG = void 0;
|
|
11639
|
-
exports.PIPELINE_IMAGE_TAG = "next-
|
|
11725
|
+
exports.PIPELINE_IMAGE_TAG = "next-e9e5af68" || 0;
|
|
11640
11726
|
exports.DOCKER_REGISTRY = "git.panter.ch:5001/catladder/catladder" || 0;
|
|
11641
11727
|
|
|
11642
11728
|
/***/ }),
|
|
@@ -12643,7 +12729,6 @@ exports.RUNNER_IMAGE_BUILD_CONTEXT = {
|
|
|
12643
12729
|
"jobs-testing-chrome": "root",
|
|
12644
12730
|
kubernetes: "self",
|
|
12645
12731
|
"docker-build": "self",
|
|
12646
|
-
gcloud: "self",
|
|
12647
12732
|
"semantic-release": "self",
|
|
12648
12733
|
changesets: "self",
|
|
12649
12734
|
"agent-claude": "self"
|
|
@@ -13413,8 +13498,18 @@ exports.getCommonDeployArgs = getCommonDeployArgs;
|
|
|
13413
13498
|
Object.defineProperty(exports, "__esModule", ({
|
|
13414
13499
|
value: true
|
|
13415
13500
|
}));
|
|
13416
|
-
exports.ENV_VARS_FILENAME = void 0;
|
|
13501
|
+
exports.CLOUD_SDK_IMAGE = exports.ENV_VARS_FILENAME = void 0;
|
|
13417
13502
|
exports.ENV_VARS_FILENAME = "____envvars.yaml";
|
|
13503
|
+
/**
|
|
13504
|
+
* the official google cloud sdk image used by cloud run deploy/stop jobs.
|
|
13505
|
+
* Referenced directly (not a repo-built catladder image) because our
|
|
13506
|
+
* former `gcloud` image was just `FROM google/cloud-sdk:latest` and added
|
|
13507
|
+
* nothing — so there is no reason to ship/build it. Pinned to match the
|
|
13508
|
+
* gcloud SDK version baked into the `docker-build` image
|
|
13509
|
+
* (runner-images/docker-build/Dockerfile: GCLOUD_SDK_VERSION); bump both
|
|
13510
|
+
* together.
|
|
13511
|
+
*/
|
|
13512
|
+
exports.CLOUD_SDK_IMAGE = "google/cloud-sdk:525.0.0";
|
|
13418
13513
|
|
|
13419
13514
|
/***/ }),
|
|
13420
13515
|
|
|
@@ -13780,7 +13875,6 @@ Object.defineProperty(exports, "__esModule", ({
|
|
|
13780
13875
|
value: true
|
|
13781
13876
|
}));
|
|
13782
13877
|
exports.createGoogleCloudRunDeployJobs = void 0;
|
|
13783
|
-
const runner_1 = __nccwpck_require__(92348);
|
|
13784
13878
|
const gitlab_1 = __nccwpck_require__(13468);
|
|
13785
13879
|
const base_1 = __nccwpck_require__(78563);
|
|
13786
13880
|
const types_1 = __nccwpck_require__(12383);
|
|
@@ -13808,11 +13902,11 @@ const createGoogleCloudRunDeployJobs = context => {
|
|
|
13808
13902
|
when: "always"
|
|
13809
13903
|
}
|
|
13810
13904
|
} : {}),
|
|
13811
|
-
image:
|
|
13905
|
+
image: constants_1.CLOUD_SDK_IMAGE,
|
|
13812
13906
|
script: deployScripts
|
|
13813
13907
|
},
|
|
13814
13908
|
stop: {
|
|
13815
|
-
image:
|
|
13909
|
+
image: constants_1.CLOUD_SDK_IMAGE,
|
|
13816
13910
|
variables: {
|
|
13817
13911
|
CLOUDSDK_CORE_DISABLE_PROMPTS: "1"
|
|
13818
13912
|
},
|
|
@@ -90,6 +90,7 @@ class GithubBackend {
|
|
|
90
90
|
* all workflows keyed by file name, mainly for testing purposes
|
|
91
91
|
*/
|
|
92
92
|
async createWorkflows(config, images = this.createImagesPlan(config), scripts = new scriptFiles_1.GithubScriptFiles()) {
|
|
93
|
+
var _a, _b, _c, _d;
|
|
93
94
|
const workflows = {};
|
|
94
95
|
// per-pipeline-type variables (pipelines.github.runnerVariables);
|
|
95
96
|
// workflow-level env, so job-level runnerVariables take precedence
|
|
@@ -98,7 +99,15 @@ class GithubBackend {
|
|
|
98
99
|
...(0, index_1.getPipelineOptions)(config, this.type).runnerVariables
|
|
99
100
|
};
|
|
100
101
|
const reviewStopJobs = {};
|
|
102
|
+
// jobs routed to the workflow_dispatch "manual tasks" workflow. A
|
|
103
|
+
// manual job and its build closure live here instead of an automatic
|
|
104
|
+
// workflow; `manualJobConditions` is the `if` that selects each one
|
|
105
|
+
// from the dispatch input, `manualDispatchOptions` the leaf jobs that
|
|
106
|
+
// become dropdown choices (closure jobs run because their leaf was
|
|
107
|
+
// chosen, not on their own).
|
|
101
108
|
const manualJobs = {};
|
|
109
|
+
const manualJobConditions = {};
|
|
110
|
+
const manualDispatchOptions = [];
|
|
102
111
|
for (const trigger of config_1.ALL_PIPELINE_TRIGGERS) {
|
|
103
112
|
const allJobs = await (0, createAllJobs_1.createAllJobs)({
|
|
104
113
|
config,
|
|
@@ -107,25 +116,102 @@ class GithubBackend {
|
|
|
107
116
|
});
|
|
108
117
|
const uploadProviderIds = (0, createGithubJobs_1.getUploadProviderIds)(allJobs);
|
|
109
118
|
const secretKinds = (0, createGithubJobs_1.collectSecretKinds)(allJobs);
|
|
110
|
-
|
|
119
|
+
// build every job of the trigger up front: partitioning the manual
|
|
120
|
+
// jobs needs the whole dependency graph.
|
|
111
121
|
// NOTE: agent jobs are gitlab-only and skipped on github
|
|
122
|
+
const triggerJobs = new Map();
|
|
112
123
|
[...allJobs.workspaces, ...allJobs.components].forEach(({
|
|
113
124
|
context,
|
|
114
125
|
jobs: contextJobs
|
|
115
126
|
}) => contextJobs.forEach(job => {
|
|
116
127
|
const [id, githubJob] = (0, createGithubJobs_1.makeGithubJob)(context, job, allJobs, uploadProviderIds, images, scripts, secretKinds);
|
|
128
|
+
triggerJobs.set(id, {
|
|
129
|
+
githubJob,
|
|
130
|
+
job,
|
|
131
|
+
context
|
|
132
|
+
});
|
|
133
|
+
}));
|
|
134
|
+
// review-stop jobs run in their own on:pull_request:closed workflow
|
|
135
|
+
for (const [id, {
|
|
136
|
+
githubJob,
|
|
137
|
+
job,
|
|
138
|
+
context
|
|
139
|
+
}] of [...triggerJobs]) {
|
|
117
140
|
if (isReviewStopJob(context, job)) {
|
|
118
141
|
reviewStopJobs[id] = githubJob;
|
|
119
|
-
|
|
142
|
+
triggerJobs.delete(id);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
// leaf manual jobs: an explicit manual gate (e.g. a prod deploy) or
|
|
146
|
+
// a stop/rollback task with no automatic trigger. Each becomes a
|
|
147
|
+
// dispatch choice.
|
|
148
|
+
const leafIds = [...triggerJobs].filter(([, {
|
|
149
|
+
job
|
|
150
|
+
}]) => job.gate === "manual" || isManualTaskJob(job)).map(([id]) => id);
|
|
151
|
+
// A manual leaf drags its whole connected region into the manual
|
|
152
|
+
// workflow, in both directions, so that a dispatch runs the complete
|
|
153
|
+
// flow and nothing is left dangling in the automatic workflow:
|
|
154
|
+
// - upstream (jobs the leaf needs): github artifacts are scoped to
|
|
155
|
+
// a single run, so a dispatched job can't reuse the automatic
|
|
156
|
+
// run's build — it has to rebuild, so the build moves too.
|
|
157
|
+
// - downstream (jobs that need the leaf, e.g. a post-deploy verify):
|
|
158
|
+
// they can't run automatically once their prerequisite is manual.
|
|
159
|
+
// Needs pointing outside the trigger (the global image-build jobs)
|
|
160
|
+
// exist in every workflow and are left alone. Because catladder's
|
|
161
|
+
// deploy/verify jobs are per env, a leaf's region stays within its
|
|
162
|
+
// env and never swallows another env's automatic chain.
|
|
163
|
+
// servesLeaves maps every moved job to the leaves that own it.
|
|
164
|
+
const dependents = new Map();
|
|
165
|
+
for (const [id, {
|
|
166
|
+
githubJob
|
|
167
|
+
}] of triggerJobs) {
|
|
168
|
+
for (const need of (_a = githubJob.needs) !== null && _a !== void 0 ? _a : []) {
|
|
169
|
+
if (!triggerJobs.has(need)) continue;
|
|
170
|
+
const list = dependents.get(need);
|
|
171
|
+
if (list) list.push(id);else dependents.set(need, [id]);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
const servesLeaves = new Map();
|
|
175
|
+
for (const leaf of leafIds) {
|
|
176
|
+
const stack = [leaf];
|
|
177
|
+
let cur;
|
|
178
|
+
while ((cur = stack.pop()) !== undefined) {
|
|
179
|
+
let leaves = servesLeaves.get(cur);
|
|
180
|
+
if (leaves === null || leaves === void 0 ? void 0 : leaves.has(leaf)) continue; // already walked for this leaf
|
|
181
|
+
if (!leaves) {
|
|
182
|
+
leaves = new Set();
|
|
183
|
+
servesLeaves.set(cur, leaves);
|
|
184
|
+
}
|
|
185
|
+
leaves.add(leaf);
|
|
186
|
+
for (const need of (_c = (_b = triggerJobs.get(cur)) === null || _b === void 0 ? void 0 : _b.githubJob.needs) !== null && _c !== void 0 ? _c : []) {
|
|
187
|
+
if (triggerJobs.has(need)) stack.push(need); // upstream deps
|
|
188
|
+
}
|
|
189
|
+
for (const dependent of (_d = dependents.get(cur)) !== null && _d !== void 0 ? _d : []) {
|
|
190
|
+
stack.push(dependent); // downstream consumers
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
const jobs = {};
|
|
195
|
+
for (const [id, {
|
|
196
|
+
githubJob
|
|
197
|
+
}] of triggerJobs) {
|
|
198
|
+
const leaves = servesLeaves.get(id);
|
|
199
|
+
if (leaves) {
|
|
120
200
|
manualJobs[id] = githubJob;
|
|
201
|
+
manualJobConditions[id] = [...leaves].sort().map(leaf => `inputs.job == '${leaf}'`).join(" || ");
|
|
121
202
|
} else {
|
|
122
203
|
jobs[id] = githubJob;
|
|
123
204
|
}
|
|
124
|
-
}
|
|
205
|
+
}
|
|
206
|
+
manualDispatchOptions.push(...leafIds);
|
|
125
207
|
if (trigger === "mainBranch") {
|
|
126
208
|
const releaseJobs = (0, githubReleaseJobs_1.getGithubReleaseJobs)(config, Object.keys(jobs), images);
|
|
127
209
|
Object.assign(jobs, releaseJobs.main);
|
|
128
|
-
Object.
|
|
210
|
+
for (const [id, job] of Object.entries(releaseJobs.manual)) {
|
|
211
|
+
manualJobs[id] = job;
|
|
212
|
+
manualJobConditions[id] = `inputs.job == '${id}'`;
|
|
213
|
+
manualDispatchOptions.push(id);
|
|
214
|
+
}
|
|
129
215
|
}
|
|
130
216
|
if (Object.keys(jobs).length > 0) {
|
|
131
217
|
workflows[`${GENERATED_FILE_PREFIX}${workflowFileName(trigger)}`] = {
|
|
@@ -165,7 +251,7 @@ class GithubBackend {
|
|
|
165
251
|
description: "the task to run",
|
|
166
252
|
required: true,
|
|
167
253
|
type: "choice",
|
|
168
|
-
options:
|
|
254
|
+
options: [...new Set(manualDispatchOptions)]
|
|
169
255
|
}
|
|
170
256
|
}
|
|
171
257
|
}
|
|
@@ -176,7 +262,7 @@ class GithubBackend {
|
|
|
176
262
|
...makeEnsureImageGithubJobs(images),
|
|
177
263
|
...Object.fromEntries(Object.entries(manualJobs).map(([id, job]) => [id, {
|
|
178
264
|
...job,
|
|
179
|
-
if: `\${{
|
|
265
|
+
if: `\${{ ${manualJobConditions[id]} }}`
|
|
180
266
|
}]))
|
|
181
267
|
}
|
|
182
268
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GithubBackend.js","sourceRoot":"","sources":["../../../../../../pipeline/src/backends/github/GithubBackend.ts"],"names":[],"mappings":";;;AAAA,0CAAkD;AAClD,+BAA4B;AAC5B,gEAA6D;AAE7D,+CAA2D;AAI3D,+CAA6D;AAC7D,oCAA8C;AAC9C,yDAK4B;AAC5B,oEAG0C;AAC1C,uDAAuE;AACvE,2DAAkE;AAClE,uCAAqC;AACrC,2DAA2D;AAC3D,+CAAyE;AAEzE,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAE7C;;;GAGG;AACH,MAAM,qBAAqB,GAAG,YAAY,CAAC;AAE3C,MAAM,iBAAiB,GAGnB;IACF,EAAE,EAAE;QACF,IAAI,EAAE,kBAAkB;QACxB,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE,EAAE;QACtE,WAAW,EAAE;YACX,KAAK,EAAE,6CAA6C;YACpD,oBAAoB,EAAE,IAAI;SAC3B;KACF;IACD,UAAU,EAAE;QACV,IAAI,EAAE,gBAAgB;QACtB,6CAA6C;QAC7C,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE;KACrC;IACD,aAAa,EAAE;QACb,IAAI,EAAE,mBAAmB;QACzB,gEAAgE;QAChE,mEAAmE;QACnE,2DAA2D;QAC3D,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE;KACtD;CACF,CAAC;AAEF,MAAa,aAAa;IAA1B;QACW,SAAI,GAAG,QAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"GithubBackend.js","sourceRoot":"","sources":["../../../../../../pipeline/src/backends/github/GithubBackend.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,5 +4,5 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.DOCKER_REGISTRY = exports.PIPELINE_IMAGE_TAG = void 0;
|
|
7
|
-
exports.PIPELINE_IMAGE_TAG = "next-
|
|
7
|
+
exports.PIPELINE_IMAGE_TAG = "next-e9e5af68" || "latest";
|
|
8
8
|
exports.DOCKER_REGISTRY = "git.panter.ch:5001/catladder/catladder" || "git.panter.ch:5001/catladder/catladder";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shippedImages.js","sourceRoot":"","sources":["../../../../../pipeline/src/customImages/shippedImages.ts"],"names":[],"mappings":";;;AAAA,2BAAgC;AAChC,+BAA4B;AAG5B;;;;GAIG;AACU,QAAA,yBAAyB,GAElC;IACF,aAAa,EAAE,CAAC,cAAc,CAAC;IAC/B,qBAAqB,EAAE,CAAC,cAAc,CAAC;CACxC,CAAC;AAEF;;;;;GAKG;AACH;;;;;;;GAOG;AACU,QAAA,mBAAmB,GAAiC,IAAI,GAAG,EAAE,CAAC;AAE9D,QAAA,0BAA0B,GAGnC;IACF,cAAc,EAAE,MAAM;IACtB,aAAa,EAAE,MAAM;IACrB,qBAAqB,EAAE,MAAM;IAC7B,UAAU,EAAE,MAAM;IAClB,cAAc,EAAE,MAAM;IACtB,
|
|
1
|
+
{"version":3,"file":"shippedImages.js","sourceRoot":"","sources":["../../../../../pipeline/src/customImages/shippedImages.ts"],"names":[],"mappings":";;;AAAA,2BAAgC;AAChC,+BAA4B;AAG5B;;;;GAIG;AACU,QAAA,yBAAyB,GAElC;IACF,aAAa,EAAE,CAAC,cAAc,CAAC;IAC/B,qBAAqB,EAAE,CAAC,cAAc,CAAC;CACxC,CAAC;AAEF;;;;;GAKG;AACH;;;;;;;GAOG;AACU,QAAA,mBAAmB,GAAiC,IAAI,GAAG,EAAE,CAAC;AAE9D,QAAA,0BAA0B,GAGnC;IACF,cAAc,EAAE,MAAM;IACtB,aAAa,EAAE,MAAM;IACrB,qBAAqB,EAAE,MAAM;IAC7B,UAAU,EAAE,MAAM;IAClB,cAAc,EAAE,MAAM;IACtB,kBAAkB,EAAE,MAAM;IAC1B,UAAU,EAAE,MAAM;IAClB,cAAc,EAAE,MAAM;CACvB,CAAC;AAEF;;;;GAIG;AACI,MAAM,mBAAmB,GAAG,GAAW,EAAE;IAC9C,MAAM,UAAU,GAAG;QACjB,kEAAkE;QAClE,qEAAqE;QACrE,wEAAwE;QACxE,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,eAAe,CAAC;QACtC,gEAAgE;QAChE,IAAA,WAAI,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,CAAC;KACnD,CAAC;IACF,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAA,eAAU,EAAC,SAAS,CAAC,CAAC,CAAC;IACpE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAdW,QAAA,mBAAmB,uBAc9B;AAEK,MAAM,kBAAkB,GAAG,CAAC,IAAqB,EAAU,EAAE,CAClE,IAAA,WAAI,EAAC,IAAA,2BAAmB,GAAE,EAAE,IAAI,CAAC,CAAC;AADvB,QAAA,kBAAkB,sBACK"}
|
|
@@ -1 +1,11 @@
|
|
|
1
|
-
export declare const ENV_VARS_FILENAME = "____envvars.yaml";
|
|
1
|
+
export declare const ENV_VARS_FILENAME = "____envvars.yaml";
|
|
2
|
+
/**
|
|
3
|
+
* the official google cloud sdk image used by cloud run deploy/stop jobs.
|
|
4
|
+
* Referenced directly (not a repo-built catladder image) because our
|
|
5
|
+
* former `gcloud` image was just `FROM google/cloud-sdk:latest` and added
|
|
6
|
+
* nothing — so there is no reason to ship/build it. Pinned to match the
|
|
7
|
+
* gcloud SDK version baked into the `docker-build` image
|
|
8
|
+
* (runner-images/docker-build/Dockerfile: GCLOUD_SDK_VERSION); bump both
|
|
9
|
+
* together.
|
|
10
|
+
*/
|
|
11
|
+
export declare const CLOUD_SDK_IMAGE = "google/cloud-sdk:525.0.0";
|
|
@@ -3,5 +3,15 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.ENV_VARS_FILENAME = void 0;
|
|
7
|
-
exports.ENV_VARS_FILENAME = "____envvars.yaml";
|
|
6
|
+
exports.CLOUD_SDK_IMAGE = exports.ENV_VARS_FILENAME = void 0;
|
|
7
|
+
exports.ENV_VARS_FILENAME = "____envvars.yaml";
|
|
8
|
+
/**
|
|
9
|
+
* the official google cloud sdk image used by cloud run deploy/stop jobs.
|
|
10
|
+
* Referenced directly (not a repo-built catladder image) because our
|
|
11
|
+
* former `gcloud` image was just `FROM google/cloud-sdk:latest` and added
|
|
12
|
+
* nothing — so there is no reason to ship/build it. Pinned to match the
|
|
13
|
+
* gcloud SDK version baked into the `docker-build` image
|
|
14
|
+
* (runner-images/docker-build/Dockerfile: GCLOUD_SDK_VERSION); bump both
|
|
15
|
+
* together.
|
|
16
|
+
*/
|
|
17
|
+
exports.CLOUD_SDK_IMAGE = "google/cloud-sdk:525.0.0";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../../pipeline/src/deploy/cloudRun/createJobs/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAAG,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../../pipeline/src/deploy/cloudRun/createJobs/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAAG,kBAAkB,CAAC;AAEpD;;;;;;;;GAQG;AACU,QAAA,eAAe,GAAG,0BAA0B,CAAC"}
|