mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
smoke tests
This commit is contained in:
parent
c98fc8452f
commit
572fcc1406
2 changed files with 170 additions and 0 deletions
63
.github/workflows/_smoke_test_lambda.yml
vendored
Normal file
63
.github/workflows/_smoke_test_lambda.yml
vendored
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
name: Lambda smoke test
|
||||
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
dockerfile_path:
|
||||
required: true
|
||||
type: string
|
||||
build_context:
|
||||
required: false
|
||||
default: "."
|
||||
type: string
|
||||
service_name:
|
||||
required: true
|
||||
type: string
|
||||
|
||||
jobs:
|
||||
smoke-test:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Build Lambda image
|
||||
run: |
|
||||
docker build \
|
||||
--platform linux/amd64 \
|
||||
-f ${{ inputs.dockerfile_path }} \
|
||||
-t ${{ inputs.service_name }}-smoke-test:latest \
|
||||
${{ inputs.build_context }}
|
||||
|
||||
- name: Start Lambda container
|
||||
run: |
|
||||
docker run -d --name ${{ inputs.service_name }}-smoke-test \
|
||||
-p 9000:8080 \
|
||||
${{ inputs.service_name }}-smoke-test:latest
|
||||
|
||||
- name: Invoke Lambda and check for import errors
|
||||
run: |
|
||||
sleep 2
|
||||
response=$(curl -s -X POST \
|
||||
http://localhost:9000/2015-03-31/functions/function/invocations \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"Records":[{"body":"{}"}]}')
|
||||
|
||||
echo "Response: $response"
|
||||
|
||||
if [ -z "$response" ]; then
|
||||
echo "No response from Lambda RIE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if echo "$response" | grep -qE 'ImportModuleError|ModuleNotFoundError|ImportError'; then
|
||||
echo "Import error detected in handler"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
- name: Dump container logs
|
||||
if: always()
|
||||
run: docker logs ${{ inputs.service_name }}-smoke-test
|
||||
|
||||
- name: Tear down container
|
||||
if: always()
|
||||
run: docker rm -f ${{ inputs.service_name }}-smoke-test
|
||||
107
.github/workflows/lambda_smoke_tests.yml
vendored
Normal file
107
.github/workflows/lambda_smoke_tests.yml
vendored
Normal file
|
|
@ -0,0 +1,107 @@
|
|||
name: Lambda Smoke Tests
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
# ============================================================
|
||||
# Ara Engine
|
||||
# ============================================================
|
||||
ara_engine_smoke_test:
|
||||
uses: ./.github/workflows/_smoke_test_lambda.yml
|
||||
with:
|
||||
dockerfile_path: backend/docker/engine.Dockerfile
|
||||
build_context: .
|
||||
service_name: ara-engine
|
||||
|
||||
# ============================================================
|
||||
# Address 2 UPRN
|
||||
# ============================================================
|
||||
address2uprn_smoke_test:
|
||||
uses: ./.github/workflows/_smoke_test_lambda.yml
|
||||
with:
|
||||
dockerfile_path: backend/address2UPRN/handler/Dockerfile
|
||||
build_context: .
|
||||
service_name: address2uprn
|
||||
|
||||
# ============================================================
|
||||
# Postcode Splitter
|
||||
# ============================================================
|
||||
postcode_splitter_smoke_test:
|
||||
uses: ./.github/workflows/_smoke_test_lambda.yml
|
||||
with:
|
||||
dockerfile_path: backend/postcode_splitter/handler/Dockerfile
|
||||
build_context: .
|
||||
service_name: postcode-splitter
|
||||
|
||||
# ============================================================
|
||||
# Bulk Address2UPRN Combiner
|
||||
# ============================================================
|
||||
bulk_address2uprn_combiner_smoke_test:
|
||||
uses: ./.github/workflows/_smoke_test_lambda.yml
|
||||
with:
|
||||
dockerfile_path: backend/bulk_address2uprn_combiner/handler/Dockerfile
|
||||
build_context: .
|
||||
service_name: bulk-address2uprn-combiner
|
||||
|
||||
# ============================================================
|
||||
# Condition ETL
|
||||
# ============================================================
|
||||
condition_etl_smoke_test:
|
||||
uses: ./.github/workflows/_smoke_test_lambda.yml
|
||||
with:
|
||||
dockerfile_path: backend/condition/handler/Dockerfile
|
||||
build_context: .
|
||||
service_name: condition-etl
|
||||
|
||||
# ============================================================
|
||||
# Categorisation
|
||||
# ============================================================
|
||||
categorisation_smoke_test:
|
||||
uses: ./.github/workflows/_smoke_test_lambda.yml
|
||||
with:
|
||||
dockerfile_path: backend/categorisation/handler/Dockerfile
|
||||
build_context: .
|
||||
service_name: categorisation
|
||||
|
||||
# ============================================================
|
||||
# Ordnance Survey
|
||||
# ============================================================
|
||||
ordnance_survey_smoke_test:
|
||||
uses: ./.github/workflows/_smoke_test_lambda.yml
|
||||
with:
|
||||
dockerfile_path: backend/ordnanceSurvey/handler/Dockerfile
|
||||
build_context: .
|
||||
service_name: ordnance-survey
|
||||
|
||||
# ============================================================
|
||||
# Pas Hub Fetcher
|
||||
# ============================================================
|
||||
pashub_smoke_test:
|
||||
uses: ./.github/workflows/_smoke_test_lambda.yml
|
||||
with:
|
||||
dockerfile_path: backend/pashub_fetcher/handler/Dockerfile
|
||||
build_context: .
|
||||
service_name: pashub
|
||||
|
||||
# ============================================================
|
||||
# MagicPlan
|
||||
# ============================================================
|
||||
magic_plan_smoke_test:
|
||||
uses: ./.github/workflows/_smoke_test_lambda.yml
|
||||
with:
|
||||
dockerfile_path: backend/magic_plan/handler/Dockerfile
|
||||
build_context: .
|
||||
service_name: magic-plan
|
||||
|
||||
# ============================================================
|
||||
# HubSpot Scraper
|
||||
# ============================================================
|
||||
hubspot_scraper_smoke_test:
|
||||
uses: ./.github/workflows/_smoke_test_lambda.yml
|
||||
with:
|
||||
dockerfile_path: etl/hubspot/scripts/scraper/handler/Dockerfile
|
||||
build_context: .
|
||||
service_name: hubspot-scraper
|
||||
Loading…
Add table
Reference in a new issue