You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Uploading ETL outputs to S3 incurs egress fees that, for a full PUDL
build, cost more than running the entire ETL. Branch builds currently
deploy to both GCS and S3 purely as a test, then delete the staged data
again. The nightly build exercises the real S3 deployment every night, so
re-testing it on every branch build has little marginal value, while the
GCS deployment is free and covers nearly all the same code paths.
Branch builds now deploy to GCS but not S3 by default. The build-pudl and
deploy-pudl workflow_dispatch forms expose deploy_to_gcs / deploy_to_s3
checkboxes to override this per run, and when neither target is enabled
build-pudl skips triggering deploy-pudl entirely (e.g. a build run only
to regenerate row counts). Nightly and stable deployments are unchanged
and still deploy to both.
- DeploymentPlan gains tri-state deploy_to_gcs / deploy_to_s3 overrides
and symmetric upload_to_gcs / upload_to_s3 properties: GCS defaults on
for every deploy type, S3 defaults on for nightly/stable and off for
branch builds. A plan that would deploy nowhere is rejected.
- upload_outputs() only builds the fs clients and upload targets for the
enabled destinations; _assert_permanent_paths_are_empty tolerates a
missing filesystem.
- pudl_deploy grows --deploy-gcs/--no-deploy-gcs and
--deploy-s3/--no-deploy-s3 flags, threaded through resolve_build.
- deploy-pudl.yml and build-pudl.yml expose matching workflow_dispatch
inputs; build-pudl passes the resolved values to the batch job, and
pudl_batch.sh forwards them to deploy-pudl and gates both
trigger_deployment call sites.
- Add unit tests and a release notes entry.
Closes#5557
0 commit comments