This application runs on GitHub Actions, but it can also be executed in production mode locally.
It is designed to do the following:
- Use a cron schedule to execute the main
hubcap.pyscript at the beginning of every hour - The
hubcap.pyscript creates a temporary directory to hold cloned git repositories (default is/target) hubcap.pycreates a JSON spec file for each git repo + git tag combo within the/target/hub.getdbt.com/data/packages/directory (by default)- It opens pull requests against dbt-labs/hub.getdbt.com for any new versions of dbt packages
See GITHUB_ACTIONS_SETUP.md for detailed setup instructions.
- Schedule: Runs automatically every hour at
:00 - Environments: Separate
productionandtestenvironments - Configuration: Environment-specific secrets containing JSON configuration
- Manual execution: Can be triggered manually via GitHub UI or CLI
- Create
productionandtestenvironments in repository settings - Add
HUBCAP_CONFIGsecret to each environment with appropriate JSON configuration - The workflow runs automatically on schedule or can be triggered manually
# Test environment with dry run (no PRs created)
gh workflow run "Hubcap Scheduler" --field environment=test --field dry_run=true
# Production environment (live)
gh workflow run "Hubcap Scheduler" --field environment=production --field dry_run=false- View execution logs in repository Actions tab
- Each run creates artifacts with logs and generated files
- Failed executions send notifications (if configured)