Add hello lambda CFT and Forgejo workflow
Some checks failed
Deploy Hello Lambda CFT / deploy (push) Failing after 8s

This commit is contained in:
Vijaya Krishna Manne 2026-05-29 13:49:50 -04:00
commit 11a6fe0130
3 changed files with 90 additions and 0 deletions

View file

@ -0,0 +1,50 @@
name: Deploy Hello Lambda CFT
on:
workflow_dispatch:
push:
branches: [ main ]
jobs:
deploy:
runs-on: nas-safe
steps:
- uses: actions/checkout@v4
- name: Ensure AWS CLI
run: |
if ! command -v aws >/dev/null 2>&1; then
if command -v apk >/dev/null 2>&1; then
apk add --no-cache aws-cli
elif command -v apt-get >/dev/null 2>&1; then
apt-get update && apt-get install -y awscli
else
echo "No supported package manager found for awscli install"
exit 1
fi
fi
aws --version
- name: Verify AWS identity
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: ${{ secrets.AWS_REGION }}
run: aws sts get-caller-identity
- name: Validate CFT
env:
AWS_DEFAULT_REGION: ${{ secrets.AWS_REGION }}
run: |
aws cloudformation validate-template \
--template-body file://infra/hello-lambda.yml
- name: Deploy CFT
env:
AWS_DEFAULT_REGION: ${{ secrets.AWS_REGION }}
run: |
aws cloudformation deploy \
--stack-name hello-lambda-stack \
--template-file infra/hello-lambda.yml \
--capabilities CAPABILITY_NAMED_IAM

3
README.md Normal file
View file

@ -0,0 +1,3 @@
# Hello World Lambda via CloudFormation
This repo deploys a simple Lambda using Forgejo Actions.

37
infra/hello-lambda.yml Normal file
View file

@ -0,0 +1,37 @@
AWSTemplateFormatVersion: '2010-09-09'
Description: Hello World Lambda via CloudFormation
Resources:
HelloLambdaRole:
Type: AWS::IAM::Role
Properties:
RoleName: hello-world-lambda-role-cft
AssumeRolePolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Principal:
Service: lambda.amazonaws.com
Action: sts:AssumeRole
ManagedPolicyArns:
- arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
HelloLambdaFunction:
Type: AWS::Lambda::Function
Properties:
FunctionName: hello-world-lambda-cft
Runtime: python3.12
Handler: index.lambda_handler
Role: !GetAtt HelloLambdaRole.Arn
Timeout: 10
Code:
ZipFile: |
def lambda_handler(event, context):
return {
"statusCode": 200,
"body": "Hello from Lambda via CloudFormation!"
}
Outputs:
LambdaName:
Value: !Ref HelloLambdaFunction