Skip to content

Merge pull request #21 from CoreyLeath-code/feat/aws-lambda-snowflake… #3

Merge pull request #21 from CoreyLeath-code/feat/aws-lambda-snowflake…

Merge pull request #21 from CoreyLeath-code/feat/aws-lambda-snowflake… #3

name: AWS Lambda + Snowflake Validation
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
contract-tests:
name: Serverless and warehouse contracts
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
cache: pip
- name: Install validation dependencies
run: |
python -m pip install --upgrade pip
pip install 'boto3>=1.34,<2' 'pytest>=8,<10' 'ruff>=0.9,<1'
- name: Lint integration code
run: >-
ruff check
app/core/feedback_sink.py
serverless/feedback_ingestion
scripts/validate_aws_snowflake_assets.py
tests/test_aws_snowflake_feedback.py
- name: Run credential-free integration contracts
run: pytest -q tests/test_aws_snowflake_feedback.py
- name: Validate AWS and Snowflake assets
run: python scripts/validate_aws_snowflake_assets.py
terraform-validation:
name: Terraform static validation
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Terraform
uses: hashicorp/setup-terraform@v3
with:
terraform_version: '1.9.8'
- name: Check Terraform formatting
run: terraform fmt -check -diff -recursive infra/aws
- name: Initialize providers without backend
run: terraform -chdir=infra/aws init -backend=false
- name: Validate Terraform
run: terraform -chdir=infra/aws validate