Scheduled Jobs: Upstream Sync #30259
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
permissions: write-all # Equivalent to default permissions + id-token: write | |
name: "Scheduled Jobs: Upstream Sync" | |
on: | |
schedule: | |
- cron: 0/15 * * * * | |
workflow_dispatch: null | |
jobs: | |
sync_latest_from_upstream: | |
# Only run this job for events that originate on downstream repos. | |
if: github.repository != 'pulumi/docs' | |
runs-on: ubuntu-latest | |
name: Sync latest commits from upstream repo | |
steps: | |
- name: Fetch secrets from ESC | |
id: esc-secrets | |
uses: pulumi/esc-action@v1 | |
- name: Checkout target repo | |
uses: actions/checkout@v2 | |
with: | |
ref: master | |
token: ${{ steps.esc-secrets.outputs.PULUMI_BOT_TOKEN }} | |
- name: Sync upstream changes | |
id: sync | |
uses: aormsby/[email protected] | |
with: | |
upstream_sync_repo: pulumi/docs | |
upstream_sync_branch: master | |
target_sync_branch: master | |
target_repo_token: ${{ secrets.GITHUB_TOKEN }} | |
- name: New commits found | |
if: steps.sync.outputs.has_new_commits == 'true' | |
run: echo "New commits were found to sync." | |
- name: No new commits | |
if: steps.sync.outputs.has_new_commits == 'false' | |
run: echo "There were no new commits." | |
- name: Show value of 'has_new_commits' | |
run: echo ${{ steps.sync.outputs.has_new_commits }} | |
notify: | |
if: failure() | |
name: Send slack notification | |
runs-on: ubuntu-latest | |
needs: [sync_latest_from_upstream] | |
steps: | |
- name: Fetch secrets from ESC | |
id: esc-secrets | |
uses: pulumi/esc-action@v1 | |
- name: Slack Notification | |
uses: docker://sholung/action-slack-notify:v2.3.0 | |
env: | |
SLACK_CHANNEL: docs-ops | |
SLACK_COLOR: "#F54242" | |
SLACK_MESSAGE: "upstream sync failure in docs private repo :meow_sad:" | |
SLACK_USERNAME: docs-private-bot | |
SLACK_WEBHOOK: ${{ steps.esc-secrets.outputs.SLACK_WEBHOOK_URL }} | |
SLACK_ICON: https://www.pulumi.com/logos/brand/avatar-on-white.png | |
env: | |
ESC_ACTION_OIDC_AUTH: true | |
ESC_ACTION_OIDC_ORGANIZATION: pulumi | |
ESC_ACTION_OIDC_REQUESTED_TOKEN_TYPE: urn:pulumi:token-type:access_token:organization | |
ESC_ACTION_ENVIRONMENT: github-secrets/pulumi-docs | |
ESC_ACTION_EXPORT_ENVIRONMENT_VARIABLES: false |