Skip to content

Change env to outputs #17

Change env to outputs

Change env to outputs #17

Workflow file for this run

name : lambda-deploy
on:
push:
branches:
- dev
- qa
jobs:
check-for-change:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 2
- name: Check for changes in lambda-1
id: lambda-1
uses: yumemi-inc/path-filter@v2
with:
patterns: 'lambda-1/**'
run: |
echo "change_list=lambda-1" >> $GITHUB_OUTPUT
echo "change_flag=true" >> $GITHUB_OUTPUT
- name: Check for changes in lambda-2
id: lambda-2
uses: yumemi-inc/path-filter@v2
with:
patterns: 'lambda-2/**'
run: |
$change_list = "${change_list}|lambda-2"
echo "change_flag=true" >> $GITHUB_ENV
echo "${{ steps.lambda-2.outputs.change_list }}"
echo "${{ steps.lambda-2.outputs.change_flag }}"
lambda-deploy-all:
needs: [check-for-change]
strategy:
matrix:
label: [lambda-1, lambda-2]
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 2
- name: Configure AWS
uses: aws-actions/configure-aws-credentials@v4.0.2
with:
role-to-assume: arn:aws:iam::949263681218:role/ankit-oidc-role
aws-region: us-east-1
- name: Set stage
run: |
if [[ $GITHUB_REF == refs/heads/dev ]]; then
echo "STAGE=dev" >> $GITHUB_ENV
elif [[ $GITHUB_REF == refs/heads/qa ]]; then
echo "STAGE=qa" >> $GITHUB_ENV
fi
- name: Deploy lambda
run: |
cd ${{ matrix.label }}
zip -r lambda_zip.zip *
aws lambda update-function-code --function-name "${{ matrix.label }}-$STAGE" --zip-file fileb://./lambda_zip.zip