D2ai speedup paths #735
Workflow file for this run
This file contains 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
# This workflow runs when a PR is requested | |
name: Pull Request Flow | |
on: | |
pull_request: | |
types: [opened, synchronize, reopened, ready_for_review] | |
paths: ['src/**', 'data/**', '.github/workflows/PR.yml', 'package.json', 'yarn.lock'] | |
# Ensures that only one deploy task per branch/environment will run at a time. | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
if: github.event.pull_request.draft == false | |
env: | |
fork_pr: ${{ github.event.pull_request.head.repo.full_name != github.repository }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout D2AI | |
uses: actions/checkout@v3 | |
with: | |
submodules: recursive | |
- name: Setup Node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 18.x | |
cache: yarn | |
- name: Install | |
run: yarn install --frozen-lockfile --prefer-offline | |
- name: Compile Typescript | |
run: yarn build | |
- name: Get D2 Manifest | |
uses: nick-fields/[email protected] | |
with: | |
timeout_minutes: 2 | |
max_attempts: 3 | |
command: yarn manifest:get | |
env: | |
API_KEY: ${{ secrets.API_KEY }} | |
- name: Generate Data | |
run: yarn generate-data | |
- name: porcelain check | |
uses: dorny/paths-filter@v2 | |
id: data | |
with: | |
base: HEAD | |
filters: | | |
changed: | |
- '**' | |
- name: Commit other updated values | |
if: steps.data.outputs.changed == 'true' && !env.fork_pr | |
uses: stefanzweifel/[email protected] | |
with: | |
commit_message: other updates from manifest | |
commit_user_name: D2AI Bot | |
commit_user_email: [email protected] | |
commit_author: D2AI Bot <[email protected]> | |
- name: Fail the Build w/ Note | |
if: steps.data.outputs.changed == 'true' && env.fork_pr | |
uses: actions/[email protected] | |
with: | |
script: | | |
core.setFailed('Please run `yarn generate-data`') |