Skip to content

Commit 1907fd9

Browse files
committed
Harden GitData remote matching and project file includes
1 parent ca57abb commit 1907fd9

File tree

13 files changed

+131
-107
lines changed

13 files changed

+131
-107
lines changed

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"description": "Tired of pushing to test your .gitlab-ci.yml?",
44
"main": "src/index.js",
55
"bin": "src/index.js",
6-
"version": "4.26.2",
6+
"version": "4.26.3",
77
"scripts": {
88
"prepublishOnly": "npm run check-all && chmod +x src/index.js",
99
"pkg-linux": "pkg src/index.js --public -t node16-linux-x64 -o bin/linux/gitlab-ci-local && chmod +x bin/linux/gitlab-ci-local && gzip -c bin/linux/gitlab-ci-local > bin/linux.gz",

ppa/InRelease

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,37 @@
11
-----BEGIN PGP SIGNED MESSAGE-----
22
Hash: SHA512
33

4-
Date: Fri, 12 Nov 2021 18:25:15 +0000
4+
Date: Sat, 13 Nov 2021 08:23:05 +0000
55
MD5Sum:
6-
c518f62acd0f334e039734cd9ebfd014 1955 Packages
7-
fdc1ed8fa2319212ce80a28d041f53cc 726 Packages.gz
8-
095227f54d11e57070a12d31760fbd89 38 Release
6+
77da43e293c9995ea506fb85c6c82f95 2346 Packages
7+
358802370c80935c6e19b949612edc06 823 Packages.gz
8+
532eabc4e401e0b976a8f73f6612d69e 38 Release
99
SHA1:
10-
60daaca57db4d075da19cc0f61cf2b46927bbf46 1955 Packages
11-
d4082a645f8a41cfbdb5821fc20897df3f61f5bf 726 Packages.gz
12-
8266ebeeb28d7971eaf1ebfe37407314b47c20d4 38 Release
10+
b066b4d8cd92bbb9f177fee9dde7641d546eb9f5 2346 Packages
11+
e66fad48c5e4572d9fd2195ee7c30399be04fdd6 823 Packages.gz
12+
5d3d17a3158be58cd9c16605794877a74ce64770 38 Release
1313
SHA256:
14-
204b873557749a15467dae6a341cb81db0dd71f3b7173624a190dd18f7dd9fc2 1955 Packages
15-
64289ac121186540419268e5433889b480c66ec8edd77c3eb36b44f59057fb9d 726 Packages.gz
16-
16dd6c63b86e8001478d35fe07010ee0b9babd41154bbbc5d6409c486fdae9d3 38 Release
14+
c6f348dce9262a58eca90d19c7d6894c66bf7b96dc4ccf0c68d50770c1e73a73 2346 Packages
15+
ffa21bd4b46bb4b52b68ef2d091b2565c601505a8b2170f49f2a3507a82b8d48 823 Packages.gz
16+
7f88cfe6c39557566f3aca9c856f11c9b85d35d06c1c6da94f310af40c6e6eda 38 Release
1717
SHA512:
18-
8888f46e15a60b5c06fe7f1ef80067b1bfc4215b31545feaefc30bbc0ae024f9c30ab0029dd655afd269ee8b87b64ace89d3bae395a9ec259c23407b3741f458 1955 Packages
19-
6025d46f2a1aec8a3dc0042bab2b13a28b7f65d3efbc5cad180666ee50f2ba518b76274fe14ec44717770b5c7ba66be7266dcf43485543a79b48311e607b0562 726 Packages.gz
20-
0936f8fe9a37e31ad3753318f74574ef0dcab7198cb672ce62aa9dfd853acbeff6677fd11c73704d76b10359164bd0f28b51ecffea3e0d5cbc241742861e7042 38 Release
18+
cdbb65b6739e7be59565e45dca56de271eedb359f56d5bc531a39e349310b0adec0d454bb64638bd09e9733073b574031c2af212d21c2e561d08195e5c582f44 2346 Packages
19+
d11a6221cdf01a2c31e50b2541db7c8ce7185df697483ed373c254221ab896ea69417ea5384375c470d832521ef296c41d9d54543d4c79819f6efd9afb676daf 823 Packages.gz
20+
ab6e6a72d4013546bd98d0f0a78720b0d2ae4a7701d17af8eb462148d16473cee5c9cd86847e8b28e9235ef63172177e58a2f74ec862c8b0f655ea85b5d47f4e 38 Release
2121
-----BEGIN PGP SIGNATURE-----
2222

23-
iQJGBAEBCgAwFiEEJX1AY0qhHJdVztz5ZQTZ8+FatWIFAmGOsYsSHG1hZHNqb25A
24-
Z21haWwuY29tAAoJEGUE2fPhWrVi+7QP/RS4s1KUWP1uzn0HJNCcpAvz1C2Y5f7n
25-
UB3pZs/XN8KhhewZYR/o51kDGADuylyhS8i8YpEuktfeFH5KLd4QWch4V1JnVRDr
26-
Tajl/q2UKatcFbYqo3YBA4tDyDCdpoX+SXGYK31IDBlh0Z5tiZbiFmiicsIGOjh6
27-
sVqh+GOOBra6+NupxCKOI1KwkE7yibLJX7eEx4u+fdWmj1Td4KDPWVSnu0SUV+nO
28-
CQAiCHAC31UB8NvwXke/lJwXVH0OEyOVNb3FS6aDIquxxuVXFlLSCezNZBz5o0Ah
29-
G3Yy4Xph/Et96Z7xpWj3NaOVVv4mzc8xInuPL9FmjcB1IFzsn+0HQQcnvnzH1ni6
30-
XkOHvXbypId6oVxEJdpfLvowGtlXK/dXQQ371f+EEqOw9Vx5kxQaIDalH7WQDCt2
31-
oVklTeYjRSh6r22MmZccib9qhBE6bvaW6CJgc8WaejJvAiZp4fgTsUMAVc0l8tPM
32-
e665OZlaaU6jGudYWvXwsnknCFsaX8228Ojs1x5KwSe78JybQp+F/c8fO42KizW9
33-
a7wH5UL10zd8xoDQm/JwhPFJCEQYFFxvneoxLG8btgNb/fMbYfZGfjJQR4FNkcas
34-
Sgian2oX8gn2giQucgTd0B9g6CAdIE4EnFIZcHvIV3TXrU3yX6MGiQ/thqvI2sqB
35-
6WzMUSyCCbsD
36-
=Q1sI
23+
iQJGBAEBCgAwFiEEJX1AY0qhHJdVztz5ZQTZ8+FatWIFAmGPdekSHG1hZHNqb25A
24+
Z21haWwuY29tAAoJEGUE2fPhWrViO8AP/iqXww7tqsYwoqs5Ew5Y1oMduaHH/6mQ
25+
fGe1IxvIfxL4W5Mtbqg4wu2kZeyFkNiGwwYzhBhLXqnRwauyHYYIKeO/DfooSQFZ
26+
/G0cMd6DEpKki0LKvgCIkIv/ZgLo+6HRtFeM0yqLJZg97Zv35OkDvVOQBjEbtS1v
27+
1Y/wGlvwolVVphRPugoSJrBIq1fNaSRsFGWcp6BShMmJT96V3zjWR0LQraiu6BN5
28+
GJFFxKKpz0x9cB6UWE+OoYl7J1p7rvA1iRZGByO4JfM47Gey9vwYDyT+RkpOcW1K
29+
gAzz8FSlOWmHtM4r0qcw/arxx0wKK1HD/v9knQE4hEd9xJJLc4ozzKGgX9q5CxHU
30+
1lrxsva4gbCB7dMECI9KnMgT8bzX1Y1tOuqnb433OmzQuOYOcx1yiQwhDE0P1J9N
31+
swoTHED6jqWEIrUk+mPr0hrK9qUtkYtL8RIQLrtBKfgKf6dgMirx17aec9vlxA3m
32+
W49BujYhsBk1M5A7enPtnlDZh/feG+ZkCYGbMU6t08VM9aDsTrAV1cTqBZ9vUQ8H
33+
EzGGX2EVpxq0RCNA5VO5Cw65aw/EFPRc6cnjmB7F9qFl1ANs3rHz/bDcG5qPQh3H
34+
DWXg7lM1eycdQTiN0IYngBMLwMZN7cjXCUzSYbmuA17FLiFlyX2/H/PANaqWSTje
35+
vGszmIVi3iLu
36+
=bMOF
3737
-----END PGP SIGNATURE-----

ppa/Packages

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,3 +53,14 @@ SHA1: 633e91f48968a144a3a8747de12b63a295a24b35
5353
SHA256: 520c45ee28e40fdfec81a3d9140158cb0d32db3cbf1e9e645b2b3a91085f20cc
5454
Description: Tired of pushing to test your .gitlab-ci.yml?
5555

56+
Package: gitlab-ci-local
57+
Version: 4.26.3
58+
Architecture: amd64
59+
Maintainer: Mads Jon Nielsen <[email protected]>
60+
Filename: ./gitlab-ci-local_4.26.3_amd64.deb
61+
Size: 12802260
62+
MD5sum: 433b6423c96c8fc81688256b21d73009
63+
SHA1: fac03bea6900b2e3d3547139135fb269eb20c946
64+
SHA256: fc6e1443853f58578b0750bd8509e2d4e1e94559e718a80ba1a61cee81dfc830
65+
Description: Tired of pushing to test your .gitlab-ci.yml?
66+

ppa/Packages.gz

97 Bytes
Binary file not shown.

ppa/Release

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
1-
Date: Fri, 12 Nov 2021 18:25:15 +0000
1+
Date: Sat, 13 Nov 2021 08:23:05 +0000
22
MD5Sum:
3-
c518f62acd0f334e039734cd9ebfd014 1955 Packages
4-
fdc1ed8fa2319212ce80a28d041f53cc 726 Packages.gz
5-
095227f54d11e57070a12d31760fbd89 38 Release
3+
77da43e293c9995ea506fb85c6c82f95 2346 Packages
4+
358802370c80935c6e19b949612edc06 823 Packages.gz
5+
532eabc4e401e0b976a8f73f6612d69e 38 Release
66
SHA1:
7-
60daaca57db4d075da19cc0f61cf2b46927bbf46 1955 Packages
8-
d4082a645f8a41cfbdb5821fc20897df3f61f5bf 726 Packages.gz
9-
8266ebeeb28d7971eaf1ebfe37407314b47c20d4 38 Release
7+
b066b4d8cd92bbb9f177fee9dde7641d546eb9f5 2346 Packages
8+
e66fad48c5e4572d9fd2195ee7c30399be04fdd6 823 Packages.gz
9+
5d3d17a3158be58cd9c16605794877a74ce64770 38 Release
1010
SHA256:
11-
204b873557749a15467dae6a341cb81db0dd71f3b7173624a190dd18f7dd9fc2 1955 Packages
12-
64289ac121186540419268e5433889b480c66ec8edd77c3eb36b44f59057fb9d 726 Packages.gz
13-
16dd6c63b86e8001478d35fe07010ee0b9babd41154bbbc5d6409c486fdae9d3 38 Release
11+
c6f348dce9262a58eca90d19c7d6894c66bf7b96dc4ccf0c68d50770c1e73a73 2346 Packages
12+
ffa21bd4b46bb4b52b68ef2d091b2565c601505a8b2170f49f2a3507a82b8d48 823 Packages.gz
13+
7f88cfe6c39557566f3aca9c856f11c9b85d35d06c1c6da94f310af40c6e6eda 38 Release
1414
SHA512:
15-
8888f46e15a60b5c06fe7f1ef80067b1bfc4215b31545feaefc30bbc0ae024f9c30ab0029dd655afd269ee8b87b64ace89d3bae395a9ec259c23407b3741f458 1955 Packages
16-
6025d46f2a1aec8a3dc0042bab2b13a28b7f65d3efbc5cad180666ee50f2ba518b76274fe14ec44717770b5c7ba66be7266dcf43485543a79b48311e607b0562 726 Packages.gz
17-
0936f8fe9a37e31ad3753318f74574ef0dcab7198cb672ce62aa9dfd853acbeff6677fd11c73704d76b10359164bd0f28b51ecffea3e0d5cbc241742861e7042 38 Release
15+
cdbb65b6739e7be59565e45dca56de271eedb359f56d5bc531a39e349310b0adec0d454bb64638bd09e9733073b574031c2af212d21c2e561d08195e5c582f44 2346 Packages
16+
d11a6221cdf01a2c31e50b2541db7c8ce7185df697483ed373c254221ab896ea69417ea5384375c470d832521ef296c41d9d54543d4c79819f6efd9afb676daf 823 Packages.gz
17+
ab6e6a72d4013546bd98d0f0a78720b0d2ae4a7701d17af8eb462148d16473cee5c9cd86847e8b28e9235ef63172177e58a2f74ec862c8b0f655ea85b5d47f4e 38 Release

ppa/Release.gpg

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
-----BEGIN PGP SIGNATURE-----
22

3-
iQJGBAABCgAwFiEEJX1AY0qhHJdVztz5ZQTZ8+FatWIFAmGOsYsSHG1hZHNqb25A
4-
Z21haWwuY29tAAoJEGUE2fPhWrVieekQAM6wjio/CGliCLV2OZn3i272L1XHmGwx
5-
fKkZkcHOtwif76r/HVVYMFV6wMIlJt1wCMqoUj7LvqLxhXY9ytWWxcPXZZjZgHTk
6-
iRUPF6NZpEVRai4oJHMYlC/6fl5cHt2I3Z8AtMZDkRWaKqgOWPwpEDNpXBMcRwpk
7-
QobRcEx1RpPKYxZSRWY9+nAvc9EnB2K9PuVXhaarxxySTGpCWHKODml/UJRTR1GD
8-
5pu3fkFyHSlST2OWYuz7mSwPlmbofN1xYpyZFVD4ztwRlQ7m/4Yb6h+nlFeNDhlD
9-
+SurobmLMKwIcZ8Y7/E+6fpKQGzzy7ZVAzXtHKRBbVtt1hSqiLH+LfFGet0tj6cS
10-
Bg5N9i3P5c9NJOaV/Li7sVCH3NhzcfnoNLzn9LM07lvdlCmERV70CzfZ24oeJKeH
11-
FjpF971Uoo8PGxUijALRkqoeXEoigRuCajB3ka18T6qpIGzK6llNH0SOzw3nzgbV
12-
2urko8sLsuX8KsoddG8PNghPY2n0aQN9gQSvm4AGmpjKQ8tSX9fXGIjqQiFcfUyu
13-
f1MNtL3psCOn7n0E9agb991vJUQYM8sb7iPp4wvN8+8Hm69271OZZvZhHUxmscBY
14-
GV3mYoXpScMKDg9VrmeWyPZWgNxJ28O31s8lpA92UeZpfhs5NlJkwXlhKA9X9GUU
15-
88hXMvQnysH+
16-
=eiWP
3+
iQJGBAABCgAwFiEEJX1AY0qhHJdVztz5ZQTZ8+FatWIFAmGPdekSHG1hZHNqb25A
4+
Z21haWwuY29tAAoJEGUE2fPhWrVisyUP/iW+QnEBbLN7rt80iOf1W9T6bqe5H3+f
5+
NQWtRiAubtvrLhybg6je+5FxKKu7iu8uFs9eUoZlOuyw4r9AK34TBXp3hm42q8gu
6+
tOtrG+mN2WohwY3VjPINHO+e2ZyjaMZdywpumiNSl3lqsZSV3VenaUHwc0EbU9fS
7+
J2mn1IvLB+5RXcWd/esinuGVYZAukQQm81ihlavGgfvndLGvodL8W2Kj2CrnJsPC
8+
bFpvBqs4W0gkpjsJ72QtB9wVYrEsLoO4jVMbmQkl3yXlZpXc4PKnXBKlLXKH6Nvh
9+
we9W7iU426yIM+yamv0xvm8elFfqMmO/MQlIFKwDFRGZr/1kF2AxQ4mGOMCx4x2h
10+
kULuxKuxfX/q5Tnx4viZG1nsNFM7dKaPJxCMVUoYd/nO4ovAU5ZcD1/dZi0js8+x
11+
qY56hRdcLbrmp/IWMmIMOvvHyQWlrTOdGInYdJfN6xJ10g98Qb90HJHOF3DGHc0/
12+
T3OlJI9IIs7RX80wLSSpr79aJniIzvaNJ8aq3Mxe+VV40m7T07OgK2LgPzgVgt1j
13+
nD+DWJuCK1AwzQs0FMtq3Rs7Xhonl9qm1MvNMNgj+SUMacq8z5WeftqZUuUwmyVt
14+
ja0xqa9lBw4sZiVi3eU69f/m4Py7q6yauSwX8z0v1ELSUqH1D2JeVxkInqnngNsy
15+
eivR6wRsZG+D
16+
=FIW5
1717
-----END PGP SIGNATURE-----
12.2 MB
Binary file not shown.

src/git-data.ts

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ import chalk from "chalk";
55
import {ExitError} from "./types/exit-error";
66

77
interface GitRemote {
8-
domain: string;
8+
port: string;
9+
host: string;
910
group: string;
1011
project: string;
1112
}
@@ -34,7 +35,8 @@ export class GitData {
3435
GITLAB_USER_ID: "1000",
3536
},
3637
remote: {
37-
domain: "fallback.domain",
38+
port: "22",
39+
host: "gitlab.com",
3840
group: "fallback.group",
3941
project: "fallback.project",
4042
},
@@ -60,7 +62,7 @@ export class GitData {
6062
}
6163

6264
get CI_REGISTRY() {
63-
return `local-registry.${this.remote.domain}`;
65+
return `local-registry.${this.remote.host}`;
6466
}
6567

6668
get CI_REGISTRY_IMAGE() {
@@ -112,12 +114,13 @@ export class GitData {
112114
static async getRemoteData(cwd: string, writeStreams: WriteStreams): Promise<GitRemote> {
113115
try {
114116
const { stdout: gitRemote } = await Utils.spawn("git remote -v", cwd);
115-
const gitRemoteMatch = gitRemote.match(/.*(?:http[s]?:\/\/|@)(?<domain>[^:/]*)((:\d+\/)|:|\/)(?<group>.*)\/(?<project>.*?)(?:\r?\n|\.git)/);
117+
const gitRemoteMatch = gitRemote.match(/.*(?:\/\/|@)(?<host>[^:/]*)(:(?<port>\d+)\/|:|\/)(?<group>.*)\/(?<project>.*?)(?:\r?\n|\.git)/);
116118

117119
assert(gitRemoteMatch?.groups != null, "git remote -v didn't provide valid matches");
118120

119121
return {
120-
domain: gitRemoteMatch.groups.domain,
122+
port: gitRemoteMatch.groups.port ?? "22",
123+
host: gitRemoteMatch.groups.host,
121124
group: gitRemoteMatch.groups.group,
122125
project: gitRemoteMatch.groups.project,
123126
};

src/home-variables.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ export class HomeVariables {
2424
variables[globalKey] = globalEntry;
2525
}
2626

27-
const groupUrl = `${gitData.remote.domain}/${gitData.remote.group}/`;
27+
const groupUrl = `${gitData.remote.host}/${gitData.remote.group}/`;
2828
for (const [groupKey, groupEntries] of Object.entries(data?.group ?? [])) {
2929
if (!groupUrl.includes(this.normalizeProjectKey(groupKey, writeStreams))) {
3030
continue;
@@ -35,7 +35,7 @@ export class HomeVariables {
3535
variables = {...variables, ...groupEntries};
3636
}
3737

38-
const projectUrl = `${gitData.remote.domain}/${gitData.remote.group}/${gitData.remote.project}.git`;
38+
const projectUrl = `${gitData.remote.host}/${gitData.remote.group}/${gitData.remote.project}.git`;
3939
for (const [projectKey, projectEntries] of Object.entries(data?.project ?? [])) {
4040
if (!projectUrl.includes(this.normalizeProjectKey(projectKey, writeStreams))) {
4141
continue;

0 commit comments

Comments
 (0)