@fishawack/lab-env 4.45.1 → 4.46.0-beta.2
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/CHANGELOG.md +28 -0
- package/_Scripts/post-release.sh +43 -0
- package/bitbucket-pipelines.yml +2 -87
- package/cli.js +1 -1
- package/commands/create/libs/vars.js +47 -0
- package/commands/create/services/aws/elasticbeanstalk.js +15 -6
- package/commands/run.js +0 -7
- package/commands/start.js +11 -17
- package/globals.js +27 -1
- package/package.json +1 -1
- package/python/0/docker-compose.yml +2 -2
- package/core/1/CHANGELOG.md +0 -136
- package/core/1/Dockerfile +0 -113
- package/core/1/README.md +0 -9
- package/core/1/bitbucket-pipelines.yml +0 -82
- package/core/1/docker-compose.yml +0 -37
- package/core/1/entrypoint.sh +0 -24
- package/core/1/package.json +0 -47
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,33 @@
|
|
|
1
1
|
## Changelog
|
|
2
2
|
|
|
3
|
+
### 4.46.0-beta.2 (2025-09-12)
|
|
4
|
+
|
|
5
|
+
#### Features
|
|
6
|
+
|
|
7
|
+
* added python settings ([5cacbb5](https://bitbucket.org/fishawackdigital/lab-env/commits/5cacbb56d7b7fb052959baad8e90cd98cac07c39))
|
|
8
|
+
* python deployments ([02f3293](https://bitbucket.org/fishawackdigital/lab-env/commits/02f32934c362826ed1e10f3609dd0eaac87a4f75))
|
|
9
|
+
* python now uses its own port as core also needed alongside python now ([c38c8f9](https://bitbucket.org/fishawackdigital/lab-env/commits/c38c8f962d024854c0764dcca88c26e7a808c122))
|
|
10
|
+
|
|
11
|
+
#### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* dont stop package and mail commands on python projects ([6267142](https://bitbucket.org/fishawackdigital/lab-env/commits/62671425796c8ce03edfbdb71e50ca4676fd4eeb))
|
|
14
|
+
|
|
15
|
+
#### Build Updates
|
|
16
|
+
|
|
17
|
+
* bumped to latest bitbucket-ci config ([fcb22d8](https://bitbucket.org/fishawackdigital/lab-env/commits/fcb22d8ff7e99ce95e8bf3868b6dcf7192823bfd))
|
|
18
|
+
* use bitbucket beta exported beta and master config with post relase ([9ad0317](https://bitbucket.org/fishawackdigital/lab-env/commits/9ad0317e5c5a89640149412519b5e94491a48e92))
|
|
19
|
+
|
|
20
|
+
### 4.46.0-beta.1 (2025-09-05)
|
|
21
|
+
|
|
22
|
+
#### Features
|
|
23
|
+
|
|
24
|
+
* write vscode workspace settings for python ([c6b2c4d](https://bitbucket.org/fishawackdigital/lab-env/commits/c6b2c4df1d730c054b966582119765d519e8f644))
|
|
25
|
+
|
|
26
|
+
#### Bug Fixes
|
|
27
|
+
|
|
28
|
+
* start now always ups whatever containers are configured ([eae144b](https://bitbucket.org/fishawackdigital/lab-env/commits/eae144be3d7f4ff2d0e39368a60c3eb280567b0c))
|
|
29
|
+
* use extrapaths to stop python warnings ([594887d](https://bitbucket.org/fishawackdigital/lab-env/commits/594887df096a4c46abbe47e0f2363bcc2bc28181))
|
|
30
|
+
|
|
3
31
|
### 4.45.1 (2025-09-04)
|
|
4
32
|
|
|
5
33
|
#### Bug Fixes
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# Commit and create pull request for new version on aws-runner repo
|
|
4
|
+
git config --global user.email "digital@fishawack.com"
|
|
5
|
+
|
|
6
|
+
git config --global user.name "Digital Fishawack"
|
|
7
|
+
|
|
8
|
+
git clone https://$GIT_CREDENTIALS@bitbucket.org/fishawackdigital/aws-runner
|
|
9
|
+
|
|
10
|
+
cd aws-runner
|
|
11
|
+
|
|
12
|
+
git checkout -b "$BITBUCKET_REPO_SLUG-$BITBUCKET_COMMIT" origin/development
|
|
13
|
+
|
|
14
|
+
sed -i -e "s/\(@fishawack\/lab-env@\).*/\1$(jq -r '.version' ../package.json)/g" Dockerfile
|
|
15
|
+
|
|
16
|
+
git add .
|
|
17
|
+
|
|
18
|
+
git commit -m "build($BITBUCKET_REPO_SLUG): Bumped $BITBUCKET_REPO_SLUG"
|
|
19
|
+
|
|
20
|
+
git push origin "$BITBUCKET_REPO_SLUG-$BITBUCKET_COMMIT"
|
|
21
|
+
|
|
22
|
+
curl https://api.bitbucket.org/2.0/repositories/fishawackdigital/aws-runner/pullrequests \
|
|
23
|
+
-u $GIT_CREDENTIALS \
|
|
24
|
+
--header 'Content-Type: application/json' \
|
|
25
|
+
--data "{
|
|
26
|
+
\"title\": \"Bumped $BITBUCKET_REPO_SLUG\",
|
|
27
|
+
\"destination\": {
|
|
28
|
+
\"branch\": {
|
|
29
|
+
\"name\": \"development\"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
\"source\": {
|
|
33
|
+
\"branch\": {
|
|
34
|
+
\"name\": \"$BITBUCKET_REPO_SLUG-$BITBUCKET_COMMIT\"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
\"reviewers\": [
|
|
38
|
+
{
|
|
39
|
+
\"uuid\": \"{2518e4c3-fc1d-4653-b355-c00be099ce6c}\"
|
|
40
|
+
}
|
|
41
|
+
],
|
|
42
|
+
\"close_source_branch\": true
|
|
43
|
+
}"
|
package/bitbucket-pipelines.yml
CHANGED
|
@@ -46,91 +46,6 @@ pipelines:
|
|
|
46
46
|
- docker
|
|
47
47
|
branches:
|
|
48
48
|
master:
|
|
49
|
-
-
|
|
50
|
-
image: fishawack/aws-runner
|
|
51
|
-
runs-on:
|
|
52
|
-
- self.hosted
|
|
53
|
-
- linux
|
|
54
|
-
- production
|
|
55
|
-
size: 4x
|
|
56
|
-
script:
|
|
57
|
-
# Install lib deps
|
|
58
|
-
- git submodule init && git submodule update
|
|
59
|
-
# Install release deps
|
|
60
|
-
- npm install -g semantic-release@24 @semantic-release/changelog@6 @semantic-release/git@10 conventional-changelog-conventionalcommits@8
|
|
61
|
-
# Release version via node so can exit out when no release made
|
|
62
|
-
- |
|
|
63
|
-
node -e "const spawn = require('child_process').spawn('semantic-release', ['--repositoryUrl', 'https://$GIT_CREDENTIALS@bitbucket.org/$BITBUCKET_REPO_FULL_NAME'], { env: { ...process.env, FORCE_COLOR: true } }); spawn.stderr.on('data', d => process.stderr.write(d.toString())); spawn.stdout.on('data', d => {process.stdout.write(d.toString()); if(d.toString().includes('There are no relevant changes, so no new version is released.') || d.toString().includes('therefore a new version won\'t be published.')){process.exit(1);}})" || exit 0
|
|
64
|
-
# Open PR to re-sync beta after release
|
|
65
|
-
- |
|
|
66
|
-
curl https://api.bitbucket.org/2.0/repositories/${BITBUCKET_REPO_OWNER}/${BITBUCKET_REPO_SLUG}/pullrequests \
|
|
67
|
-
-u $GIT_CREDENTIALS \
|
|
68
|
-
--header 'Content-Type: application/json' \
|
|
69
|
-
--data "{
|
|
70
|
-
\"title\": \"fw-auto: sync beta after release\",
|
|
71
|
-
\"source\": {
|
|
72
|
-
\"branch\": {
|
|
73
|
-
\"name\": \"master\"
|
|
74
|
-
}
|
|
75
|
-
},
|
|
76
|
-
\"destination\": {
|
|
77
|
-
\"branch\": {
|
|
78
|
-
\"name\": \"beta\"
|
|
79
|
-
}
|
|
80
|
-
},
|
|
81
|
-
\"reviewers\": [
|
|
82
|
-
{
|
|
83
|
-
\"uuid\": \"{2518e4c3-fc1d-4653-b355-c00be099ce6c}\"
|
|
84
|
-
}
|
|
85
|
-
]
|
|
86
|
-
}"
|
|
87
|
-
# Commit and create pull request for new version on aws-runner repo
|
|
88
|
-
- git config --global user.email "digital@fishawack.com"
|
|
89
|
-
- git config --global user.name "Digital Fishawack"
|
|
90
|
-
- git clone https://$GIT_CREDENTIALS@bitbucket.org/fishawackdigital/aws-runner
|
|
91
|
-
- cd aws-runner
|
|
92
|
-
- git checkout -b "$BITBUCKET_REPO_SLUG-$BITBUCKET_COMMIT" origin/development
|
|
93
|
-
- sed -i -e "s/\(@fishawack\/lab-env@\).*/\1$(jq -r '.version' ../package.json)/g" Dockerfile
|
|
94
|
-
- git add .
|
|
95
|
-
- |
|
|
96
|
-
git commit -m "build($BITBUCKET_REPO_SLUG): Bumped $BITBUCKET_REPO_SLUG"
|
|
97
|
-
- git push origin "$BITBUCKET_REPO_SLUG-$BITBUCKET_COMMIT"
|
|
98
|
-
- |
|
|
99
|
-
curl https://api.bitbucket.org/2.0/repositories/fishawackdigital/aws-runner/pullrequests \
|
|
100
|
-
-u $GIT_CREDENTIALS \
|
|
101
|
-
--header 'Content-Type: application/json' \
|
|
102
|
-
--data "{
|
|
103
|
-
\"title\": \"Bumped $BITBUCKET_REPO_SLUG\",
|
|
104
|
-
\"destination\": {
|
|
105
|
-
\"branch\": {
|
|
106
|
-
\"name\": \"development\"
|
|
107
|
-
}
|
|
108
|
-
},
|
|
109
|
-
\"source\": {
|
|
110
|
-
\"branch\": {
|
|
111
|
-
\"name\": \"$BITBUCKET_REPO_SLUG-$BITBUCKET_COMMIT\"
|
|
112
|
-
}
|
|
113
|
-
},
|
|
114
|
-
\"reviewers\": [
|
|
115
|
-
{
|
|
116
|
-
\"uuid\": \"{2518e4c3-fc1d-4653-b355-c00be099ce6c}\"
|
|
117
|
-
}
|
|
118
|
-
],
|
|
119
|
-
\"close_source_branch\": true
|
|
120
|
-
}"
|
|
49
|
+
import: bitbucket-ci:v2.2.0-beta.4:master
|
|
121
50
|
beta:
|
|
122
|
-
-
|
|
123
|
-
image: fishawack/aws-runner
|
|
124
|
-
runs-on:
|
|
125
|
-
- self.hosted
|
|
126
|
-
- linux
|
|
127
|
-
- production
|
|
128
|
-
size: 4x
|
|
129
|
-
script:
|
|
130
|
-
# Install lib deps
|
|
131
|
-
- git submodule init && git submodule update
|
|
132
|
-
# Install release deps
|
|
133
|
-
- npm install -g semantic-release@24 @semantic-release/changelog@6 @semantic-release/git@10 conventional-changelog-conventionalcommits@8
|
|
134
|
-
# Release version via node so can exit out when no release made
|
|
135
|
-
- |
|
|
136
|
-
node -e "const spawn = require('child_process').spawn('semantic-release', ['--repositoryUrl', 'https://$GIT_CREDENTIALS@bitbucket.org/$BITBUCKET_REPO_FULL_NAME'], { env: { ...process.env, FORCE_COLOR: true } }); spawn.stderr.on('data', d => process.stderr.write(d.toString())); spawn.stdout.on('data', d => {process.stdout.write(d.toString()); if(d.toString().includes('There are no relevant changes, so no new version is released.') || d.toString().includes('therefore a new version won\'t be published.')){process.exit(1);}})" || exit 0
|
|
51
|
+
import: bitbucket-ci:v2.2.0-beta.4:beta
|
package/cli.js
CHANGED
|
@@ -47,13 +47,13 @@ const args = hideBin(process.argv);
|
|
|
47
47
|
"nuke",
|
|
48
48
|
"lint",
|
|
49
49
|
"workspace",
|
|
50
|
+
"npm",
|
|
50
51
|
],
|
|
51
52
|
|
|
52
53
|
// Web development commands (for frameworks that build frontend assets)
|
|
53
54
|
webDev: [
|
|
54
55
|
"watch",
|
|
55
56
|
"check",
|
|
56
|
-
"npm",
|
|
57
57
|
"reinstall",
|
|
58
58
|
"install",
|
|
59
59
|
"uninstall",
|
|
@@ -180,11 +180,51 @@ module.exports.frameworks = [
|
|
|
180
180
|
name: "adonis",
|
|
181
181
|
value: "adonis",
|
|
182
182
|
},
|
|
183
|
+
{
|
|
184
|
+
name: "python",
|
|
185
|
+
value: "python",
|
|
186
|
+
},
|
|
183
187
|
];
|
|
184
188
|
|
|
185
189
|
// Elasticbeanstlak configs based on preconfigurations
|
|
186
190
|
module.exports.eb = {
|
|
187
191
|
environments: {
|
|
192
|
+
python: {
|
|
193
|
+
shared: [],
|
|
194
|
+
low: [],
|
|
195
|
+
high: [
|
|
196
|
+
{
|
|
197
|
+
OptionName: "ELBScheme",
|
|
198
|
+
Value: "internal",
|
|
199
|
+
Namespace: "aws:ec2:vpc",
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
OptionName: "VPCId",
|
|
203
|
+
Value: "vpc-d30bcca8",
|
|
204
|
+
Namespace: "aws:ec2:vpc",
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
OptionName: "Subnets",
|
|
208
|
+
Value: "subnet-00bf5eda896fdd5c5,subnet-0aa7e40d4701683ae",
|
|
209
|
+
Namespace: "aws:ec2:vpc",
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
OptionName: "ELBSubnets",
|
|
213
|
+
Value: "subnet-00bf5eda896fdd5c5,subnet-0aa7e40d4701683ae",
|
|
214
|
+
Namespace: "aws:ec2:vpc",
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
OptionName: "AssociatePublicIpAddress",
|
|
218
|
+
Value: "false",
|
|
219
|
+
Namespace: "aws:ec2:vpc",
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
OptionName: "APP_ENV",
|
|
223
|
+
Value: "production",
|
|
224
|
+
Namespace: "aws:elasticbeanstalk:application:environment",
|
|
225
|
+
},
|
|
226
|
+
],
|
|
227
|
+
},
|
|
188
228
|
php: {
|
|
189
229
|
shared: [],
|
|
190
230
|
low: [],
|
|
@@ -618,6 +658,13 @@ module.exports.eb = {
|
|
|
618
658
|
low: [],
|
|
619
659
|
high: [],
|
|
620
660
|
},
|
|
661
|
+
python: {
|
|
662
|
+
platform: "nginx",
|
|
663
|
+
language: "python",
|
|
664
|
+
shared: [],
|
|
665
|
+
low: [],
|
|
666
|
+
high: [],
|
|
667
|
+
},
|
|
621
668
|
shared: [".ebextensions/misc/setvars.config"],
|
|
622
669
|
low: [".ebextensions/misc/enable-https.config"],
|
|
623
670
|
high: [
|
|
@@ -46,6 +46,20 @@ module.exports.createElasticBeanstalkEnvironment = async (
|
|
|
46
46
|
},
|
|
47
47
|
);
|
|
48
48
|
|
|
49
|
+
let stackName = "PHP 8.2";
|
|
50
|
+
switch (language) {
|
|
51
|
+
case "python":
|
|
52
|
+
stackName = "Python 3.13";
|
|
53
|
+
break;
|
|
54
|
+
case "node":
|
|
55
|
+
stackName = "Node.js 20";
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
const SolutionStackName = solutions.SolutionStacks.filter((d) =>
|
|
60
|
+
d.includes(stackName),
|
|
61
|
+
)[0];
|
|
62
|
+
|
|
49
63
|
await Spinner.prototype.simple(
|
|
50
64
|
`Creating elasticbeanstalk environment ${name}`,
|
|
51
65
|
() => {
|
|
@@ -53,12 +67,7 @@ module.exports.createElasticBeanstalkEnvironment = async (
|
|
|
53
67
|
new CreateEnvironmentCommand({
|
|
54
68
|
ApplicationName,
|
|
55
69
|
EnvironmentName: name,
|
|
56
|
-
SolutionStackName
|
|
57
|
-
return language === "node"
|
|
58
|
-
? d.includes("Node.js 20")
|
|
59
|
-
: d.includes("PHP 8.2") &&
|
|
60
|
-
d.includes("Amazon Linux 2023");
|
|
61
|
-
})[0],
|
|
70
|
+
SolutionStackName,
|
|
62
71
|
OptionSettings,
|
|
63
72
|
CNAMEPrefix,
|
|
64
73
|
Tags: [{ Key: "client", Value: account }].concat(tags),
|
package/commands/run.js
CHANGED
|
@@ -24,13 +24,6 @@ module.exports = [
|
|
|
24
24
|
},
|
|
25
25
|
(argv) => {
|
|
26
26
|
if (_.platform === "python") {
|
|
27
|
-
if (argv.command === "mail" || argv.command === "package") {
|
|
28
|
-
console.log(
|
|
29
|
-
`${argv.command} is a built-in command and will be ignored`,
|
|
30
|
-
);
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
27
|
const command = argv.command.endsWith(".py")
|
|
35
28
|
? argv.command
|
|
36
29
|
: `${argv.command}.py`;
|
package/commands/start.js
CHANGED
|
@@ -15,22 +15,16 @@ module.exports = [
|
|
|
15
15
|
const command = () =>
|
|
16
16
|
_.command("core", `npm start -- -- ${argv.flags.join(" ")}`, true);
|
|
17
17
|
|
|
18
|
-
|
|
19
|
-
_.platform === "
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
`uv run ./src/main.py -- -- ${argv.flags.join(" ")}`,
|
|
30
|
-
true,
|
|
31
|
-
);
|
|
32
|
-
} else {
|
|
33
|
-
command();
|
|
34
|
-
}
|
|
18
|
+
_.up(() => {
|
|
19
|
+
if (_.platform === "python") {
|
|
20
|
+
_.command(
|
|
21
|
+
"python",
|
|
22
|
+
`uv run ./src/main.py -- -- ${argv.flags.join(" ")}`,
|
|
23
|
+
true,
|
|
24
|
+
);
|
|
25
|
+
} else {
|
|
26
|
+
command();
|
|
27
|
+
}
|
|
28
|
+
});
|
|
35
29
|
},
|
|
36
30
|
];
|
package/globals.js
CHANGED
|
@@ -8,6 +8,7 @@ const {
|
|
|
8
8
|
copyFileSync,
|
|
9
9
|
existsSync,
|
|
10
10
|
readFileSync,
|
|
11
|
+
writeFileSync,
|
|
11
12
|
cpSync,
|
|
12
13
|
mkdirSync,
|
|
13
14
|
} = require("fs");
|
|
@@ -126,6 +127,7 @@ var exec;
|
|
|
126
127
|
var running;
|
|
127
128
|
var services;
|
|
128
129
|
var branch;
|
|
130
|
+
let vscodeSettings = {};
|
|
129
131
|
var diagnosis = "4.0.0";
|
|
130
132
|
var opts = { encoding: "utf8", stdio: "inherit", shell: "/bin/bash" };
|
|
131
133
|
const users = {
|
|
@@ -280,6 +282,10 @@ if (composer && composer.require && composer.require["laravel/framework"]) {
|
|
|
280
282
|
platform = "php";
|
|
281
283
|
} else if (python) {
|
|
282
284
|
platform = "python";
|
|
285
|
+
|
|
286
|
+
vscodeSettings["python.analysis.extraPaths"] = [
|
|
287
|
+
"${workspaceFolder}/.venv/lib/python3.13/site-packages",
|
|
288
|
+
];
|
|
283
289
|
} else {
|
|
284
290
|
// Check for old wordpress repo stucture and show warning
|
|
285
291
|
try {
|
|
@@ -613,6 +619,18 @@ if (version) {
|
|
|
613
619
|
copyAIInstructionsFile("webdriverio-capture-v9");
|
|
614
620
|
}
|
|
615
621
|
|
|
622
|
+
// Create .vscode/settings.json if it doesn't exist
|
|
623
|
+
const vscodeDir = path.join(cwd, ".vscode");
|
|
624
|
+
const vscodeSettingsPath = path.join(vscodeDir, "settings.json");
|
|
625
|
+
|
|
626
|
+
if (!existsSync(vscodeSettingsPath) && Object.keys(vscodeSettings).length) {
|
|
627
|
+
if (!existsSync(vscodeDir)) {
|
|
628
|
+
mkdirSync(vscodeDir, { recursive: true });
|
|
629
|
+
}
|
|
630
|
+
|
|
631
|
+
writeFileSync(vscodeSettingsPath, JSON.stringify(vscodeSettings, null, 4));
|
|
632
|
+
}
|
|
633
|
+
|
|
616
634
|
// If docker-compose.yml exists in project _Docker folder append to end
|
|
617
635
|
let localOverride = "";
|
|
618
636
|
if (existsSync(path.join(cwd, "_Docker/docker-compose.yml"))) {
|
|
@@ -636,7 +654,7 @@ if (platform === "laravel") {
|
|
|
636
654
|
} else if (platform === "php") {
|
|
637
655
|
docker = `docker compose --env-file ${path.join(cwd, ".env")} -f ${__dirname}/php/8.2/docker-compose.yml ${localOverride} -p ${repoSafe}`;
|
|
638
656
|
} else if (platform === "python") {
|
|
639
|
-
docker = `docker compose -f ${__dirname}/python/0/docker-compose.yml ${localOverride} -p ${repoSafe}`;
|
|
657
|
+
docker = `docker compose -f ${__dirname}/python/0/docker-compose.yml ${core} ${localOverride} -p ${repoSafe}`;
|
|
640
658
|
} else {
|
|
641
659
|
docker = `docker compose ${core} ${localOverride} -p ${repoSafe}`;
|
|
642
660
|
}
|
|
@@ -770,6 +788,12 @@ module.exports = {
|
|
|
770
788
|
port: getPort.makeRange(9200, 9300),
|
|
771
789
|
});
|
|
772
790
|
}
|
|
791
|
+
|
|
792
|
+
if (platform === "python") {
|
|
793
|
+
process.env.PORT_PY = await getPort({
|
|
794
|
+
port: getPort.makeRange(8101, 8200),
|
|
795
|
+
});
|
|
796
|
+
}
|
|
773
797
|
}
|
|
774
798
|
},
|
|
775
799
|
get() {
|
|
@@ -782,6 +806,8 @@ module.exports = {
|
|
|
782
806
|
ports.db = { port: +process.env.PORT_DB };
|
|
783
807
|
if (+process.env.PORT_ES)
|
|
784
808
|
ports.es = { port: +process.env.PORT_ES };
|
|
809
|
+
if (+process.env.PORT_PY)
|
|
810
|
+
ports.es = { port: +process.env.PORT_PY };
|
|
785
811
|
|
|
786
812
|
console.table(ports);
|
|
787
813
|
}
|
package/package.json
CHANGED
|
@@ -13,11 +13,11 @@ services:
|
|
|
13
13
|
- PYTHONDONTWRITEBYTECODE="1"
|
|
14
14
|
- PYTHONUNBUFFERED="1"
|
|
15
15
|
- REPO=${REPO:-}
|
|
16
|
-
-
|
|
16
|
+
- PORT_PY=${PORT_PY:-8000}
|
|
17
17
|
- USER_UID=${USER_UID:-0}
|
|
18
18
|
- USER_GID=${USER_GID:-0}
|
|
19
19
|
ports:
|
|
20
|
-
- ${
|
|
20
|
+
- ${PORT_PY:-8000}:${PORT_PY:-8000}
|
|
21
21
|
volumes:
|
|
22
22
|
- $CWD/:/workspace
|
|
23
23
|
networks:
|
package/core/1/CHANGELOG.md
DELETED
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
## Changelog
|
|
2
|
-
|
|
3
|
-
### 1.8.0 (2025-08-10)
|
|
4
|
-
|
|
5
|
-
#### Features
|
|
6
|
-
|
|
7
|
-
* new env flag for remote browsers ([f313be6](https://bitbucket.org/fishawackdigital/lab-env-core-1/commits/f313be6cde14e05ac832b43127b6c5639fd62015))
|
|
8
|
-
|
|
9
|
-
### 1.8.0-beta.1 (2025-08-10)
|
|
10
|
-
|
|
11
|
-
#### Features
|
|
12
|
-
|
|
13
|
-
* new env flag for remote browsers ([f313be6](https://bitbucket.org/fishawackdigital/lab-env-core-1/commits/f313be6cde14e05ac832b43127b6c5639fd62015))
|
|
14
|
-
|
|
15
|
-
### 1.7.2 (2025-05-15)
|
|
16
|
-
|
|
17
|
-
#### Bug Fixes
|
|
18
|
-
|
|
19
|
-
* use n flag in symlink to override if symlink already exists ([cdc1a41](https://bitbucket.org/fishawackdigital/lab-env-core-1/commits/cdc1a41639785f65e2076477f33e86a8ea8cb8fa))
|
|
20
|
-
|
|
21
|
-
### 1.7.2-beta.1 (2025-05-15)
|
|
22
|
-
|
|
23
|
-
#### Bug Fixes
|
|
24
|
-
|
|
25
|
-
* use n flag in symlink to override if symlink already exists ([cdc1a41](https://bitbucket.org/fishawackdigital/lab-env-core-1/commits/cdc1a41639785f65e2076477f33e86a8ea8cb8fa))
|
|
26
|
-
|
|
27
|
-
### 1.7.1 (2025-05-15)
|
|
28
|
-
|
|
29
|
-
#### Reverts
|
|
30
|
-
|
|
31
|
-
* Revert "feat: installed husky npm module globally" ([91cc456](https://bitbucket.org/fishawackdigital/lab-env-core-1/commits/91cc4564ea2fd6650924732a2a75cb4a9fb749b5))
|
|
32
|
-
|
|
33
|
-
### 1.7.1-beta.1 (2025-05-14)
|
|
34
|
-
|
|
35
|
-
#### Reverts
|
|
36
|
-
|
|
37
|
-
* Revert "feat: installed husky npm module globally" ([91cc456](https://bitbucket.org/fishawackdigital/lab-env-core-1/commits/91cc4564ea2fd6650924732a2a75cb4a9fb749b5))
|
|
38
|
-
|
|
39
|
-
### 1.7.0 (2025-05-14)
|
|
40
|
-
|
|
41
|
-
#### Features
|
|
42
|
-
|
|
43
|
-
* installed husky npm module globally ([e08f5a7](https://bitbucket.org/fishawackdigital/lab-env-core-1/commits/e08f5a7850d0743137c26addf694f586c8c8ee74))
|
|
44
|
-
* updated node from 20 to 22 ([e592f6e](https://bitbucket.org/fishawackdigital/lab-env-core-1/commits/e592f6e93fc6554227f8902c8c1c21a3564a32ce))
|
|
45
|
-
|
|
46
|
-
### 1.7.0-beta.1 (2025-05-14)
|
|
47
|
-
|
|
48
|
-
#### Features
|
|
49
|
-
|
|
50
|
-
* installed husky npm module globally ([e08f5a7](https://bitbucket.org/fishawackdigital/lab-env-core-1/commits/e08f5a7850d0743137c26addf694f586c8c8ee74))
|
|
51
|
-
* updated node from 20 to 22 ([e592f6e](https://bitbucket.org/fishawackdigital/lab-env-core-1/commits/e592f6e93fc6554227f8902c8c1c21a3564a32ce))
|
|
52
|
-
|
|
53
|
-
### 1.6.0 (2024-10-22)
|
|
54
|
-
|
|
55
|
-
#### Features
|
|
56
|
-
|
|
57
|
-
* own global node_modules folder so local modules can be linked ([82f84fa](https://bitbucket.org/fishawackdigital/lab-env-core-1/commits/82f84faa5dfa7c009458bec4fe3a9f2b437c34bf))
|
|
58
|
-
|
|
59
|
-
### 1.5.2 (2024-10-08)
|
|
60
|
-
|
|
61
|
-
#### Bug Fixes
|
|
62
|
-
|
|
63
|
-
* rclone in alpine image and aws sdk back in full image as rclone used for s3 content ([9e68463](https://bitbucket.org/fishawackdigital/lab-env-core-1/commits/9e684631bb83c105aa9e5407e8fee30a788309cd))
|
|
64
|
-
|
|
65
|
-
### 1.5.1 (2024-10-07)
|
|
66
|
-
|
|
67
|
-
#### Bug Fixes
|
|
68
|
-
|
|
69
|
-
* move aws from full image to alpine now that s3 content requests are supported ([a947817](https://bitbucket.org/fishawackdigital/lab-env-core-1/commits/a94781756ea482545b63018e72ab30ce25727af9))
|
|
70
|
-
|
|
71
|
-
### 1.5.0 (2024-10-01)
|
|
72
|
-
|
|
73
|
-
#### Features
|
|
74
|
-
|
|
75
|
-
* commit into lab-env and create pull request against development on publish ([22e9c66](https://bitbucket.org/fishawackdigital/lab-env-core-1/commits/22e9c666dff1e6453090da472a6cd4f0b89c6fbb))
|
|
76
|
-
|
|
77
|
-
#### Bug Fixes
|
|
78
|
-
|
|
79
|
-
* close source branch by default on pull request ([5208373](https://bitbucket.org/fishawackdigital/lab-env-core-1/commits/5208373822272c648a547f9b328720cb4fdf9bd4))
|
|
80
|
-
|
|
81
|
-
### 1.4.2 (2024-10-01)
|
|
82
|
-
|
|
83
|
-
#### Bug Fixes
|
|
84
|
-
|
|
85
|
-
* trigger ci ([301d679](https://bitbucket.org/fishawackdigital/lab-env-core-1/commits/301d6795162f0bf8941a3b9413a30092a3e8bf21))
|
|
86
|
-
|
|
87
|
-
### 1.4.1 (2024-07-17)
|
|
88
|
-
* [fix] set global var for git across file system so git avail in mounted volumes i.e node_modules
|
|
89
|
-
|
|
90
|
-
### 1.4.0 (2024-06-04)
|
|
91
|
-
* [feat] bumped node from 18 to 20
|
|
92
|
-
|
|
93
|
-
### 1.3.3 (2024-02-09)
|
|
94
|
-
* [fix] symlink wine64 now htat wine is the default global command but electron expects wine64
|
|
95
|
-
|
|
96
|
-
### 1.3.2 (2024-01-24)
|
|
97
|
-
* [fix] install latest eb cli and use node images python rather than pyenv
|
|
98
|
-
|
|
99
|
-
### 1.3.1 (2024-01-22)
|
|
100
|
-
* [fix] rebuild of image to get the latest chromium version to fix new puppeteer headless mode
|
|
101
|
-
|
|
102
|
-
### 1.3.0 (2023-03-17)
|
|
103
|
-
* [feat] node user is now added to www-data group for easier file permission management
|
|
104
|
-
* [fix] disable npm message about update being available
|
|
105
|
-
|
|
106
|
-
### 1.2.2 (2023-02-25)
|
|
107
|
-
* [fix] set BRANCH and CI_COMMIT_REF_NAME env variables in container
|
|
108
|
-
* [fix] installed git-branch to fetch the current branch for deployment targets
|
|
109
|
-
* [refactor] moved global node module symlinking to alpine image for future use
|
|
110
|
-
|
|
111
|
-
### 1.2.1 (2023-02-25)
|
|
112
|
-
* [fix] install eb cli into root of image rather than root user directory
|
|
113
|
-
* [perf] dont recurse and dont change group of node_modules to speed up command
|
|
114
|
-
* [refactor] set node git flag without switching user directly in dockerfile
|
|
115
|
-
|
|
116
|
-
### 1.1.4 (2023-02-23)
|
|
117
|
-
* [Fix] Installed missing are-you-es5 global npm module
|
|
118
|
-
* [Fix] Installed missing check-dependencies global npm module
|
|
119
|
-
|
|
120
|
-
### 1.1.3 (2023-02-23)
|
|
121
|
-
* [Fix] Switch to ENV for $PATH updates to avoid shell profile loading issues
|
|
122
|
-
* [Fix] Moved chromium to alpine image as its needed for svg tasks and testing
|
|
123
|
-
|
|
124
|
-
### 1.1.2 (2023-02-22)
|
|
125
|
-
* [Fix] cd into $PWD after su command or we'll start in users home directory
|
|
126
|
-
|
|
127
|
-
### 1.1.1 (2023-02-22)
|
|
128
|
-
* [Fix] Use -l login flag for su command for both non interactive and interactive shells
|
|
129
|
-
* [Fix] Switch $PATH writes to .profile so they are executed on non interactive shells
|
|
130
|
-
|
|
131
|
-
### 1.1.0 (2023-02-22)
|
|
132
|
-
* [Feature] Watertight now baked into image so not needed in package.json of projects
|
|
133
|
-
* [Fix] lftp installed in alpine image as it's needed for content tasks
|
|
134
|
-
|
|
135
|
-
### 1.0.0 (2023-02-21)
|
|
136
|
-
* [Misc] initial commit
|
package/core/1/Dockerfile
DELETED
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
#####
|
|
2
|
-
# Alpine image
|
|
3
|
-
#####
|
|
4
|
-
|
|
5
|
-
FROM node:22 AS alpine
|
|
6
|
-
|
|
7
|
-
LABEL org.opencontainers.image.authors="Mike Mellor <mike.mellor@avalerehealth.com>"
|
|
8
|
-
|
|
9
|
-
ARG TARGETARCH
|
|
10
|
-
|
|
11
|
-
WORKDIR /app
|
|
12
|
-
|
|
13
|
-
EXPOSE 3000
|
|
14
|
-
EXPOSE 3001
|
|
15
|
-
|
|
16
|
-
# Get latest apt-get
|
|
17
|
-
RUN apt-get update
|
|
18
|
-
|
|
19
|
-
# Update npm to latest
|
|
20
|
-
RUN npm install -g npm@latest
|
|
21
|
-
|
|
22
|
-
# Install dart sass vm (arch switch)
|
|
23
|
-
RUN curl -L -o /sass.tar.gz https://github.com/sass/dart-sass/releases/download/1.57.1/dart-sass-1.57.1-linux-$(if [ "$TARGETARCH" = "arm64" ]; then echo 'arm64'; else echo 'x64'; fi).tar.gz
|
|
24
|
-
RUN tar -xf /sass.tar.gz -C /
|
|
25
|
-
ENV PATH="${PATH}:/dart-sass/"
|
|
26
|
-
RUN rm -rf /sass.tar.gz
|
|
27
|
-
|
|
28
|
-
# Set safe directory to remove intel errors when running git rev-parse
|
|
29
|
-
RUN su node -c "git config --global --add safe.directory /app"
|
|
30
|
-
|
|
31
|
-
# Also set global git flag for allowing access across filesystems for mounted node_modules dir
|
|
32
|
-
ENV GIT_DISCOVERY_ACROSS_FILESYSTEM=1
|
|
33
|
-
|
|
34
|
-
# Disable npm message about updates being available
|
|
35
|
-
RUN su node -c "npm config set update-notifier false"
|
|
36
|
-
|
|
37
|
-
# Add node user to www-data group
|
|
38
|
-
RUN usermod -a -G www-data node
|
|
39
|
-
|
|
40
|
-
# Install lftp
|
|
41
|
-
RUN apt-get install -y lftp
|
|
42
|
-
|
|
43
|
-
# Install chromium
|
|
44
|
-
RUN apt-get install -y chromium fonts-ipafont-gothic fonts-wqy-zenhei fonts-thai-tlwg fonts-kacst fonts-freefont-ttf libxss1 --no-install-recommends
|
|
45
|
-
# Stop Puppeteer downloading browsers during npm install
|
|
46
|
-
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
|
|
47
|
-
ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium
|
|
48
|
-
|
|
49
|
-
# Install package.json checker
|
|
50
|
-
RUN npm install check-dependencies -g
|
|
51
|
-
|
|
52
|
-
# Install node_modules checker
|
|
53
|
-
RUN npm install are-you-es5 -g
|
|
54
|
-
|
|
55
|
-
# Install git branch fetcher
|
|
56
|
-
RUN npm install git-branch -g
|
|
57
|
-
|
|
58
|
-
# Link root global node_modules to ~/.node_modules
|
|
59
|
-
RUN ln -s /usr/local/lib/node_modules/ /home/node/.node_modules
|
|
60
|
-
|
|
61
|
-
# Install rclone
|
|
62
|
-
RUN curl https://rclone.org/install.sh | bash
|
|
63
|
-
|
|
64
|
-
# Cleanup apt-get install folders
|
|
65
|
-
RUN apt-get clean && \
|
|
66
|
-
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
|
67
|
-
|
|
68
|
-
COPY entrypoint.sh /bin/entrypoint.sh
|
|
69
|
-
RUN chmod +x /bin/entrypoint.sh
|
|
70
|
-
ENTRYPOINT ["/bin/entrypoint.sh"]
|
|
71
|
-
|
|
72
|
-
#####
|
|
73
|
-
# Full image
|
|
74
|
-
#####
|
|
75
|
-
|
|
76
|
-
FROM alpine AS full
|
|
77
|
-
|
|
78
|
-
# Get latest apt-get
|
|
79
|
-
RUN apt-get update
|
|
80
|
-
|
|
81
|
-
# Install ghostscript
|
|
82
|
-
RUN apt-get install -y ghostscript
|
|
83
|
-
|
|
84
|
-
# Install zip
|
|
85
|
-
RUN apt-get install zip
|
|
86
|
-
|
|
87
|
-
# Install AWS Elastic Beanstalk cli
|
|
88
|
-
ENV PATH="${PATH}:/.ebcli-virtual-env/executables"
|
|
89
|
-
RUN apt-get -y install python-is-python3 python3-pip && \
|
|
90
|
-
pip install virtualenv --break-system-packages && \
|
|
91
|
-
git clone https://github.com/aws/aws-elastic-beanstalk-cli-setup.git ~/aws-eb && \
|
|
92
|
-
python ~/aws-eb/scripts/ebcli_installer.py --location / && \
|
|
93
|
-
rm -rf ~/aws-eb
|
|
94
|
-
|
|
95
|
-
# Install AWS-CLI@2 (arch switch)
|
|
96
|
-
RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-$(if [ "$TARGETARCH" = "arm64" ]; then echo 'aarch64'; else echo 'x86_64'; fi).zip" -o "awscliv2.zip"
|
|
97
|
-
RUN unzip awscliv2.zip
|
|
98
|
-
RUN ./aws/install
|
|
99
|
-
RUN rm -rf ./aws && rm -rf awscliv2.zip
|
|
100
|
-
|
|
101
|
-
# Update electron globally
|
|
102
|
-
RUN npm install -g electron-packager@latest
|
|
103
|
-
|
|
104
|
-
# Install wine64
|
|
105
|
-
RUN apt-get install -y wine64 && \
|
|
106
|
-
ln -s /usr/bin/wine /usr/bin/wine64
|
|
107
|
-
|
|
108
|
-
# Install watertight
|
|
109
|
-
RUN --mount=type=ssh npm install -g git+ssh://git@bitbucket.org/fishawackdigital/watertight-node-auto.git#v6.0.0
|
|
110
|
-
|
|
111
|
-
# Cleanup apt-get install folders
|
|
112
|
-
RUN apt-get clean && \
|
|
113
|
-
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
package/core/1/README.md
DELETED
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
definitions:
|
|
2
|
-
services:
|
|
3
|
-
docker:
|
|
4
|
-
image: docker:dind
|
|
5
|
-
memory: 12288
|
|
6
|
-
|
|
7
|
-
pipelines:
|
|
8
|
-
branches:
|
|
9
|
-
master:
|
|
10
|
-
- step:
|
|
11
|
-
image: fishawack/aws-runner
|
|
12
|
-
runs-on:
|
|
13
|
-
- self.hosted
|
|
14
|
-
- linux
|
|
15
|
-
- production
|
|
16
|
-
size: 4x
|
|
17
|
-
script:
|
|
18
|
-
# Install release deps
|
|
19
|
-
- npm install -g semantic-release@24 @semantic-release/changelog@6 @semantic-release/git@10 conventional-changelog-conventionalcommits@8
|
|
20
|
-
# Release version via node so can exit out when no release made
|
|
21
|
-
- |
|
|
22
|
-
node -e "const spawn = require('child_process').spawn('semantic-release', ['--repositoryUrl', 'https://$GIT_CREDENTIALS@bitbucket.org/$BITBUCKET_REPO_FULL_NAME'], { env: { ...process.env, FORCE_COLOR: true } }); spawn.stderr.on('data', d => process.stderr.write(d.toString())); spawn.stdout.on('data', d => {process.stdout.write(d.toString()); if(d.toString().includes('There are no relevant changes, so no new version is released.') || d.toString().includes('therefore a new version won\'t be published.')){process.exit(1);}})" || exit 0
|
|
23
|
-
# Copy ssh keys so physical files exist for agent to use
|
|
24
|
-
- cp /build/*/ssh/* ~/.ssh/
|
|
25
|
-
# Start ssh agent and add all (if any) keys
|
|
26
|
-
- eval `ssh-agent` && ssh-add || true
|
|
27
|
-
# Publish docker image
|
|
28
|
-
- docker login $DOCKER_CREDENTIALS && docker buildx create --use && npm run image
|
|
29
|
-
# Sync beta after publish
|
|
30
|
-
- git config --global user.email "digital@fishawack.com"
|
|
31
|
-
- git config --global user.name "Digital Fishawack"
|
|
32
|
-
- git fetch origin "+refs/heads/*:refs/remotes/origin/*" && git checkout beta && git merge master && git push origin beta
|
|
33
|
-
# Commit and create pull request for new version on lab-env repo
|
|
34
|
-
- git clone https://$GIT_CREDENTIALS@bitbucket.org/fishawackdigital/lab-env
|
|
35
|
-
- cd lab-env
|
|
36
|
-
- git checkout -b "$BITBUCKET_REPO_SLUG-$BITBUCKET_COMMIT" origin/beta
|
|
37
|
-
- git submodule init
|
|
38
|
-
- git submodule update
|
|
39
|
-
- git submodule update --remote --merge core/1
|
|
40
|
-
- git add .
|
|
41
|
-
- |
|
|
42
|
-
git commit --allow-empty -m "build(core/1): Bumped $BITBUCKET_REPO_SLUG"
|
|
43
|
-
- git push origin "$BITBUCKET_REPO_SLUG-$BITBUCKET_COMMIT"
|
|
44
|
-
- |
|
|
45
|
-
curl https://api.bitbucket.org/2.0/repositories/fishawackdigital/lab-env/pullrequests \
|
|
46
|
-
-u $GIT_CREDENTIALS \
|
|
47
|
-
--header 'Content-Type: application/json' \
|
|
48
|
-
--data "{
|
|
49
|
-
\"title\": \"Bumped $BITBUCKET_REPO_SLUG\",
|
|
50
|
-
\"destination\": {
|
|
51
|
-
\"branch\": {
|
|
52
|
-
\"name\": \"beta\"
|
|
53
|
-
}
|
|
54
|
-
},
|
|
55
|
-
\"source\": {
|
|
56
|
-
\"branch\": {
|
|
57
|
-
\"name\": \"$BITBUCKET_REPO_SLUG-$BITBUCKET_COMMIT\"
|
|
58
|
-
}
|
|
59
|
-
},
|
|
60
|
-
\"reviewers\": [
|
|
61
|
-
{
|
|
62
|
-
\"uuid\": \"{2518e4c3-fc1d-4653-b355-c00be099ce6c}\"
|
|
63
|
-
}
|
|
64
|
-
],
|
|
65
|
-
\"close_source_branch\": true
|
|
66
|
-
}"
|
|
67
|
-
services:
|
|
68
|
-
- docker
|
|
69
|
-
beta:
|
|
70
|
-
- step:
|
|
71
|
-
image: fishawack/aws-runner
|
|
72
|
-
runs-on:
|
|
73
|
-
- self.hosted
|
|
74
|
-
- linux
|
|
75
|
-
- production
|
|
76
|
-
size: 4x
|
|
77
|
-
script:
|
|
78
|
-
# Install deps
|
|
79
|
-
- npm install -g semantic-release@24 @semantic-release/changelog@6 @semantic-release/git@10 conventional-changelog-conventionalcommits@8
|
|
80
|
-
# Release version via node so can exit out when no release made
|
|
81
|
-
- |
|
|
82
|
-
node -e "const spawn = require('child_process').spawn('semantic-release', ['--repositoryUrl', 'https://$GIT_CREDENTIALS@bitbucket.org/$BITBUCKET_REPO_FULL_NAME'], { env: { ...process.env, FORCE_COLOR: true } }); spawn.stderr.on('data', d => process.stderr.write(d.toString())); spawn.stdout.on('data', d => {process.stdout.write(d.toString()); if(d.toString().includes('There are no relevant changes, so no new version is released.') || d.toString().includes('therefore a new version won\'t be published.')){process.exit(1);}})" || exit 0
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
services:
|
|
2
|
-
core:
|
|
3
|
-
build:
|
|
4
|
-
context: $FW_CORE_1_CONTEXT
|
|
5
|
-
target: $FW_CORE_1_TARGET
|
|
6
|
-
ssh:
|
|
7
|
-
- default
|
|
8
|
-
args:
|
|
9
|
-
target: $FW_CORE_1_TARGET
|
|
10
|
-
target_image: $FW_CORE_1_TARGET_IMAGE
|
|
11
|
-
image: $FW_CORE_1_IMAGE:${FW_CORE_1_VERSION:-latest}
|
|
12
|
-
init: true
|
|
13
|
-
tty: true
|
|
14
|
-
volumes:
|
|
15
|
-
- $CWD/:/app
|
|
16
|
-
- $FW_DIR/targets:/home/node/targets
|
|
17
|
-
- $FW_DIR/.ssh:/home/node/.ssh
|
|
18
|
-
- $FW_DIR/.aws:/home/node/.aws
|
|
19
|
-
- node_modules:/app/node_modules
|
|
20
|
-
ports:
|
|
21
|
-
- ${PORT:-3000}:${PORT:-3000}
|
|
22
|
-
- ${PORT_OPT:-3001}:${PORT_OPT:-3001}
|
|
23
|
-
environment:
|
|
24
|
-
- REPO=${REPO:-}
|
|
25
|
-
- PORT=${PORT:-3000}
|
|
26
|
-
- PORT_OPT=${PORT_OPT:-3001}
|
|
27
|
-
- PORT_WEB=${PORT_WEB:-8000}
|
|
28
|
-
- PORT_DB=${PORT_DB:-3306}
|
|
29
|
-
- USER_UID=${USER_UID:-0}
|
|
30
|
-
- USER_GID=${USER_GID:-0}
|
|
31
|
-
- FW_ROOT=${FW_ROOT:-}
|
|
32
|
-
- BRANCH=${BRANCH:-}
|
|
33
|
-
- CI_COMMIT_REF_NAME=${CI_COMMIT_REF_NAME:-}
|
|
34
|
-
- REMOTE_BROWSERS=${REMOTE_BROWSERS:-chrome}
|
|
35
|
-
volumes:
|
|
36
|
-
node_modules:
|
|
37
|
-
driver: "local"
|
package/core/1/entrypoint.sh
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
|
|
3
|
-
# Setting $FW_ROOT will bypass the user switch to node
|
|
4
|
-
if [ -z "$FW_ROOT" ]; then
|
|
5
|
-
# Set node user id to match host users id so no permission issues outside of docker
|
|
6
|
-
usermod -u $USER_UID node &>/dev/null
|
|
7
|
-
|
|
8
|
-
# Own the node_modules folder otherwise it'll be owned by root/previous node id which will prevent writing
|
|
9
|
-
chown node /app/node_modules
|
|
10
|
-
|
|
11
|
-
# Own the global node_modules folder otherwise it'll be owned by root/previous node id which will prevent writing
|
|
12
|
-
chown node /usr/local/lib/node_modules
|
|
13
|
-
|
|
14
|
-
# Default arguments will always be bash -l, if nothing follows this just start an non login interactive shell
|
|
15
|
-
if [ -z "${@:3}" ]; then
|
|
16
|
-
exec su node
|
|
17
|
-
# Otherwise pipe the command after the bash -lc into the non login non interactive shell as a command to exec
|
|
18
|
-
else
|
|
19
|
-
exec su node -c "${@:3}"
|
|
20
|
-
fi
|
|
21
|
-
else
|
|
22
|
-
echo "Accessing as root"
|
|
23
|
-
exec "$@"
|
|
24
|
-
fi
|
package/core/1/package.json
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "core",
|
|
3
|
-
"version": "1.8.0",
|
|
4
|
-
"description": "lab-env docker config for the @fishawack/core/1 npm module",
|
|
5
|
-
"scripts": {
|
|
6
|
-
"setup": "ln -sfn ../../.commitlintrc.json .commitlintrc.json && ln -sfn ../../.editorconfig .editorconfig && ln -sfn ../../.prettierignore .prettierignore && ln -sfn ../../.husky/ .husky && husky &>/dev/null || true",
|
|
7
|
-
"image": "docker buildx build --ssh default --platform linux/amd64,linux/arm64 -t fishawack/lab-env-core-1:$npm_package_version -t fishawack/lab-env-core-1:latest --push . && docker buildx build --ssh default --target alpine --platform linux/amd64,linux/arm64 -t fishawack/lab-env-core-1-alpine:$npm_package_version -t fishawack/lab-env-core-1-alpine:latest --push ."
|
|
8
|
-
},
|
|
9
|
-
"author": "Mike Mellor",
|
|
10
|
-
"license": "ISC",
|
|
11
|
-
"release": {
|
|
12
|
-
"plugins": [
|
|
13
|
-
[
|
|
14
|
-
"@semantic-release/commit-analyzer",
|
|
15
|
-
{
|
|
16
|
-
"preset": "conventionalcommits"
|
|
17
|
-
}
|
|
18
|
-
],
|
|
19
|
-
[
|
|
20
|
-
"@semantic-release/release-notes-generator",
|
|
21
|
-
{
|
|
22
|
-
"preset": "conventionalcommits",
|
|
23
|
-
"writerOpts": {
|
|
24
|
-
"headerPartial": "### {{version}} ({{date}})\n",
|
|
25
|
-
"mainTemplate": "{{> header}}\n{{#each commitGroups}}\n\n{{#if title}}\n#### {{title}}\n\n{{/if}}\n{{#each commits}}\n{{> commit root=@root}}\n{{/each}}\n{{/each}}"
|
|
26
|
-
},
|
|
27
|
-
"presetConfig": {
|
|
28
|
-
"commitUrlFormat": "{{host}}/{{owner}}/{{repository}}/commits/{{hash}}"
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
],
|
|
32
|
-
[
|
|
33
|
-
"@semantic-release/changelog",
|
|
34
|
-
{
|
|
35
|
-
"changelogTitle": "## Changelog"
|
|
36
|
-
}
|
|
37
|
-
],
|
|
38
|
-
[
|
|
39
|
-
"@semantic-release/npm",
|
|
40
|
-
{
|
|
41
|
-
"npmPublish": false
|
|
42
|
-
}
|
|
43
|
-
],
|
|
44
|
-
"@semantic-release/git"
|
|
45
|
-
]
|
|
46
|
-
}
|
|
47
|
-
}
|