Skip to content

Commit 808db0f

Browse files
author
Scott Miller
committed
get sha256sum from github
1 parent 796aad5 commit 808db0f

File tree

2 files changed

+39
-10
lines changed

2 files changed

+39
-10
lines changed

.github/workflows/lambda_zip.yaml

Lines changed: 26 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Create a zipped lambda func for deployment
1+
name: release
22

33
on:
44
release:
@@ -16,13 +16,36 @@ jobs:
1616
- name: Build Lambda Function
1717
run: |
1818
zip lambda.zip rolling-restart.py
19+
ls
1920
20-
- name: Upload lambda to assets
21-
uses: actions/upload-release-asset@v1.0.2
21+
- name: upload artifact
22+
uses: actions/upload-artifact@v2
23+
with:
24+
name: lambda.zip
25+
path: ${{ github.workspace }}/lambda.zip
26+
if-no-files-found: error
27+
28+
- name: get checksum
29+
run: cat lambda.zip | openssl dgst -binary -sha256 | base64 > lambda.sha256sum.base64
30+
31+
- name: Upload Release Asset
32+
id: upload-release-asset
33+
uses: actions/upload-release-asset@v1
2234
env:
2335
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2436
with:
2537
upload_url: ${{ github.event.release.upload_url }}
2638
asset_path: ./lambda.zip
2739
asset_name: lambda.zip
2840
asset_content_type: application/zip
41+
42+
- name: Upload Release Asset
43+
id: upload-release-asset
44+
uses: actions/upload-release-asset@v1
45+
env:
46+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
47+
with:
48+
upload_url: ${{ github.event.release.upload_url }}
49+
asset_path: ./lambda.sha256sum.base64
50+
asset_name: lambda.sha256sum.base64
51+
asset_content_type: text/plain

main.tf

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ module "lambda_version" {
1515

1616
repo_name = local.repo_name
1717
repo_owner = local.repo_owner
18-
version_constraint = "~1.0.1-rc5"
18+
version_constraint = "~1.0.1-rc6"
1919
}
2020

2121
locals {
@@ -29,10 +29,14 @@ resource "null_resource" "lambda_zip" {
2929
}
3030

3131
provisioner "local-exec" {
32-
command = "curl -Lso ${path.module}/lambda.zip https://github.com/${local.repo_full_name}/releases/download/${local.lambda_version_tag}/lambda.zip"
32+
command = "curl -Lso lambda-${local.lambda_version}.zip https://github.com/${local.repo_full_name}/releases/download/${local.lambda_version_tag}/lambda.zip"
3333
}
3434
}
3535

36+
data "http_http" "shasum" {
37+
url = "https://github.com/${local.repo_full_name}/releases/download/${local.lambda_version_tag}/lambda.sha256sum.base64"
38+
}
39+
3640
data "aws_iam_policy_document" "lambda_assume_role_policy" {
3741
statement {
3842
actions = [
@@ -97,26 +101,28 @@ resource "aws_iam_role_policy_attachment" "lambda-execution-role-attach" {
97101

98102
resource "random_uuid" "lambda_uuid" {}
99103

100-
101104
resource "aws_lambda_function" "this" {
102-
filename = "${path.module}/lambda.zip"
105+
filename = "lambda-${local.lambda_version}.zip"
103106
function_name = "${module.tags.name32}_${substr(random_uuid.lambda_uuid.result, 0, 31)}"
104107
role = aws_iam_role.this.arn
105108
handler = "rolling-restart.handler"
106109
runtime = "python3.6"
107110
timeout = 600
108-
source_code_hash = data.archive_file.this.output_base64sha256
111+
source_code_hash = filebase64sha256("lambda-${local.lambda_version}.zip")
109112
tags = module.tags.tags
113+
110114
environment {
111115
variables = {
112116
ASG_NAME = var.asg_name
113117
LOGLEVEL = var.loglevel
114118
}
115119
}
120+
116121
lifecycle {
117122
ignore_changes = [
118-
filename,
119-
last_modified,
123+
last_modified
120124
]
121125
}
126+
127+
depends_on = [null_resource.lambda_zip]
122128
}

0 commit comments

Comments
 (0)