-
-
Notifications
You must be signed in to change notification settings - Fork 257
86 lines (71 loc) · 2 KB
/
ci-perf.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
name: CI-Performance
on:
push:
branches:
- master
workflow_dispatch:
env:
BINARY_CACHE_INDEX: 23 # Rev this if we need a new node cache
jobs:
test:
environment: plugin-development
strategy:
# Allow other matrix jobs to continue after one fails, allowing us to
# isolate platform-specific issues.
fail-fast: false
matrix:
os:
- ubuntu-latest
node-version:
- 16.x
include:
- os: ubuntu-latest
env: env
versions: ""
timeout-minutes: 40
runs-on: ${{ matrix.os }}
steps:
- name: Gather environment data
run: |
${{ matrix.env }}
node --version
npm --version
yarn --version
- name: Checkout source
uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: "${{ matrix.node-version }}"
cache: "yarn"
cache-dependency-path: yarn.lock
- name: Restore typescript lib cache
uses: actions/cache@v3
id: ts-cache
with:
path: |
packages/*/lib/*
key: ${{ runner.os }}-${{ hashFiles('yarn.lock') }}-${{ env.BINARY_CACHE_INDEX }}
restore-keys: |
${{ runner.os }}-yarn-${{ env.BINARY_CACHE_INDEX }}
- name: Bootstrap
run: yarn bootstrap:bootstrap
shell: bash
- name: Build
run: yarn bootstrap:buildCI
shell: bash
- name: Typecheck
run: yarn lerna:typecheck
shell: bash
- name: Start Xvfb
if: runner.os == 'Linux'
run: |
Xvfb :99 -screen 0 1024x768x24 > /dev/null 2>&1 &
echo 'DISPLAY=:99.0' >>$GITHUB_ENV
- name: Run tests
env:
AIRTABLE_API_KEY: ${{ secrets.AIRTABLE_API_KEY }}
AIRTABLE_BASE_ID: ${{ secrets.AIRTABLE_BASE_ID }}
GITHUB_SHA: $GITHUB_SHA
GITHUB_REF: $GITHUB_REF
run: yarn ci:test:plugin-perf
timeout-minutes: 30