feat: external team submissions pipeline#197
Closed
RaidedCluster wants to merge 1 commit into
Closed
Conversation
Adds the full ForecastBench external team submission pipeline: - `onboard-team`: register/remove teams, GCS folder + IAM setup, welcome email - `on-submission`: Eventarc-triggered validator, emails team on every upload - `validate-forecast`: standalone file validator (HTTP) - `post-round`: copies valid submissions to FORECAST_SETS_BUCKET, emails teams + FRI digest - `send-reminders`: reminder emails to all active teams on round due dates Infrastructure: - `functions/setup_permissions.sh`: one-shot IAM setup for the submissions SA - `scheduler/deploy.sh`: Cloud Scheduler jobs for post-round (daily) and reminders (bi-weekly) - Makefile targets: deploy-submissions, setup-submissions-permissions, deploy-submissions-scheduler - variables.example.mk: new vars for submissions buckets, SA, SMTP Aligns with repo conventions: uses CLOUD_PROJECT, FORECAST_SETS_BUCKET, BUILD_ENV. Documentation: src/external-submissions/PIPELINE.md Closes #<PR> Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Collaborator
Author
|
Opening on fork instead — not ready for upstream yet. |
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.
Summary
Adds the full external team submission pipeline under
src/external-submissions/:onboard-team(HTTP) — register/remove teams; creates GCS folder, grants per-folder IAM, sends welcome emailon-submission(Eventarc/GCS trigger) — fires on every upload; validates file, emails team result within secondsvalidate-forecast(HTTP) — standalone validator teams can call before submittingpost-round(HTTP + Cloud Scheduler daily) — copies valid submissions toFORECAST_SETS_BUCKET, moves invalid to interstitial, emails teams + FRI digestsend-reminders(HTTP + Cloud Scheduler bi-weekly Sundays, paused) — reminder emails to all active teams on round due datesInfrastructure
setup_permissions.sh— one-shot IAM setup for the submissions service accountscheduler/deploy.sh— Cloud Scheduler jobs for post-round and remindersdeploy-submissions,setup-submissions-permissions,deploy-submissions-schedulervariables.example.mk— new vars for submissions buckets, SA, SMTPConventions
Aligned with repo conventions: uses
CLOUD_PROJECT,FORECAST_SETS_BUCKET,BUILD_ENV.Documentation
Full setup guide and runbook: PIPELINE.md
Test plan
forecastbench-dev🤖 Generated with Claude Code