Skip to content

Commit 1e1f85c

Browse files
upload artifacts to s3 for reuse
1 parent 897f5d7 commit 1e1f85c

File tree

3 files changed

+31
-1
lines changed

3 files changed

+31
-1
lines changed

.github/workflows/cicd-3-test-deploy.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,19 @@ jobs:
103103
make terraform env=$ENVIRONMENT stack=api-layer tf-command=apply workspace=$WORKSPACE
104104
working-directory: ./infrastructure
105105

106+
- name: "Extract S3 bucket name from Terraform output"
107+
id: tf_output
108+
run: |
109+
BUCKET=$(terraform output -raw lambda_artifact_bucket)
110+
echo "bucket_name=$BUCKET" >> $GITHUB_OUTPUT
111+
working-directory: ./infrastructure/stacks/api-layer
112+
113+
- name: "Upload lambda artifact to S3"
114+
run: |
115+
aws s3 cp ./build/lambda.zip \
116+
s3://${{ steps.tf_output.outputs.bucket_name }}/artifacts/${{ needs.metadata.outputs.version }}/lambda.zip \
117+
--region eu-west-2
118+
106119
regression-tests:
107120
name: "Regression Tests"
108121
needs: deploy

infrastructure/stacks/api-layer/s3_buckets.tf

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,16 @@ module "s3_firehose_backup_bucket" {
2525
stack_name = local.stack_name
2626
workspace = terraform.workspace
2727
}
28+
29+
module "s3_lambda_artifact_bucket" {
30+
source = "../../modules/s3"
31+
bucket_name = "eli-artifacts"
32+
environment = var.environment
33+
project_name = var.project_name
34+
stack_name = local.stack_name
35+
workspace = terraform.workspace
36+
}
37+
38+
output "lambda_artifact_bucket" {
39+
value = module.s3_lambda_artifact_bucket.storage_bucket_name
40+
}

infrastructure/stacks/iams-developer-roles/github_actions_policies.tf

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,11 @@ resource "aws_iam_policy" "s3_management" {
195195
"arn:aws:s3:::*eligibility-signposting-api-${var.environment}-eli-splunk",
196196
"arn:aws:s3:::*eligibility-signposting-api-${var.environment}-eli-splunk/*",
197197
"arn:aws:s3:::*eligibility-signposting-api-${var.environment}-eli-splunk-access-logs",
198-
"arn:aws:s3:::*eligibility-signposting-api-${var.environment}-eli-splunk-access-logs/*"
198+
"arn:aws:s3:::*eligibility-signposting-api-${var.environment}-eli-splunk-access-logs/*",
199+
"arn:aws:s3:::*eligibility-signposting-api-${var.environment}-eli-artifacts",
200+
"arn:aws:s3:::*eligibility-signposting-api-${var.environment}-eli-artifacts/*",
201+
"arn:aws:s3:::*eligibility-signposting-api-${var.environment}-eli-artifacts-access-logs",
202+
"arn:aws:s3:::*eligibility-signposting-api-${var.environment}-eli-artifacts-access-logs/*",
199203
]
200204
}
201205
]

0 commit comments

Comments
 (0)