Compare commits
15 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4d19fa9b7f | ||
|
|
e071a603f6 | ||
|
|
fedde1e0a8 | ||
|
|
fa814e8d55 | ||
|
|
6606eb89e7 | ||
|
|
b9c76afa6d | ||
|
|
a75ff7e880 | ||
|
|
8adc82419f | ||
|
|
494539a2e3 | ||
|
|
2bf7556e36 | ||
|
|
9742e761c6 | ||
|
|
396d5761db | ||
|
|
bdfdf9e5e7 | ||
|
|
384b4da9ad | ||
|
|
e951b5a2c2 |
8 changed files with 114 additions and 15 deletions
|
|
@ -1,23 +1,27 @@
|
|||
composer-build:
|
||||
stage: build
|
||||
image: $CI_REGISTRY/ldc-web/projets/ldc-web-images-docker/uwil-qa-8.5:latest
|
||||
before_script:
|
||||
- composer config gitlab-token.lab.s-web.fr $CI_DEPLOY_USER $CI_DEPLOY_PASSWORD
|
||||
image: composer:2.10
|
||||
cache:
|
||||
key:
|
||||
files:
|
||||
- composer.lock
|
||||
paths:
|
||||
- vendor/
|
||||
policy: pull-push
|
||||
before_script:
|
||||
- composer config gitlab-token.lab.s-web.fr "${CI_DEPLOY_USER}" "${CI_DEPLOY_PASSWORD}"
|
||||
script:
|
||||
- composer install --no-dev --optimize-autoloader --classmap-authoritative --no-scripts
|
||||
- composer install --ignore-platform-reqs --no-interaction --no-plugins --no-scripts --no-dev --prefer-dist
|
||||
artifacts:
|
||||
expose_as: 'vendor'
|
||||
paths:
|
||||
- vendor
|
||||
allow_failure: false
|
||||
paths:
|
||||
- vendor/
|
||||
expire_in: 1h
|
||||
dependencies:
|
||||
- composer-security
|
||||
needs:
|
||||
- job: composer-security
|
||||
optional: true
|
||||
allow_failure: false
|
||||
rules:
|
||||
- if: $CI_COMMIT_BRANCH == "trunk" || $CI_COMMIT_BRANCH == "master" || $CI_COMMIT_BRANCH == "main"
|
||||
- if: $CI_COMMIT_TAG != null
|
||||
- if: $CI_COMMIT_TAG != null
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@
|
|||
--context "${CI_PROJECT_DIR}"
|
||||
--build-arg "GITLAB_USER=${CI_DEPLOY_USER}"
|
||||
--build-arg "GITLAB_PASSWORD=${CI_DEPLOY_PASSWORD}"
|
||||
--build-arg "PHP_8_5_TAG=${PHP_8_5_TAG}"
|
||||
--dockerfile "${CI_PROJECT_DIR}/Dockerfile"
|
||||
--destination "${IMAGE_TAG}"
|
||||
--cache=true
|
||||
|
|
|
|||
|
|
@ -1,3 +1,22 @@
|
|||
spec:
|
||||
inputs:
|
||||
larastan_bootstrap:
|
||||
default: false
|
||||
type: boolean
|
||||
db_connection:
|
||||
default: "sqlite"
|
||||
db_database:
|
||||
default: ":memory:"
|
||||
cache_store:
|
||||
default: "array"
|
||||
session_driver:
|
||||
default: "array"
|
||||
enable_rector:
|
||||
default: false
|
||||
type: boolean
|
||||
|
||||
---
|
||||
|
||||
include:
|
||||
- project: 'ldc-web/shared-ci'
|
||||
ref: 'main'
|
||||
|
|
@ -5,6 +24,17 @@ include:
|
|||
- project: 'ldc-web/shared-ci'
|
||||
ref: 'main'
|
||||
file: 'lint/phpstan.yml'
|
||||
inputs:
|
||||
larastan_bootstrap: $[[ inputs.larastan_bootstrap ]]
|
||||
db_connection: $[[ inputs.db_connection ]]
|
||||
db_database: $[[ inputs.db_database ]]
|
||||
cache_store: $[[ inputs.cache_store ]]
|
||||
session_driver: $[[ inputs.session_driver ]]
|
||||
- project: "ldc-web/shared-ci"
|
||||
ref: "main"
|
||||
file: "lint/rector.yml"
|
||||
inputs:
|
||||
enable_rector: $[[ inputs.enable_rector ]]
|
||||
- project: 'ldc-web/shared-ci'
|
||||
ref: 'main'
|
||||
file: 'lint/eslint.yml'
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
phpcs:
|
||||
stage: lint
|
||||
image: $CI_REGISTRY/ldc-web/projets/ldc-web-images-docker/uwil-qa-8.5:latest
|
||||
image: composer:2.10
|
||||
before_script:
|
||||
- composer config gitlab-token.lab.s-web.fr $CI_DEPLOY_USER $CI_DEPLOY_PASSWORD
|
||||
- composer install --no-scripts
|
||||
|
|
|
|||
|
|
@ -1,9 +1,40 @@
|
|||
spec:
|
||||
inputs:
|
||||
larastan_bootstrap:
|
||||
default: false
|
||||
type: boolean
|
||||
db_connection:
|
||||
default: "sqlite"
|
||||
db_database:
|
||||
default: ":memory:"
|
||||
cache_store:
|
||||
default: "array"
|
||||
session_driver:
|
||||
default: "array"
|
||||
|
||||
---
|
||||
|
||||
phpstan:
|
||||
stage: lint
|
||||
image: $CI_REGISTRY/ldc-web/projets/ldc-web-images-docker/uwil-qa-8.5:latest
|
||||
image: composer:2.10
|
||||
cache:
|
||||
key: phpstan-cache-${CI_COMMIT_REF_SLUG}
|
||||
paths:
|
||||
- vendor/
|
||||
- .phpstan-cache/
|
||||
variables:
|
||||
DB_CONNECTION: "$[[ inputs.db_connection ]]"
|
||||
DB_DATABASE: "$[[ inputs.db_database ]]"
|
||||
CACHE_STORE: "$[[ inputs.cache_store ]]"
|
||||
SESSION_DRIVER: "$[[ inputs.session_driver ]]"
|
||||
before_script:
|
||||
- composer config gitlab-token.lab.s-web.fr $CI_DEPLOY_USER $CI_DEPLOY_PASSWORD
|
||||
- composer install --no-scripts
|
||||
- composer install --no-scripts --no-interaction
|
||||
- |
|
||||
if [ "$[[ inputs.larastan_bootstrap ]]" = "true" ]; then
|
||||
cp .env.example .env
|
||||
php artisan key:generate
|
||||
fi
|
||||
script:
|
||||
- vendor/bin/phpstan --error-format=junit > phpstan-report.xml
|
||||
artifacts:
|
||||
|
|
|
|||
31
lint/rector.yml
Normal file
31
lint/rector.yml
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
spec:
|
||||
inputs:
|
||||
enable_rector:
|
||||
default: false
|
||||
type: boolean
|
||||
|
||||
---
|
||||
|
||||
rector:
|
||||
stage: lint
|
||||
image: composer:2.10
|
||||
cache:
|
||||
key: rector-cache-$CI_COMMIT_REF_SLUG
|
||||
paths:
|
||||
- vendor/
|
||||
- .rector-cache/
|
||||
before_script:
|
||||
- composer config gitlab-token.lab.s-web.fr $CI_DEPLOY_USER $CI_DEPLOY_PASSWORD
|
||||
- composer install --no-scripts --no-interaction
|
||||
script:
|
||||
- vendor/bin/rector process --dry-run --no-progress-bar --output-format=junit > rector-report.xml
|
||||
artifacts:
|
||||
when: always
|
||||
expose_as: 'rector'
|
||||
paths:
|
||||
- rector-report.xml
|
||||
reports:
|
||||
junit: rector-report.xml
|
||||
allow_failure: true
|
||||
rules:
|
||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && "$[[ inputs.enable_rector ]]" == "true"'
|
||||
|
|
@ -1,8 +1,10 @@
|
|||
composer-security:
|
||||
stage: security
|
||||
image: $CI_REGISTRY/ldc-web/projets/ldc-web-images-docker/uwil-qa-8.5:latest
|
||||
image: composer:2.10
|
||||
before_script:
|
||||
- composer config gitlab-token.lab.s-web.fr $CI_DEPLOY_USER $CI_DEPLOY_PASSWORD
|
||||
script:
|
||||
- local-php-security-checker --format=json --path=./composer.lock > composer-security-checker-report.json
|
||||
- composer audit --locked --format=json > composer-security-checker-report.json || true
|
||||
artifacts:
|
||||
when: on_failure
|
||||
expose_as: 'composer-security-checker'
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
npm-security:
|
||||
stage: security
|
||||
image: node:17.9.1
|
||||
image: node:24
|
||||
before_script:
|
||||
- npm install --location=global audit-ci@^6
|
||||
script:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue