Repository navigation
Make lint enforcing and run the sample tests in CI - #1
Merged
Merged
Conversation
- Set cli_binary_format for AWS CLI v2 on the runner, so raw JSON payloads in lambda invoke are not parsed as base64 - Install uv for the apigw-websockets client and Terraform for emr-serverless-python-dependencies - lambda-debugging-sam-*: build the function zip in test-ci before deploying - terraform-resources: build lambda.zip with archive_file, use python3.12, and use real trust policies for the IAM roles - glue-etl-jobs: disable SSL on the JDBC connection; the Glue job container fails the TLS handshake with the LocalStack Postgres proxy Claude-Session: https://claude.ai/code/session_01DZfDmzUBPqNAu3yFKyfCNM
- emr-serverless-python-dependencies: allow Terraform >= 1.9.1, wait for LocalStack after docker compose up, and stop polling the job after 15 minutes - Give make test-ci 30 minutes, since the first EMR Spark run is slow - glue-etl-jobs: Glue always attempts SSL to RDS first, and an aborted TLS handshake stops the LocalStack Postgres proxy for that cluster, so the non-SSL fallback is refused. Skip it in the matrix until that is fixed. Revert the sslmode change, which did not help. - glue-etl-jobs teardown: fall back to the fixed resource names when .env is missing, so a failed deploy can be cleaned up Claude-Session: https://claude.ai/code/session_01DZfDmzUBPqNAu3yFKyfCNM
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Both lint checks ended in
|| true, so they could never fail. And no workflow ran any sample's tests.Lint (
lint.yml)--severity=error, without|| true.terraform fmt -check -recursive -diff ., and the pinned version goes from 1.5.0 to 1.14.9.terraform fmt -recursive(14 files, formatting only).emr-serverless-python-dependencies/start_job.shandstop-application.sh.Tests (new
test.yml)prepare-listjob finds the samples to test.script-samplesmatrix: the samples withscripts/test.sh(10, with glue-etl-jobs skipped) runlstk start, thenscripts/deploy.sh, thenscripts/test.sh.make-samplesmatrix: the 8 samples with atest-ciMakefile target runmake test-ci.CI runner setup
cli_binary_format raw-in-base64-out. Without it, raw JSONlambda invokepayloads failed with "Invalid base64".uvfor the websocket client and Terraform for emr-serverless.Sample fixes
apigw-websockets/javascript:test.shconnected without the stage in the URL, exited before printing the failure and summary, and counted uv's install output as part of the result.handler.jsreturned the raw event. It now returns{statusCode, body}, without which LocalStack answers "Internal server error".lambda-debugging-sam-*:test-cinow builds the function zip before deploying it.terraform-resources:lambda.zipwitharchive_file, which nothing created before.emr-serverless-python-dependencies:docker compose up.glue-etl-jobs/python:deploy.shcreates the cluster with--enable-http-endpoint.teardown.shworks without.env, so a failed deploy can be cleaned up.glue-etl-jobs is skipped in CI for now. This is a LocalStack bug, not a sample bug:
SSLRequest, close the socket, and later queries to the cluster fail.Result: all 18 matrix jobs pass, including the 8
make test-cisamples.The other 26 samples have no test scripts yet; they'll come in follow-ups.
https://claude.ai/code/session_01DZfDmzUBPqNAu3yFKyfCNM