-
-
Notifications
You must be signed in to change notification settings - Fork 100
138 lines (110 loc) · 3.92 KB
/
auto-review.yaml
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
name: AutoReview
on:
push:
branches: [ main ]
pull_request: ~
schedule:
# Do not make it the first of the month and/or midnight since it is a very busy time
- cron: "* 10 5 * *"
# See https://stackoverflow.com/a/72408109
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
env:
TERM: xterm
jobs:
lint-cs:
runs-on: ubuntu-latest
name: Lint CS
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
tools: composer
coverage: none
- name: Install Composer dependencies
uses: ramsey/composer-install@v3
- name: Ensure that the make target is up to date
run: make _vendor_install
- name: Install PHP-CS-Fixer
uses: ramsey/composer-install@v3
with:
working-directory: vendor-bin/php-cs-fixer
- name: Ensure that the PHP-CS-Fixer make target is up to date
run: make php_cs_fixer_install
- name: Install Rector
uses: ramsey/composer-install@v3
with:
working-directory: vendor-bin/rector
- name: Ensure that the PHP-CS-Fixer make target is up to date
run: make rector_install
- run: make root_cs_lint
composer-validate:
runs-on: ubuntu-latest
name: Composer Validate
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
tools: composer
coverage: none
- run: make composer_validate
box-config-validate:
runs-on: ubuntu-latest
name: Box Validate
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
tools: composer
coverage: none
- name: Install Composer dependencies
uses: ramsey/composer-install@v3
- name: Ensure that the make target is up to date
run: make _vendor_install
- run: make box_validate
autoreview-test:
runs-on: ubuntu-latest
name: AutoReview Tests
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
tools: composer
coverage: none
- name: Install Composer dependencies
uses: ramsey/composer-install@v3
- name: Ensure that the make target is up to date
run: make _vendor_install
- run: make phpunit_autoreview
# This is a "trick", a meta task which does not change, and we can use in
# the protected branch rules as opposed to the tests one above which
# may change regularly.
validate-autoreview:
name: AutoReview tests status
runs-on: ubuntu-latest
needs:
- lint-cs
- composer-validate
- box-config-validate
- autoreview-test
if: always()
steps:
- name: Successful run
if: ${{ !(contains(needs.*.result, 'failure')) }}
run: exit 0
- name: Failing run
if: ${{ contains(needs.*.result, 'failure') }}
run: exit 1