@cloudsnorkel/cdk-github-runners 0.5.0 → 0.5.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/.gitattributes +0 -1
- package/.jsii +77 -77
- package/API.md +0 -10
- package/README.md +48 -12
- package/lib/lambdas/aws-image-builder-versioner/index.js +81 -41
- package/lib/lambdas/delete-runner/index.js +7 -2
- package/lib/lambdas/setup/index.html +1 -1
- package/lib/lambdas/setup/index.js +7 -2
- package/lib/lambdas/status/index.js +7 -2
- package/lib/lambdas/token-retriever/index.js +7 -2
- package/lib/lambdas/update-lambda/index.js +25236 -27
- package/lib/providers/codebuild.js +7 -5
- package/lib/providers/common.js +3 -3
- package/lib/providers/docker-images/codebuild/linux-arm64/Dockerfile +5 -2
- package/lib/providers/docker-images/codebuild/linux-x64/Dockerfile +5 -2
- package/lib/providers/docker-images/fargate/linux-arm64/Dockerfile +1 -0
- package/lib/providers/docker-images/fargate/linux-x64/Dockerfile +1 -0
- package/lib/providers/docker-images/lambda/linux-arm64/Dockerfile +1 -0
- package/lib/providers/docker-images/lambda/linux-arm64/runner.js +1 -0
- package/lib/providers/docker-images/lambda/linux-arm64/runner.sh +2 -2
- package/lib/providers/docker-images/lambda/linux-x64/Dockerfile +1 -0
- package/lib/providers/docker-images/lambda/linux-x64/runner.js +1 -0
- package/lib/providers/docker-images/lambda/linux-x64/runner.sh +2 -2
- package/lib/providers/fargate.d.ts +0 -10
- package/lib/providers/fargate.js +4 -4
- package/lib/providers/image-builders/codebuild.js +4 -2
- package/lib/providers/image-builders/container.js +7 -4
- package/lib/providers/image-builders/static.js +1 -1
- package/lib/providers/lambda.js +4 -16
- package/lib/runner.js +1 -1
- package/lib/secrets.js +1 -1
- package/package.json +13 -13
package/API.md
CHANGED
|
@@ -2629,16 +2629,6 @@ Provider running an image to run inside CodeBuild with GitHub runner pre-configu
|
|
|
2629
2629
|
|
|
2630
2630
|
A user named `runner` is expected to exist.
|
|
2631
2631
|
|
|
2632
|
-
The entry point should start GitHub runner. For example:
|
|
2633
|
-
|
|
2634
|
-
```
|
|
2635
|
-
#!/bin/bash
|
|
2636
|
-
set -e -u -o pipefail
|
|
2637
|
-
|
|
2638
|
-
/home/runner/config.sh --unattended --url "https://${GITHUB_DOMAIN}/${OWNER}/${REPO}" --token "${RUNNER_TOKEN}" --ephemeral --work _work --labels "${RUNNER_LABEL}" --disableupdate --name "${RUNNER_NAME}"
|
|
2639
|
-
/home/runner/run.sh
|
|
2640
|
-
```
|
|
2641
|
-
|
|
2642
2632
|
---
|
|
2643
2633
|
|
|
2644
2634
|
##### `label`<sup>Optional</sup> <a name="label" id="@cloudsnorkel/cdk-github-runners.FargateRunnerProps.property.label"></a>
|
package/README.md
CHANGED
|
@@ -100,9 +100,9 @@ let bucket: s3.Bucket;
|
|
|
100
100
|
|
|
101
101
|
// create a custom CodeBuild provider
|
|
102
102
|
const myProvider = new CodeBuildRunner(this, 'codebuild runner', {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
103
|
+
label: 'my-codebuild',
|
|
104
|
+
vpc: vpc,
|
|
105
|
+
securityGroup: runnerSg,
|
|
106
106
|
});
|
|
107
107
|
// grant some permissions to the provider
|
|
108
108
|
bucket.grantReadWrite(myProvider);
|
|
@@ -110,7 +110,7 @@ dbSg.connections.allowFrom(runnerSg, ec2.Port.tcp(3306), 'allow runners to conne
|
|
|
110
110
|
|
|
111
111
|
// create the runner infrastructure
|
|
112
112
|
new GitHubRunners(this, 'runners', {
|
|
113
|
-
|
|
113
|
+
providers: [myProvider],
|
|
114
114
|
});
|
|
115
115
|
```
|
|
116
116
|
|
|
@@ -118,21 +118,22 @@ Another way to customize runners is by modifying the image used to spin them up.
|
|
|
118
118
|
|
|
119
119
|
```typescript
|
|
120
120
|
const myBuilder = new CodeBuildImageBuilder(this, 'image builder', {
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
121
|
+
dockerfilePath: FargateRunner.LINUX_X64_DOCKERFILE_PATH,
|
|
122
|
+
runnerVersion: RunnerVersion.specific('2.291.0'),
|
|
123
|
+
rebuildInterval: Duration.days(14),
|
|
124
124
|
});
|
|
125
125
|
myBuilder.setBuildArg('EXTRA_PACKAGES', 'nginx xz-utils');
|
|
126
126
|
|
|
127
|
-
const myProvider = new
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
127
|
+
const myProvider = new FargateRunner(this, 'fargate runner', {
|
|
128
|
+
label: 'customized-fargate',
|
|
129
|
+
vpc: vpc,
|
|
130
|
+
securityGroup: runnerSg,
|
|
131
|
+
imageBuilder: myBuilder,
|
|
131
132
|
});
|
|
132
133
|
|
|
133
134
|
// create the runner infrastructure
|
|
134
135
|
new GitHubRunners(stack, 'runners', {
|
|
135
|
-
|
|
136
|
+
providers: [myProvider],
|
|
136
137
|
});
|
|
137
138
|
```
|
|
138
139
|
|
|
@@ -148,6 +149,41 @@ jobs:
|
|
|
148
149
|
- run: echo hello world
|
|
149
150
|
```
|
|
150
151
|
|
|
152
|
+
Windows images must be built with AWS Image Builder.
|
|
153
|
+
|
|
154
|
+
```typescript
|
|
155
|
+
const myWindowsBuilder = new ContainerImageBuilder(this, 'Windows image builder', {
|
|
156
|
+
architecture: Architecture.X86_64,
|
|
157
|
+
os: Os.WINDOWS,
|
|
158
|
+
runnerVersion: RunnerVersion.specific('2.291.0'),
|
|
159
|
+
rebuildInterval: Duration.days(14),
|
|
160
|
+
});
|
|
161
|
+
myWindowsBuilder.addComponent(new ImageBuilderComponent(this, 'Ninja Component',
|
|
162
|
+
{
|
|
163
|
+
displayName: 'Ninja',
|
|
164
|
+
description: 'Download and install Ninja build system',
|
|
165
|
+
platform: 'Windows',
|
|
166
|
+
commands: [
|
|
167
|
+
'Invoke-WebRequest -UseBasicParsing -Uri "https://github.com/ninja-build/ninja/releases/download/v1.11.1/ninja-win.zip" -OutFile ninja.zip',
|
|
168
|
+
'Expand-Archive ninja.zip -DestinationPath C:\\actions',
|
|
169
|
+
'del ninja.zip',
|
|
170
|
+
],
|
|
171
|
+
}
|
|
172
|
+
));
|
|
173
|
+
|
|
174
|
+
const myProvider = new FargateRunner(this, 'fargate runner', {
|
|
175
|
+
label: 'customized-windows-fargate',
|
|
176
|
+
vpc: vpc,
|
|
177
|
+
securityGroup: runnerSg,
|
|
178
|
+
imageBuiler: myWindowsBuilder,
|
|
179
|
+
});
|
|
180
|
+
|
|
181
|
+
// create the runner infrastructure
|
|
182
|
+
new GitHubRunners(stack, 'runners', {
|
|
183
|
+
providers: [myProvider],
|
|
184
|
+
});
|
|
185
|
+
```
|
|
186
|
+
|
|
151
187
|
## Architecture
|
|
152
188
|
|
|
153
189
|

|
|
@@ -2293,51 +2293,91 @@ var require_subset = __commonJS({
|
|
|
2293
2293
|
var require_semver2 = __commonJS({
|
|
2294
2294
|
"node_modules/semver/index.js"(exports, module2) {
|
|
2295
2295
|
var internalRe = require_re();
|
|
2296
|
+
var constants = require_constants();
|
|
2297
|
+
var SemVer = require_semver();
|
|
2298
|
+
var identifiers = require_identifiers();
|
|
2299
|
+
var parse = require_parse();
|
|
2300
|
+
var valid = require_valid();
|
|
2301
|
+
var clean = require_clean();
|
|
2302
|
+
var inc2 = require_inc();
|
|
2303
|
+
var diff = require_diff();
|
|
2304
|
+
var major = require_major();
|
|
2305
|
+
var minor = require_minor();
|
|
2306
|
+
var patch = require_patch();
|
|
2307
|
+
var prerelease = require_prerelease();
|
|
2308
|
+
var compare = require_compare();
|
|
2309
|
+
var rcompare = require_rcompare();
|
|
2310
|
+
var compareLoose = require_compare_loose();
|
|
2311
|
+
var compareBuild = require_compare_build();
|
|
2312
|
+
var sort = require_sort();
|
|
2313
|
+
var rsort = require_rsort();
|
|
2314
|
+
var gt = require_gt();
|
|
2315
|
+
var lt = require_lt();
|
|
2316
|
+
var eq = require_eq();
|
|
2317
|
+
var neq = require_neq();
|
|
2318
|
+
var gte = require_gte();
|
|
2319
|
+
var lte = require_lte();
|
|
2320
|
+
var cmp = require_cmp();
|
|
2321
|
+
var coerce = require_coerce();
|
|
2322
|
+
var Comparator = require_comparator();
|
|
2323
|
+
var Range = require_range();
|
|
2324
|
+
var satisfies = require_satisfies();
|
|
2325
|
+
var toComparators = require_to_comparators();
|
|
2326
|
+
var maxSatisfying2 = require_max_satisfying();
|
|
2327
|
+
var minSatisfying = require_min_satisfying();
|
|
2328
|
+
var minVersion = require_min_version();
|
|
2329
|
+
var validRange = require_valid2();
|
|
2330
|
+
var outside = require_outside();
|
|
2331
|
+
var gtr = require_gtr();
|
|
2332
|
+
var ltr = require_ltr();
|
|
2333
|
+
var intersects = require_intersects();
|
|
2334
|
+
var simplifyRange = require_simplify();
|
|
2335
|
+
var subset = require_subset();
|
|
2296
2336
|
module2.exports = {
|
|
2337
|
+
parse,
|
|
2338
|
+
valid,
|
|
2339
|
+
clean,
|
|
2340
|
+
inc: inc2,
|
|
2341
|
+
diff,
|
|
2342
|
+
major,
|
|
2343
|
+
minor,
|
|
2344
|
+
patch,
|
|
2345
|
+
prerelease,
|
|
2346
|
+
compare,
|
|
2347
|
+
rcompare,
|
|
2348
|
+
compareLoose,
|
|
2349
|
+
compareBuild,
|
|
2350
|
+
sort,
|
|
2351
|
+
rsort,
|
|
2352
|
+
gt,
|
|
2353
|
+
lt,
|
|
2354
|
+
eq,
|
|
2355
|
+
neq,
|
|
2356
|
+
gte,
|
|
2357
|
+
lte,
|
|
2358
|
+
cmp,
|
|
2359
|
+
coerce,
|
|
2360
|
+
Comparator,
|
|
2361
|
+
Range,
|
|
2362
|
+
satisfies,
|
|
2363
|
+
toComparators,
|
|
2364
|
+
maxSatisfying: maxSatisfying2,
|
|
2365
|
+
minSatisfying,
|
|
2366
|
+
minVersion,
|
|
2367
|
+
validRange,
|
|
2368
|
+
outside,
|
|
2369
|
+
gtr,
|
|
2370
|
+
ltr,
|
|
2371
|
+
intersects,
|
|
2372
|
+
simplifyRange,
|
|
2373
|
+
subset,
|
|
2374
|
+
SemVer,
|
|
2297
2375
|
re: internalRe.re,
|
|
2298
2376
|
src: internalRe.src,
|
|
2299
2377
|
tokens: internalRe.t,
|
|
2300
|
-
SEMVER_SPEC_VERSION:
|
|
2301
|
-
|
|
2302
|
-
|
|
2303
|
-
rcompareIdentifiers: require_identifiers().rcompareIdentifiers,
|
|
2304
|
-
parse: require_parse(),
|
|
2305
|
-
valid: require_valid(),
|
|
2306
|
-
clean: require_clean(),
|
|
2307
|
-
inc: require_inc(),
|
|
2308
|
-
diff: require_diff(),
|
|
2309
|
-
major: require_major(),
|
|
2310
|
-
minor: require_minor(),
|
|
2311
|
-
patch: require_patch(),
|
|
2312
|
-
prerelease: require_prerelease(),
|
|
2313
|
-
compare: require_compare(),
|
|
2314
|
-
rcompare: require_rcompare(),
|
|
2315
|
-
compareLoose: require_compare_loose(),
|
|
2316
|
-
compareBuild: require_compare_build(),
|
|
2317
|
-
sort: require_sort(),
|
|
2318
|
-
rsort: require_rsort(),
|
|
2319
|
-
gt: require_gt(),
|
|
2320
|
-
lt: require_lt(),
|
|
2321
|
-
eq: require_eq(),
|
|
2322
|
-
neq: require_neq(),
|
|
2323
|
-
gte: require_gte(),
|
|
2324
|
-
lte: require_lte(),
|
|
2325
|
-
cmp: require_cmp(),
|
|
2326
|
-
coerce: require_coerce(),
|
|
2327
|
-
Comparator: require_comparator(),
|
|
2328
|
-
Range: require_range(),
|
|
2329
|
-
satisfies: require_satisfies(),
|
|
2330
|
-
toComparators: require_to_comparators(),
|
|
2331
|
-
maxSatisfying: require_max_satisfying(),
|
|
2332
|
-
minSatisfying: require_min_satisfying(),
|
|
2333
|
-
minVersion: require_min_version(),
|
|
2334
|
-
validRange: require_valid2(),
|
|
2335
|
-
outside: require_outside(),
|
|
2336
|
-
gtr: require_gtr(),
|
|
2337
|
-
ltr: require_ltr(),
|
|
2338
|
-
intersects: require_intersects(),
|
|
2339
|
-
simplifyRange: require_simplify(),
|
|
2340
|
-
subset: require_subset()
|
|
2378
|
+
SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,
|
|
2379
|
+
compareIdentifiers: identifiers.compareIdentifiers,
|
|
2380
|
+
rcompareIdentifiers: identifiers.rcompareIdentifiers
|
|
2341
2381
|
};
|
|
2342
2382
|
}
|
|
2343
2383
|
});
|
|
@@ -14372,7 +14372,10 @@ var require_before_after_hook = __commonJS({
|
|
|
14372
14372
|
var bind = Function.bind;
|
|
14373
14373
|
var bindable = bind.bind(bind);
|
|
14374
14374
|
function bindApi(hook, state, name) {
|
|
14375
|
-
var removeHookRef = bindable(removeHook, null).apply(
|
|
14375
|
+
var removeHookRef = bindable(removeHook, null).apply(
|
|
14376
|
+
null,
|
|
14377
|
+
name ? [state, name] : [state]
|
|
14378
|
+
);
|
|
14376
14379
|
hook.api = { remove: removeHookRef };
|
|
14377
14380
|
hook.remove = removeHookRef;
|
|
14378
14381
|
["before", "error", "after", "wrap"].forEach(function(kind) {
|
|
@@ -14400,7 +14403,9 @@ var require_before_after_hook = __commonJS({
|
|
|
14400
14403
|
var collectionHookDeprecationMessageDisplayed = false;
|
|
14401
14404
|
function Hook() {
|
|
14402
14405
|
if (!collectionHookDeprecationMessageDisplayed) {
|
|
14403
|
-
console.warn(
|
|
14406
|
+
console.warn(
|
|
14407
|
+
'[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4'
|
|
14408
|
+
);
|
|
14404
14409
|
collectionHookDeprecationMessageDisplayed = true;
|
|
14405
14410
|
}
|
|
14406
14411
|
return HookCollection();
|