@@ -3,8 +3,8 @@ name: Lion-Route (CI Workflow)
3
3
on :
4
4
push :
5
5
branches :
6
- - actions-sleon
7
- - actions-saco
6
+ - main
7
+ - actions
8
8
pull_request :
9
9
branches :
10
10
- main
@@ -34,43 +34,23 @@ jobs:
34
34
php-version : ' 8.4'
35
35
extensions : mbstring, gd, zip
36
36
37
+ - name : Composer Install
38
+ run : composer install
39
+
37
40
- name : Composer Validate
38
41
run : composer validate --strict
39
42
40
43
- name : Composer Check for vulnerabilities
41
44
run : composer audit --locked
42
45
43
- - name : Composer Install
44
- run : composer install
45
-
46
46
- name : Composer Dump-Autoload
47
47
run : composer dump-autoload --optimize --strict-psr
48
48
49
- docker-validation :
50
- runs-on : ubuntu-latest
51
- name : Docker Validation
52
-
53
- steps :
54
- - name : Check out the repository
55
- uses : actions/checkout@v4
56
-
57
- - name : Cache Docker layers
58
- uses : actions/cache@v3
59
- with :
60
- path : /tmp/.buildx-cache
61
- key : ${{ runner.os }}-buildx-${{ github.sha }}
62
- restore-keys : |
63
- ${{ runner.os }}-buildx-
64
-
65
- - name : Validate Docker Compose configuration
66
- run : docker compose config
67
-
68
49
code-analyze :
69
50
runs-on : ubuntu-latest
70
51
name : PHP Code Analyze
71
52
needs :
72
53
- composer-validation
73
- - docker-validation
74
54
75
55
steps :
76
56
- name : Check out the repository
@@ -83,13 +63,19 @@ jobs:
83
63
extensions : mbstring, gd, zip
84
64
85
65
- name : Composer Install
86
- run : composer install
66
+ run : composer install --dev
87
67
88
68
- name : PHP CodeSnifer (Src)
89
- run : php -d memory_limit=-1 vendor/bin/phpcs --standard=PSR12 src/
69
+ run : php -d memory_limit=-1 vendor/bin/phpcs --standard=PSR12 src
70
+
71
+ - name : PHPStan (Src)
72
+ run : php -d memory_limit=-1 vendor/bin/phpstan analyse --level max src
73
+
74
+ - name : PHP CodeSnifer (Tests)
75
+ run : php -d memory_limit=-1 vendor/bin/phpcs --standard=PSR12 --ignore=tests/build/\* tests
90
76
91
- # - name: PHPStan (Src )
92
- # run: php -d memory_limit=-1 vendor/bin/phpstan analyse --level max src
77
+ - name : PHPStan (Tests )
78
+ run : php -d memory_limit=-1 vendor/bin/phpstan analyse --level max tests
93
79
94
80
tests :
95
81
runs-on : ubuntu-latest
@@ -100,28 +86,30 @@ jobs:
100
86
- name : Checkout repository
101
87
uses : actions/checkout@v4
102
88
103
- - name : Set up Docker Buildx
104
- uses : docker/setup-buildx-action@v2
105
-
106
- - name : Tear down containers
107
- run : docker compose down --volumes --remove-orphans
108
-
109
- - name : Stop running Docker containers (if any)
110
- run : |
111
- docker ps -q | xargs -r docker stop
112
- docker ps -aq | xargs -r docker rm
113
-
114
- - name : Build the Docker image
115
- run : docker build -t route-app .
89
+ - name : Setup PHP
90
+ uses : shivammathur/setup-php@v2
91
+ with :
92
+ php-version : 8.4
93
+ extensions : mbstring, gd, zip, xdebug
94
+ coverage : xdebug
95
+ ini-values : |
96
+ opcache.jit=0
97
+ xdebug.mode=coverage
98
+ xdebug.start_with_request=yes
99
+ xdebug.log_level=0
100
+ tools : composer
101
+
102
+ - name : Install php dependencies
103
+ run : composer install
116
104
117
- - name : Start services using Docker Compose
118
- run : |
119
- docker compose -f docker-compose.yml up -d
120
- env :
121
- COMPOSE_PROJECT_NAME : test
105
+ - name : Run local server
106
+ run : php -S 0.0.0.0:8000 -t public &
122
107
123
- - name : Install Composer dependencies
124
- run : docker exec route-app composer install
108
+ - name : Run tests
109
+ run : php vendor/bin/phpunit --coverage-clover tests/build/logs/clover.xml --coverage-html tests/build/coverage
125
110
126
- - name : Run PHP Tests
127
- run : docker exec route-app php vendor/bin/phpunit
111
+ - name : Upload coverage reports to Codecov
112
+ uses : codecov/codecov-action@v5
113
+ with :
114
+ files : tests/build/logs/clover.xml
115
+ token : ${{ secrets.CODECOV_TOKEN_LION_ROUTE }}
0 commit comments