You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.8 KiB
63 lines
1.8 KiB
# Build a cron job to create a umi project which use antd and dumi, and then build it.
|
|
name: Mock Project Build
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
schedule:
|
|
- cron: '*/30 * * * *'
|
|
|
|
# Cancel prev CI if new commit come
|
|
concurrency:
|
|
group: unique
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
pr-check-ci:
|
|
runs-on: ubuntu-latest
|
|
name: Build Project
|
|
steps:
|
|
- name: checkout
|
|
uses: actions/checkout@v3
|
|
|
|
- uses: actions/setup-node@v3
|
|
with:
|
|
node-version: 16
|
|
|
|
- uses: actions/cache@v3
|
|
with:
|
|
path: ~tmpProj/yarn.lock
|
|
key: primes-${{ runner.os }}-${{ github.run_id }}
|
|
restore-keys: mock-proj-lock-file
|
|
|
|
- name: Run Script
|
|
run: bash ./scripts/ci-mock-project-build.sh
|
|
|
|
##################################################################
|
|
## Diff Lock File ##
|
|
##################################################################
|
|
- name: Rename failed lock file
|
|
if: ${{ failure() }}
|
|
run: mv ~tmpProj/yarn.lock ~tmpProj/yarn.lock.failed
|
|
|
|
- name: Download success lock file as `success.lock`
|
|
if: ${{ failure() }}
|
|
uses: actions/cache/restore@v3
|
|
with:
|
|
path: ~tmpProj/yarn.lock
|
|
key: primes-${{ runner.os }}-${{ github.run_id }}
|
|
restore-keys: mock-proj-lock-file
|
|
|
|
- name: ls tmpProj
|
|
if: ${{ failure() }}
|
|
run: ls ~tmpProj
|
|
|
|
- name: 🎨 Diff Report
|
|
if: ${{ failure() }}
|
|
run: npx diff-yarn-lock --source=~tmpProj/yarn.lock --target=~tmpProj/yarn.lock.failed
|
|
|
|
- uses: actions-cool/ci-notice@v1
|
|
if: ${{ failure() }}
|
|
with:
|
|
notice-types: 'dingding'
|
|
dingding-token: ${{ secrets.DINGDING_BOT_COLLABORATOR_TOKEN }}
|
|
notice-title: 'CI Mock Project Build Failed'
|
|
|