This directory contains Python scripts for deploying static assets to S3 buckets.
The deployment system recognizes the following tag patterns to determine the application and target environment:
| Application | Environment | Tag Pattern | Examples |
|---|---|---|---|
| Labware Library | Staging | staging-labware-library* |
staging-labware-library@20250827.1 |
| Labware Library | Production | labware-library* |
labware-library@20250827.1 |
| Protocol Designer | Staging | staging-protocol-designer* |
staging-protocol-designer@v3.0.0 |
| Protocol Designer | Production | protocol-designer* |
protocol-designer@v3.0.0 |
| MkDocs | Staging | staging-mkdocs* |
staging-mkdocs-v2.1.0 |
| MkDocs | Production | mkdocs* |
mkdocs-v2.1.0 |
| Docs | Staging | staging-docs* |
staging-docs-v1.0.0 |
| Docs | Production | docs* |
docs-v1.0.0 |
Notes:
- Any unrecognized tag pattern defaults to sandbox environment
- Branch pushes to
edgeandchore_release*branches always deploy to the sandbox environment
- Test PRs: Test your PRs in the sandbox environment. PRs deploy automatically.
- Test branches: Test
edgeorchore_release*branches in the sandbox environment, as they also deploy automatically. - Deploy to staging: Once ready, create and push a tag with the appropriate pattern for staging (e.g.,
staging-labware-library@<version>). - Deploy to production: After staging verification, create and push a production tag (e.g.,
labware-library@<version>) on the same commit that was used for staging.
- AWS CLI configured with appropriate credentials
- uv installed for managing Python environments
- make installed for using the Makefile
- Run
make setupto install dependencies in thescripts/static-deploydirectory
Note: This is only for emergency testing and debugging. Normal deployments should be done via CI by pushing tags.
To deploy to the sandbox environment locally:
Example Labware Library build command:
# In the root directory of the project
make -C labware-library# In the scripts/static-deploy directory
make deploy \
ENVIRONMENT=sandbox \
APPLICATION=labware_library \
SANDBOX_PREFIX=local-test \
RELATIVE_ARTIFACT_DIR="../../labware-library/dist" \
AWS_PROFILE=robotics-protocol-library-prod \
DRY_RUN=1# Remove DRY_RUN=1 to perform actual deployment
make deploy \
ENVIRONMENT=sandbox \
APPLICATION=labware_library \
SANDBOX_PREFIX=local-test \
RELATIVE_ARTIFACT_DIR="../../labware-library/dist" \
AWS_PROFILE=robotics-protocol-library-prod