sfops - Execute Every 30 mins
This workflow is designed to execute cron operations every 30 minutes. It can be triggered manually or runs on a schedule.
name: 'sfops - Execute Every 30 mins'
# Read name of sandbox
on:
workflow_dispatch:
schedule:
- cron: '30 * * * *'
jobs:
cron-every-30-mins:
name: 'Exec cron operations every 30 mins'
uses: ${{ sfops.repo_owner }}/${{ sfops.action_repository }}/.github/workflows/cron-jobs-30-mins.yml@main
with:
sfopsbot-app-id: ${{ vars.SFOPSBOT_APP_ID }}
path-to-config : "config/sandbox-pool-config.json"
metrics-provider: ${{ vars.SFOPS_METRICS_PROVIDER }}
dashboard-repo: ${{ vars.SFOPS_DASHBOARD_REPO }}
secrets:
DEVHUB_SFDX_AUTH_URL: ${{ secrets.DEVHUB_SFDX_AUTH_URL }}
DATADOG_API_KEY: ${{ secrets.DATADOG_API_KEY }}
DATADOG_HOST: ${{ secrets.DATADOG_HOST }}
SFOPSBOT_APP_PRIVATE_KEY: ${{ secrets.SFOPSBOT_APP_PRIVATE_KEY }}
NPM_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Trigger
The workflow is triggered in two ways:
Manually via
workflow_dispatch
Automatically every 30 minutes via a cron schedule
Schedule
schedule:
- cron: '30 * * * *'
This cron expression means the job will run at the 30-minute mark of every hour.
Jobs
The workflow calls a reusable workflow (cron-jobs-30-mins.yml
) which contains several jobs:
1. check-sandbox-status
This job checks the status of review sandboxes and provisions them if necessary.
Key steps:
Authenticate with DevHub
Provision sandboxes to "Available" status
Update sandbox status in a dashboard repository
2. update-scratchorg-status
This job reports the status of scratch orgs to dev central repository
3. update-sandbox-frontdoor-url
This job updates the frontdoor URL for sandboxes.
4. update-workitem-status
This job updates the status of work items and environment information.
Key steps:
Report environment information
Report work item status (likely related to Pull Requests)
5. execute-jobs
This job executes any pending jobs in the repository.
Last updated