Skip to content

Commit 67f80ad

Browse files
committed
Merge with master
2 parents 5facc71 + e219b4a commit 67f80ad

26 files changed

+5064
-3
lines changed

.github/workflows/lambda-syncer.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: Lambda Runner Distribution Syncer
2+
on:
3+
push:
4+
branches:
5+
- master
6+
pull_request:
7+
paths:
8+
- .github/workflows/lambda-agent-webhook.yml
9+
- "modules/action-runner-binary-cache/lambdas/syncer/**"
10+
11+
jobs:
12+
build:
13+
runs-on: ubuntu-latest
14+
container: node:12
15+
defaults:
16+
run:
17+
working-directory: modules/action-runner-binary-cache/lambdas/syncer
18+
19+
steps:
20+
- uses: actions/checkout@v2
21+
- name: Install dependencies
22+
run: yarn install
23+
- name: Run linter
24+
run: yarn lint
25+
- name: Build distribution
26+
run: yarn build

.github/workflows/terraform.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ jobs:
2222
run: |
2323
touch modules/agent/lambdas/webhook/webhook.zip
2424
touch modules/runners/lambdas/scale-runners/scale-runners.zip
25+
touch modules/action-runner-binary-cache/lambdas/syncer/syncer.zip
2526
- name: "Terraform Format"
2627
uses: hashicorp/terraform-github-actions@master
2728
with:

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,6 @@
1313
*.out
1414
example/*.secrets*.tfvars
1515
.envrc
16+
*.zip
17+
*.gz
18+
*.tgz

docs/architecture.drawio

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<mxfile host="Electron" modified="2020-04-30T12:17:18.456Z" agent="5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/13.0.1 Chrome/80.0.3987.163 Electron/8.2.1 Safari/537.36" etag="9ghISsadq6Y1mu9wezsm" version="13.0.1" type="device"><diagram id="L_F16tsUUGYpfsHa_sY0" name="Page-1">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</diagram></mxfile>

examples/default/main.tf

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
11
locals {
2-
environment = "default-action-runners"
2+
environment = "default"
33
aws_region = "eu-west-1"
44
}
55

6+
7+
resource "random_password" "random" {
8+
length = 32
9+
}
10+
11+
612
module "runners" {
713
source = "../../"
814

@@ -14,5 +20,8 @@ module "runners" {
1420
Project = "ProjectX"
1521
}
1622

23+
github_app_webhook_secret = random_password.random.result
24+
1725
}
1826

27+

examples/default/outputs.tf

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,13 @@ output "action_runners" {
33
runners = module.runners.runners
44
}
55
}
6+
7+
8+
output "lambda_syncer_function_name" {
9+
value = module.runners.lambda_s3_action_runner_dist_syncer.id
10+
}
11+
12+
13+
output "github_app_webhook_secret" {
14+
value = random_password.random.result
15+
}

main.tf

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
locals {
2+
tags = merge(var.tags, {
3+
Environment = var.environment
4+
})
5+
6+
}
17
resource "random_string" "random" {
28
length = 24
39
special = false
@@ -9,7 +15,7 @@ module "dsitrubtion_cache" {
915

1016
aws_region = var.aws_region
1117
environment = var.environment
12-
tags = var.tags
18+
tags = local.tags
1319

1420
distribution_bucket_name = "${var.environment}-dist-${random_string.random.result}"
1521
}
@@ -20,7 +26,7 @@ module "runners" {
2026
aws_region = var.aws_region
2127
vpc_id = var.vpc_id
2228
environment = var.environment
23-
tags = var.tags
29+
tags = local.tags
2430

2531
s3_location_runner_distribution = module.dsitrubtion_cache.s3_location_runner_distribution
2632
sqs = module.agent.sqs
@@ -36,6 +42,17 @@ module "agent" {
3642
}
3743

3844

45+
module "agent" {
46+
source = "./modules/agent"
47+
48+
aws_region = var.aws_region
49+
environment = var.environment
50+
tags = local.tags
51+
52+
github_app_webhook_secret = var.github_app_webhook_secret
53+
}
54+
55+
3956
resource "aws_iam_policy" "dist_bucket" {
4057
name = "${var.environment}-gh-distribution-bucket"
4158
path = "/"
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
module.exports = {
2+
root: true,
3+
parser: '@typescript-eslint/parser',
4+
plugins: ['@typescript-eslint'],
5+
extends: [
6+
'eslint:recommended',
7+
'plugin:@typescript-eslint/eslint-recommended',
8+
'plugin:@typescript-eslint/recommended',
9+
],
10+
};
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# dependencies
2+
node_modules/
3+
4+
# production
5+
dist/
6+
build/
7+
8+
# misc
9+
.DS_Store
10+
.env*
11+
*.zip
12+
13+
npm-debug.log*
14+
yarn-debug.log*
15+
yarn-error.log*
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
v12.16.1

0 commit comments

Comments
 (0)