chore: add release smoke-test script

Draft
DI
3mo ago
+161-0

Adds scripts/smoke_test_release.sh to smoke-test a released SDK version in a clean Docker container.

  • Installs resend==<version> from PyPI (as a customer would)
  • Runs the sending-focused examples/ files against a real API key
  • Preflight checks Docker is installed and running

Usage: ./scripts/smoke_test_release.sh <version> <api_key> [example ...]


Summary by cubic

Adds scripts/smoke_test_release.sh to validate a released resend SDK in a clean Docker container. Installs resend==<version> from PyPI and runs sending examples with a real API key, with clearer failure handling.

  • New Features

    • Runs in python:3.12-slim; mounts examples/ and resources/ read-only; installs the SDK from PyPI.
    • Executes sending examples with RESEND_API_KEY; defaults: simple_email, with_attachments, with_b64_attachments, with_html_file_as_b64_attachment, with_inline_attachments, batch_email_send; prints a pass/fail summary; exits non-zero on any failure.
    • Preflight checks for Docker; supports PYTHON_IMAGE override and custom example lists. Usage: ./scripts/smoke_test_release.sh <version> <api_key> [example ...].
  • Bug Fixes

    • Wraps docker run so failed examples don’t skip the summary; captures and reports the container exit code.
    • Fails fast with a clear error if pip install resend==<version> fails, avoiding running examples without the SDK.