-
-
Notifications
You must be signed in to change notification settings - Fork 1
140 lines (117 loc) · 4.18 KB
/
main.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
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
139
140
name: Run base actions
run-name: ${{ github.actor }} running base actions
concurrency:
group: "${{ github.ref }}-${{ github.workflow }}"
cancel-in-progress: true
on:
workflow_dispatch:
pull_request:
push:
schedule:
- cron: "0 7 * * MON"
env:
extensions: "xml mbstring curl openssl dom xdebug"
composer-install-args: "--no-progress --no-interaction --prefer-dist --no-scripts"
jobs:
rector:
name: "Rector"
runs-on: ubuntu-latest
strategy:
matrix:
php-version: [ '8.3' ]
fail-fast: false
steps:
- uses: actions/checkout@v4
- uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
coverage: none
- uses: php-actions/composer@v6
with:
php_version: ${{ matrix.php-version }}
args: "${{ env.composer-install-args }}"
- run: composer check:rector
qa:
name: "Quality assurance"
runs-on: ubuntu-latest
strategy:
matrix:
php-version: ['8.3']
fail-fast: false
steps:
- uses: actions/checkout@v4
- uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
coverage: none
- uses: php-actions/composer@v6
with:
php_version: ${{ matrix.php-version }}
args: "${{ env.composer-install-args }}"
- run: composer check:cs
static-analysis:
name: "Static analysis"
runs-on: ubuntu-latest
strategy:
matrix:
php-version: [ '8.3' ]
fail-fast: false
steps:
- uses: actions/checkout@v4
- uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
coverage: none
- uses: php-actions/composer@v6
with:
php_version: ${{ matrix.php-version }}
args: "${{ env.composer-install-args }}"
- name: PHPStan Static Analysis
run: composer check:phpstan
tests:
name: "Tests"
runs-on: ubuntu-latest
strategy:
matrix:
php-version: [ '8.2', '8.3' ]
fail-fast: false
steps:
- uses: actions/checkout@v4
- uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
coverage: none
- uses: php-actions/composer@v6
with:
php_version: ${{ matrix.php-version }}
args: "${{ env.composer-install-args }}"
- run: |
cp src/cacert.pem.dist src/cacert.pem
mkdir .data
echo ${{ secrets.CERT_PRIV }} | base64 -d > .data/cert.pem
echo ${{ secrets.CERT_PUB }} | base64 -d > .data/cert.crt
- uses: 1password/load-secrets-action@v2
with:
# Export loaded secrets as environment variables
export-env: true
env:
OP_SERVICE_ACCOUNT_TOKEN: ${{ secrets.OP_SERVICE_ACCOUNT_TOKEN }}
OVM_CERT_ID_DS: op://mafzpsiebs3jzo6sijs5rtfeg4/nwdbxdp4vx3qcczbfee7q2jg4i/text
OVM_CERT_LOGIN_USER: op://mafzpsiebs3jzo6sijs5rtfeg4/nwdbxdp4vx3qcczbfee7q2jg4i/username
OVM_CERT_PASSWORD_USER: op://mafzpsiebs3jzo6sijs5rtfeg4/nwdbxdp4vx3qcczbfee7q2jg4i/password
FO_ID_DS: op://mafzpsiebs3jzo6sijs5rtfeg4/db3jkjbdwomausvvp52q3qeefi/text
FO_LOGIN_USER: op://mafzpsiebs3jzo6sijs5rtfeg4/db3jkjbdwomausvvp52q3qeefi/username
FO_PASSWORD_USER: op://mafzpsiebs3jzo6sijs5rtfeg4/db3jkjbdwomausvvp52q3qeefi/password
OVM_ID_DS: op://mafzpsiebs3jzo6sijs5rtfeg4/2ksmcswa4ot4nh55lcsfmnpuau/text
OVM_LOGIN_USER: op://mafzpsiebs3jzo6sijs5rtfeg4/2ksmcswa4ot4nh55lcsfmnpuau/username
OVM_PASSWORD_USER: op://mafzpsiebs3jzo6sijs5rtfeg4/2ksmcswa4ot4nh55lcsfmnpuau/password
PFO_ID_DS: op://mafzpsiebs3jzo6sijs5rtfeg4/6g5plyqgiqxexvefr4nvtos4xu/text
PFO_LOGIN_USER: op://mafzpsiebs3jzo6sijs5rtfeg4/6g5plyqgiqxexvefr4nvtos4xu/username
PFO_PASSWORD_USER: op://mafzpsiebs3jzo6sijs5rtfeg4/6g5plyqgiqxexvefr4nvtos4xu/password
- name: PHPUnit
run: composer test:phpunit
env:
XDEBUG_MODE: coverage
CERT_PRIV: '${{ secrets.CERT_PRIV }}'
CERT_PUB: '${{ secrets.CERT_PUB }}'
CERT_PASSPHRASE: '${{ secrets.CERT_PASSPHRASE }}'