@catladder/pipeline 3.36.0 → 3.37.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/dist/constants.js +1 -1
- package/dist/deploy/base/stop.js +0 -5
- package/dist/deploy/cloudRun/createJobs/cloudRunServices.js +1 -0
- package/dist/deploy/types/googleCloudRun.d.ts +7 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/examples/__snapshots__/automatic-releases.test.ts.snap +0 -8
- package/examples/__snapshots__/cloud-run-execute-script-on-deploy.test.ts.snap +0 -8
- package/examples/__snapshots__/cloud-run-existing-image.test.ts.snap +0 -8
- package/examples/__snapshots__/cloud-run-health-check-defaults.test.ts.snap +0 -8
- package/examples/__snapshots__/cloud-run-health-check-only-startup.test.ts.snap +0 -8
- package/examples/__snapshots__/cloud-run-health-check.test.ts.snap +0 -8
- package/examples/__snapshots__/cloud-run-http2.test.ts.snap +0 -8
- package/examples/__snapshots__/cloud-run-llama.test.ts.snap +0 -8
- package/examples/__snapshots__/cloud-run-memory-limit.test.ts.snap +0 -8
- package/examples/__snapshots__/cloud-run-meteor-with-worker.test.ts.snap +0 -8
- package/examples/__snapshots__/cloud-run-nextjs.test.ts.snap +0 -8
- package/examples/__snapshots__/cloud-run-no-cpu-throttling.test.ts.snap +0 -8
- package/examples/__snapshots__/cloud-run-no-service.test.ts.snap +0 -8
- package/examples/__snapshots__/cloud-run-non-public.test.ts.snap +0 -8
- package/examples/__snapshots__/cloud-run-post-stop-job.test.ts.snap +0 -8
- package/examples/__snapshots__/cloud-run-service-custom-vpc-connector.test.ts.snap +0 -8
- package/examples/__snapshots__/cloud-run-service-custom-vpc.test.ts.snap +0 -8
- package/examples/__snapshots__/cloud-run-service-gen2.test.ts.snap +0 -8
- package/examples/__snapshots__/cloud-run-service-increase-timout.test.ts.snap +0 -8
- package/examples/__snapshots__/cloud-run-service-with-volumes.test.ts.snap +0 -8
- package/examples/__snapshots__/cloud-run-session-affinity.test.ts.snap +1601 -0
- package/examples/__snapshots__/cloud-run-storybook.test.ts.snap +0 -8
- package/examples/__snapshots__/cloud-run-with-agents.test.ts.snap +0 -8
- package/examples/__snapshots__/cloud-run-with-gpu.test.ts.snap +0 -8
- package/examples/__snapshots__/cloud-run-with-ngnix.test.ts.snap +0 -8
- package/examples/__snapshots__/cloud-run-with-sql-legacy-jobs.test.ts.snap +0 -8
- package/examples/__snapshots__/cloud-run-with-sql-multiple-dbs.test.ts.snap +0 -24
- package/examples/__snapshots__/cloud-run-with-sql-reuse-db.test.ts.snap +0 -16
- package/examples/__snapshots__/cloud-run-with-sql.test.ts.snap +0 -8
- package/examples/__snapshots__/cloud-run-with-worker.test.ts.snap +0 -8
- package/examples/__snapshots__/custom-build-job-with-tests.test.ts.snap +0 -8
- package/examples/__snapshots__/custom-build-job.test.ts.snap +0 -8
- package/examples/__snapshots__/custom-deploy.test.ts.snap +0 -2
- package/examples/__snapshots__/custom-docker-file.test.ts.snap +0 -8
- package/examples/__snapshots__/custom-sbom-java.test.ts.snap +0 -8
- package/examples/__snapshots__/custom-verify-job.test.ts.snap +0 -8
- package/examples/__snapshots__/git-submodule.test.ts.snap +0 -8
- package/examples/__snapshots__/kubernetes-application-customization.test.ts.snap +0 -8
- package/examples/__snapshots__/kubernetes-with-cloud-sql.test.ts.snap +0 -8
- package/examples/__snapshots__/kubernetes-with-jobs.test.ts.snap +0 -16
- package/examples/__snapshots__/kubernetes-with-mongodb.test.ts.snap +0 -8
- package/examples/__snapshots__/local-dot-env.test.ts.snap +0 -8
- package/examples/__snapshots__/meteor-kubernetes.test.ts.snap +0 -8
- package/examples/__snapshots__/multiline-var.test.ts.snap +0 -24
- package/examples/__snapshots__/native-app.test.ts.snap +0 -8
- package/examples/__snapshots__/node-build-with-custom-image.test.ts.snap +0 -8
- package/examples/__snapshots__/node-build-with-docker-additions.test.ts.snap +0 -8
- package/examples/__snapshots__/override-secrets.test.ts.snap +0 -8
- package/examples/__snapshots__/rails-k8s-with-worker-dockerfile.test.ts.snap +0 -8
- package/examples/__snapshots__/rails-k8s-with-worker.test.ts.snap +0 -8
- package/examples/__snapshots__/referencing-other-vars.test.ts.snap +0 -24
- package/examples/__snapshots__/workspace-api-www-turbo-cache.test.ts.snap +0 -16
- package/examples/__snapshots__/workspace-api-www.test.ts.snap +0 -16
- package/examples/cloud-run-session-affinity.test.ts +12 -0
- package/examples/cloud-run-session-affinity.ts +29 -0
- package/package.json +1 -1
- package/src/deploy/base/stop.ts +0 -6
- package/src/deploy/cloudRun/createJobs/cloudRunServices.ts +1 -0
- package/src/deploy/types/googleCloudRun.ts +8 -0
|
@@ -922,8 +922,6 @@ before_script:
|
|
|
922
922
|
name: dev/api
|
|
923
923
|
action: stop
|
|
924
924
|
rules:
|
|
925
|
-
- if: $CI_COMMIT_BRANCH =~ /^[0-9]+\\.([0-9]+|x)\\.x$/
|
|
926
|
-
when: on_success
|
|
927
925
|
- when: never
|
|
928
926
|
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
929
927
|
- when: manual
|
|
@@ -1158,8 +1156,6 @@ before_script:
|
|
|
1158
1156
|
name: review/$CI_COMMIT_REF_NAME/api
|
|
1159
1157
|
action: stop
|
|
1160
1158
|
rules:
|
|
1161
|
-
- if: $CI_COMMIT_BRANCH =~ /^[0-9]+\\.([0-9]+|x)\\.x$/
|
|
1162
|
-
when: on_success
|
|
1163
1159
|
- when: never
|
|
1164
1160
|
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
1165
1161
|
- when: manual
|
|
@@ -1379,8 +1375,6 @@ before_script:
|
|
|
1379
1375
|
name: stage/api
|
|
1380
1376
|
action: stop
|
|
1381
1377
|
rules:
|
|
1382
|
-
- if: $CI_COMMIT_BRANCH =~ /^[0-9]+\\.([0-9]+|x)\\.x$/
|
|
1383
|
-
when: on_success
|
|
1384
1378
|
- when: never
|
|
1385
1379
|
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
1386
1380
|
- when: manual
|
|
@@ -1600,8 +1594,6 @@ before_script:
|
|
|
1600
1594
|
name: prod/api
|
|
1601
1595
|
action: stop
|
|
1602
1596
|
rules:
|
|
1603
|
-
- if: $CI_COMMIT_BRANCH =~ /^[0-9]+\\.([0-9]+|x)\\.x$/
|
|
1604
|
-
when: on_success
|
|
1605
1597
|
- when: never
|
|
1606
1598
|
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
1607
1599
|
- when: manual
|
|
@@ -1831,8 +1823,6 @@ before_script:
|
|
|
1831
1823
|
name: dev/www
|
|
1832
1824
|
action: stop
|
|
1833
1825
|
rules:
|
|
1834
|
-
- if: $CI_COMMIT_BRANCH =~ /^[0-9]+\\.([0-9]+|x)\\.x$/
|
|
1835
|
-
when: on_success
|
|
1836
1826
|
- when: never
|
|
1837
1827
|
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
1838
1828
|
- when: manual
|
|
@@ -2070,8 +2060,6 @@ before_script:
|
|
|
2070
2060
|
name: review/$CI_COMMIT_REF_NAME/www
|
|
2071
2061
|
action: stop
|
|
2072
2062
|
rules:
|
|
2073
|
-
- if: $CI_COMMIT_BRANCH =~ /^[0-9]+\\.([0-9]+|x)\\.x$/
|
|
2074
|
-
when: on_success
|
|
2075
2063
|
- when: never
|
|
2076
2064
|
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
2077
2065
|
- when: manual
|
|
@@ -2294,8 +2282,6 @@ before_script:
|
|
|
2294
2282
|
name: stage/www
|
|
2295
2283
|
action: stop
|
|
2296
2284
|
rules:
|
|
2297
|
-
- if: $CI_COMMIT_BRANCH =~ /^[0-9]+\\.([0-9]+|x)\\.x$/
|
|
2298
|
-
when: on_success
|
|
2299
2285
|
- when: never
|
|
2300
2286
|
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
2301
2287
|
- when: manual
|
|
@@ -2518,8 +2504,6 @@ before_script:
|
|
|
2518
2504
|
name: prod/www
|
|
2519
2505
|
action: stop
|
|
2520
2506
|
rules:
|
|
2521
|
-
- if: $CI_COMMIT_BRANCH =~ /^[0-9]+\\.([0-9]+|x)\\.x$/
|
|
2522
|
-
when: on_success
|
|
2523
2507
|
- when: never
|
|
2524
2508
|
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
2525
2509
|
- when: manual
|
|
@@ -913,8 +913,6 @@ before_script:
|
|
|
913
913
|
name: dev/api
|
|
914
914
|
action: stop
|
|
915
915
|
rules:
|
|
916
|
-
- if: $CI_COMMIT_BRANCH =~ /^[0-9]+\\.([0-9]+|x)\\.x$/
|
|
917
|
-
when: on_success
|
|
918
916
|
- when: never
|
|
919
917
|
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
920
918
|
- when: manual
|
|
@@ -1148,8 +1146,6 @@ before_script:
|
|
|
1148
1146
|
name: review/$CI_COMMIT_REF_NAME/api
|
|
1149
1147
|
action: stop
|
|
1150
1148
|
rules:
|
|
1151
|
-
- if: $CI_COMMIT_BRANCH =~ /^[0-9]+\\.([0-9]+|x)\\.x$/
|
|
1152
|
-
when: on_success
|
|
1153
1149
|
- when: never
|
|
1154
1150
|
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
1155
1151
|
- when: manual
|
|
@@ -1368,8 +1364,6 @@ before_script:
|
|
|
1368
1364
|
name: stage/api
|
|
1369
1365
|
action: stop
|
|
1370
1366
|
rules:
|
|
1371
|
-
- if: $CI_COMMIT_BRANCH =~ /^[0-9]+\\.([0-9]+|x)\\.x$/
|
|
1372
|
-
when: on_success
|
|
1373
1367
|
- when: never
|
|
1374
1368
|
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
1375
1369
|
- when: manual
|
|
@@ -1588,8 +1582,6 @@ before_script:
|
|
|
1588
1582
|
name: prod/api
|
|
1589
1583
|
action: stop
|
|
1590
1584
|
rules:
|
|
1591
|
-
- if: $CI_COMMIT_BRANCH =~ /^[0-9]+\\.([0-9]+|x)\\.x$/
|
|
1592
|
-
when: on_success
|
|
1593
1585
|
- when: never
|
|
1594
1586
|
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
1595
1587
|
- when: manual
|
|
@@ -1818,8 +1810,6 @@ before_script:
|
|
|
1818
1810
|
name: dev/www
|
|
1819
1811
|
action: stop
|
|
1820
1812
|
rules:
|
|
1821
|
-
- if: $CI_COMMIT_BRANCH =~ /^[0-9]+\\.([0-9]+|x)\\.x$/
|
|
1822
|
-
when: on_success
|
|
1823
1813
|
- when: never
|
|
1824
1814
|
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
1825
1815
|
- when: manual
|
|
@@ -2056,8 +2046,6 @@ before_script:
|
|
|
2056
2046
|
name: review/$CI_COMMIT_REF_NAME/www
|
|
2057
2047
|
action: stop
|
|
2058
2048
|
rules:
|
|
2059
|
-
- if: $CI_COMMIT_BRANCH =~ /^[0-9]+\\.([0-9]+|x)\\.x$/
|
|
2060
|
-
when: on_success
|
|
2061
2049
|
- when: never
|
|
2062
2050
|
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
2063
2051
|
- when: manual
|
|
@@ -2279,8 +2267,6 @@ before_script:
|
|
|
2279
2267
|
name: stage/www
|
|
2280
2268
|
action: stop
|
|
2281
2269
|
rules:
|
|
2282
|
-
- if: $CI_COMMIT_BRANCH =~ /^[0-9]+\\.([0-9]+|x)\\.x$/
|
|
2283
|
-
when: on_success
|
|
2284
2270
|
- when: never
|
|
2285
2271
|
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
2286
2272
|
- when: manual
|
|
@@ -2502,8 +2488,6 @@ before_script:
|
|
|
2502
2488
|
name: prod/www
|
|
2503
2489
|
action: stop
|
|
2504
2490
|
rules:
|
|
2505
|
-
- if: $CI_COMMIT_BRANCH =~ /^[0-9]+\\.([0-9]+|x)\\.x$/
|
|
2506
|
-
when: on_success
|
|
2507
2491
|
- when: never
|
|
2508
2492
|
if: $CI_PIPELINE_SOURCE == "trigger"
|
|
2509
2493
|
- when: manual
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { it, expect } from "vitest";
|
|
2
|
+
import { createYamlLocalPipeline } from "./__utils__/helpers";
|
|
3
|
+
import config from "./cloud-run-session-affinity";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* This test is auto-generated.
|
|
7
|
+
* Modifications will be overwritten on every `yarn test` run!
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
it("matches snapshot for cloud-run-session-affinity local pipeline YAML", async () => {
|
|
11
|
+
expect(await createYamlLocalPipeline(config)).toMatchSnapshot();
|
|
12
|
+
});
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { Config } from "../src";
|
|
2
|
+
|
|
3
|
+
const config = {
|
|
4
|
+
appName: "test-app",
|
|
5
|
+
customerName: "pan",
|
|
6
|
+
components: {
|
|
7
|
+
api: {
|
|
8
|
+
dir: "api",
|
|
9
|
+
build: {
|
|
10
|
+
type: "node",
|
|
11
|
+
},
|
|
12
|
+
deploy: {
|
|
13
|
+
type: "google-cloudrun",
|
|
14
|
+
projectId: "google-project-id",
|
|
15
|
+
region: "europe-west6",
|
|
16
|
+
|
|
17
|
+
service: {
|
|
18
|
+
sessionAffinity: true,
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
} satisfies Config;
|
|
24
|
+
|
|
25
|
+
export default config;
|
|
26
|
+
|
|
27
|
+
export const information = {
|
|
28
|
+
title: "Cloud Run: with session affinity",
|
|
29
|
+
};
|
package/package.json
CHANGED
package/src/deploy/base/stop.ts
CHANGED
|
@@ -16,12 +16,6 @@ export const createStopJob = (
|
|
|
16
16
|
needs: [], // can be executed even if the deploy job failed
|
|
17
17
|
allow_failure: true,
|
|
18
18
|
when: "manual", // stop is always manual
|
|
19
|
-
rules: [
|
|
20
|
-
{
|
|
21
|
-
if: "$CI_COMMIT_BRANCH =~ /^[0-9]+\\.([0-9]+|x)\\.x$/", // automatic on hotfix branches
|
|
22
|
-
when: "on_success",
|
|
23
|
-
},
|
|
24
|
-
],
|
|
25
19
|
variables: {
|
|
26
20
|
...context.environment.jobOnlyVars.deploy.envVars,
|
|
27
21
|
...jobDefinition.variables,
|
|
@@ -65,6 +65,7 @@ export const getServiceDeployScript = (
|
|
|
65
65
|
"use-http2": customConfig?.http2,
|
|
66
66
|
"allow-unauthenticated": customConfig?.allowUnauthenticated ?? true,
|
|
67
67
|
ingress: customConfig?.ingress ?? "all",
|
|
68
|
+
"session-affinity": customConfig?.sessionAffinity,
|
|
68
69
|
"cpu-boost": true,
|
|
69
70
|
"execution-environment": customConfig?.executionEnvironment,
|
|
70
71
|
gpu: customConfig?.gpu,
|
|
@@ -202,6 +202,14 @@ export type DeployConfigCloudRunService = {
|
|
|
202
202
|
* If you specify an image, you usually want to disable the build by setting build: false
|
|
203
203
|
*/
|
|
204
204
|
image?: string;
|
|
205
|
+
/**
|
|
206
|
+
* whether to enable session affinity. When enabled, Cloud Run will try to route
|
|
207
|
+
* requests from the same client to the same instance.
|
|
208
|
+
*
|
|
209
|
+
* Passed as `--session-affinity` to gcloud.
|
|
210
|
+
*/
|
|
211
|
+
sessionAffinity?: boolean;
|
|
212
|
+
|
|
205
213
|
/**
|
|
206
214
|
* args to pass to the command
|
|
207
215
|
*/
|