paths:
- vendor/
-# Run tests for php:8.1
-job_lint_app_81:
- image: php:8.1
+# Run tests for php:8.2
+job_lint_app_82:
+ image: php:8.2
before_script: &before_linter_script
# Install git, the docker php image doesn't have it installed by default
- apt-get update -yqq
- curl -sS https://getcomposer.org/installer | php
# Create composer.json file manually, since this is a project without any non-dev dependencies yet
- php composer.phar require --dev php-parallel-lint/php-parallel-lint
- - php composer.phar require --dev friendsofphp/php-cs-fixer:3.10.0
+ - php composer.phar require --dev friendsofphp/php-cs-fixer:3.64.0
# Install all project dependencies
- php composer.phar install
script: &linter_script
- ./vendor/bin/parallel-lint --exclude vendor .
- - ./vendor/bin/php-cs-fixer -vvv fix . --dry-run --using-cache=no --rules=@PSR2
+ - ./vendor/bin/php-cs-fixer -vvv check . --using-cache=no --rules=@PSR12,-single_space_around_construct
+
+# Run tests for php:8.1
+job_lint_app_81:
+ image: php:8.1
+ before_script: *before_linter_script
+ script: *linter_script
# Run tests for php:7.4
job_lint_app_74:
services:
- docker:dind
script:
+ # Login to GitLab's Docker registry
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY"
- - docker build -t $CI_REGISTRY/$CI_REGISTRY_IMAGE:$CI_COMMIT_TAG .
- # If we're on the default branch, also tag the image as latest
- - docker build -t $CI_REGISTRY/$CI_REGISTRY_IMAGE:$CI_COMMIT_TAG -t $CI_REGISTRY/$CI_REGISTRY_IMAGE:latest .
- - docker push $CI_REGISTRY/$CI_REGISTRY_IMAGE --all-tags
+ # Create a new builder instance and switch to it
+ - docker buildx create --use
+ # Build the image:
+ # 1. Build a Docker image for linux/arm/v7, linux/arm64/v8 and linux/amd64
+ # 2. Tag it with the current commit tag and "latest"
+ # 3. Push it to GitLab's Docker registry
+ - docker buildx build --push --platform linux/arm/v7,linux/arm64/v8,linux/amd64 --tag $CI_REGISTRY/$CI_REGISTRY_IMAGE:$CI_COMMIT_TAG --tag $CI_REGISTRY/$CI_REGISTRY_IMAGE:latest .
only:
- tags