Skip to content

ci: build, smoke-test and deploy from GitHub Actions - #1

Merged
rainhead merged 1 commit into
mainfrom
ci
Sep 29, 2026
Merged

rainhead merged 1 commit into
mainfrom
ci

Conversation

@rainhead

Copy link
Copy Markdown
Collaborator

This repo is server/audio_viz from orcasite, split out with its history (orcasound/orcasite#1064 and #1065 are the last two commits). Until now the function was deployed by whoever ran sam deploy on their laptop, which is how production briefly ran unmerged code today.

What this adds

  • A test that rehearses Lambda. tests/smoke.py renders a synthetic AAC/MPEG-TS clip inside the built image, run as an unprivileged user with a root-owned empty /tmp and the CPU and memory of the 1024 MB tier. It fails if the first render is slow enough to mean the caches were not restored. The --user/--tmpfs flags are the ones whose absence let #1065's bug through.
  • Deploy on merge. The workflow runs the test on every pull request, and on main follows it with sam build && sam deploy under the production environment, assuming spectrogram-renderer-deploy through the account's existing GitHub OIDC provider. That role's policy covers only the audio-viz and SAM-managed stacks, the function's ECR repository, the function, and roles named audio-viz-*.
  • SAM's hello-world tests and event are removed; the sample event names a real segment and writes nothing.

Actions are pinned to the SHA of their latest release. The first merge to main will redeploy the code that is already live, which is the pipeline's own test.

Not in this PR: the contract change (presigned URLs and explicit render parameters, so the function knows nothing about S3) and deleting server/audio_viz from orcasite.

🤖 Generated with Claude Code

Every pull request builds the image and renders a synthetic MPEG-TS clip
inside it as Lambda would run it: unprivileged, root-owned empty /tmp, the
CPU and memory of the 1024 MB tier. Merging to main then runs
`sam build && sam deploy` under the production environment, assuming the
spectrogram-renderer-deploy role through GitHub's OIDC provider, so a
deploy is a merge rather than a laptop.

SAM's hello-world tests and event go; the sample event now names a real
segment and writes nothing.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@rainhead
rainhead merged commit 049fb01 into main Sep 29, 2026
2 checks passed
@rainhead
rainhead deleted the ci branch September 29, 2026 22:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant