-
Notifications
You must be signed in to change notification settings - Fork 468
92 lines (77 loc) · 2.48 KB
/
checks.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
87
88
89
90
91
92
name: Checks
on:
- push
- pull_request
jobs:
lint:
name: Lint tests
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
cache: pip
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r tools/lint/requirements.txt
- name: Lint all tests
if: github.event_name == 'push'
run: ./tools/lint/lint.py test/
- name: Identify new or changed tests
id: changed_tests
if: github.event_name == 'pull_request'
uses: tj-actions/changed-files@v45
with:
files: test/
- name: Lint new or changed tests
if: |
github.event_name == 'pull_request' &&
steps.changed_tests.outputs.any_changed == 'true'
env:
CHANGED: ${{ steps.changed_tests.outputs.all_changed_files }}
run: |
echo New or modified test files:
for file in $CHANGED; do
echo $file
done
./tools/lint/lint.py $CHANGED 2> >(tee errors.out >&2)
- name: Create annotations in the PR
if: failure() && github.event_name == 'pull_request'
run: |
awk -F': ' <errors.out \
"{ sub(\"$(pwd)/\", \"\"); printf \"::error file=%s,line=1::%s\n\", \$1, \$2 }"
build:
name: Build generated tests
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
cache: pip
- name: Install dependencies for generation tool
run: |
python -m pip install --upgrade pip
pip install -r tools/generation/requirements.txt
- name: Install dependencies for regexp-generator tool
run: |
cd tools/regexp-generator
npm install
- name: Build tests
run: |
./make.py clean >/dev/null
./make.py
- name: Verify changes
uses: tj-actions/verify-changed-files@v20
with:
fail-if-changed: true
fail-message: |
New changes were found after re-generating the tests.
Please read the documentation on procedurally generated tests
https://github.com/tc39/test262/blob/HEAD/CONTRIBUTING.md#procedurally-generated-tests