## What The Dagger team created a bunch of additional token to use their distributed cache. We want multiple token to "namespace" the cache per use case so that for instance `airbyte-ci format` can pull the couple images it uses from it, instead of downloading the full cache which has all the connector testing related layers. Rationale: * `DAGGER_CLOUD_TOKEN_CACHE_5`: internal python packages testing * `DAGGER_CLOUD_TOKEN_CACHE_4`: community CI only * `DAGGER_CLOUD_TOKEN_CACHE_3`: connector build/testing/publish * `DAGGER_CLOUD_TOKEN_CACHE_2`: light jobs like `format` or `version increment check`
80 lines
3.4 KiB
YAML
80 lines
3.4 KiB
YAML
name: Check for formatting errors
|
|
run-name: Check for formatting errors on ${{ github.ref }}
|
|
on:
|
|
workflow_dispatch:
|
|
|
|
push:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
|
|
jobs:
|
|
format-check:
|
|
# IMPORTANT: This name must match the require check name on the branch protection settings
|
|
name: "Check for formatting errors"
|
|
# Do not run this job on forks
|
|
# Forked PRs are handled by the community_ci.yml workflow
|
|
if: github.event.pull_request.head.repo.fork != true
|
|
runs-on: tooling-test-small
|
|
steps:
|
|
- name: Checkout Airbyte (with credentials)
|
|
uses: actions/checkout@v4
|
|
with:
|
|
ref: ${{ github.head_ref }}
|
|
token: ${{ secrets.GH_PAT_APPROVINGTON_OCTAVIA }}
|
|
fetch-depth: 1
|
|
- name: Run airbyte-ci format check [MASTER]
|
|
id: airbyte_ci_format_check_all_master
|
|
if: github.ref == 'refs/heads/master'
|
|
uses: ./.github/actions/run-airbyte-ci
|
|
continue-on-error: true
|
|
with:
|
|
context: "master"
|
|
sentry_dsn: ${{ secrets.SENTRY_AIRBYTE_CI_DSN }}
|
|
subcommand: "format check all"
|
|
|
|
- name: Run airbyte-ci format check [PULL REQUEST]
|
|
id: airbyte_ci_format_check_all_pr
|
|
if: github.event_name == 'pull_request'
|
|
uses: ./.github/actions/run-airbyte-ci
|
|
continue-on-error: false
|
|
with:
|
|
context: "pull_request"
|
|
sentry_dsn: ${{ secrets.SENTRY_AIRBYTE_CI_DSN }}
|
|
subcommand: "format check all"
|
|
dagger_cloud_token: ${{ secrets.DAGGER_CLOUD_TOKEN_CACHE_2 }}
|
|
|
|
- name: Run airbyte-ci format check [WORKFLOW DISPATCH]
|
|
id: airbyte_ci_format_check_all_manual
|
|
if: github.event_name == 'workflow_dispatch'
|
|
uses: ./.github/actions/run-airbyte-ci
|
|
continue-on-error: false
|
|
with:
|
|
context: "manual"
|
|
sentry_dsn: ${{ secrets.SENTRY_AIRBYTE_CI_DSN }}
|
|
subcommand: "format check all"
|
|
dagger_cloud_token: ${{ secrets.DAGGER_CLOUD_TOKEN_CACHE_2 }}
|
|
|
|
- name: Match GitHub User to Slack User [MASTER]
|
|
if: github.ref == 'refs/heads/master'
|
|
id: match-github-to-slack-user
|
|
uses: ./.github/actions/match-github-to-slack-user
|
|
env:
|
|
AIRBYTE_TEAM_BOT_SLACK_TOKEN: ${{ secrets.SLACK_AIRBYTE_TEAM_READ_USERS }}
|
|
GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Format Failure on Master Slack Channel [MASTER]
|
|
if: steps.airbyte_ci_format_check_all_master.outcome == 'failure' && github.ref == 'refs/heads/master'
|
|
uses: abinoda/slack-action@master
|
|
env:
|
|
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN_AIRBYTE_TEAM }}
|
|
with:
|
|
args: >-
|
|
{\"channel\":\"C03BEADRPNY\", \"blocks\":[
|
|
{\"type\":\"divider\"},
|
|
{\"type\":\"section\",\"text\":{\"type\":\"mrkdwn\",\"text\":\"Formatting is broken on master! :bangbang: \n\n\"}},
|
|
{\"type\":\"section\",\"text\":{\"type\":\"mrkdwn\",\"text\":\"_merged by_: *${{ github.actor }}* \n\"}},
|
|
{\"type\":\"section\",\"text\":{\"type\":\"mrkdwn\",\"text\":\"<@${{ steps.match-github-to-slack-user.outputs.slack_user_ids }}> \n\"}},
|
|
{\"type\":\"section\",\"text\":{\"type\":\"mrkdwn\",\"text\":\" :octavia-shocked: <https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}|View Action Run> :octavia-shocked: \n\"}},
|
|
{\"type\":\"divider\"}]}
|