7171 run : hatch run examples:build
7272
7373 - name : Deploy Lambda function - ${{ matrix.example.name }}
74+ id : deploy
7475 env :
7576 AWS_ACCOUNT_ID : ${{ secrets.AWS_ACCOUNT_ID }}
7677 LAMBDA_ENDPOINT : ${{ secrets.LAMBDA_ENDPOINT }}
@@ -88,13 +89,36 @@ jobs:
8889 echo "Deploying ${{ matrix.example.name }} as $FUNCTION_NAME"
8990 hatch run examples:deploy "${{ matrix.example.name }}" --function-name "$FUNCTION_NAME"
9091
91- # $LATEST is also a qualified version
92- QUALIFIED_FUNCTION_NAME="$FUNCTION_NAME:\ $LATEST"
92+ # $LATEST is also a qualified version - use single quotes to preserve literal string
93+ QUALIFIED_FUNCTION_NAME="${ FUNCTION_NAME}:"' $LATEST'
9394
9495 # Store both names for later steps
9596 echo "FUNCTION_NAME=$FUNCTION_NAME" >> $GITHUB_ENV
9697 echo "QUALIFIED_FUNCTION_NAME=$QUALIFIED_FUNCTION_NAME" >> $GITHUB_ENV
9798 echo "VERSION=$VERSION" >> $GITHUB_ENV
99+ echo "DEPLOYED_FUNCTION_NAME=$FUNCTION_NAME" >> $GITHUB_OUTPUT
100+ echo "QUALIFIED_FUNCTION_NAME=$QUALIFIED_FUNCTION_NAME" >> $GITHUB_OUTPUT
101+
102+ - name : Run Integration Tests - ${{ matrix.example.name }}
103+ env :
104+ AWS_REGION : ${{ env.AWS_REGION }}
105+ LAMBDA_ENDPOINT : ${{ secrets.LAMBDA_ENDPOINT }}
106+ EXAMPLE_NAME : ${{ matrix.example.name }}
107+ QUALIFIED_FUNCTION_NAME : ${{ steps.deploy.outputs.QUALIFIED_FUNCTION_NAME }}
108+ PYTEST_FUNCTION_NAME_MAP : ${{ format('{{"{0}":"{1}"}}', matrix.example.name, steps.deploy.outputs.QUALIFIED_FUNCTION_NAME) }}
109+ run : |
110+ echo "Running integration tests for ${EXAMPLE_NAME}"
111+ echo "Function name: ${{ steps.deploy.outputs.DEPLOYED_FUNCTION_NAME }}"
112+ echo "Qualified function name: ${QUALIFIED_FUNCTION_NAME}"
113+ echo "Function name map: ${PYTEST_FUNCTION_NAME_MAP}"
114+ echo "AWS Region: ${AWS_REGION}"
115+ echo "Lambda Endpoint: ${LAMBDA_ENDPOINT}"
116+
117+ # Convert example name to test name: "Hello World" -> "test_hello_world"
118+ TEST_NAME="test_$(echo "${EXAMPLE_NAME}" | tr '[:upper:]' '[:lower:]' | tr ' ' '_')"
119+ echo "Test name: ${TEST_NAME}"
120+
121+ hatch run test:examples-integration
98122
99123 - name : Invoke Lambda function - ${{ matrix.example.name }}
100124 env :
0 commit comments