This GitLab CI configuration is valid. Learn more
.gitlab-ci.yml 2.62 KiB
stages:
  - lint
  - codestyle
  - tarballs
  - trigger
## Stage lint
# PHP lint
create_php_lint_rapport:
  image: registry.fusiondirectory.org/fusiondirectory/fd/phpcodesniffer-cli:buster
  stage: lint
  only:
    - branches
  script:
    - find . -type f -name '*.php' -o -name '*.inc' -print0 | xargs -0 -n1 php -l
## Stage codestyle
# PHP codesniffer
create_php_code_sniffer_rapport:
  image: registry.fusiondirectory.org/fusiondirectory/fd/phpcodesniffer-cli:buster
  stage: codestyle
  only:
    - branches
  script:
    - test -d ../dev-tools/ && rm -Rf ../dev-tools/
    - git clone --depth 1 https://gitlab.fusiondirectory.org/fusiondirectory/dev-tools.git ../dev-tools
    - find . -type f -name '*.php' -o -name '*.inc' > ./filelist
    - /root/.composer/vendor/bin/phpcs --standard=../dev-tools/php-codesniffer-rules/FDStandard/ruleset.xml --file-list=./filelist
    - /root/.composer/vendor/bin/phpcs --config-set installed_paths /PHPCompatibility,/PHPCSUtils
    - /root/.composer/vendor/bin/phpcs --standard=PHPCompatibility --runtime-set testVersion $PHP_COMPATIBILITY --file-list=./filelist
# phpstan
create_phpstan_rapport:
  image: registry.fusiondirectory.org/fusiondirectory/fd/phpstan-cli:buster
  stage: codestyle
  only:
    - branches
  script:
    - test -d ../dev-tools/ && rm -Rf ../dev-tools/
    - git clone --depth 1 https://gitlab.fusiondirectory.org/fusiondirectory/dev-tools.git ../dev-tools
    - apt install libphp-phpmailer
    - cp ../dev-tools/phpstan/fusiondirectory-integrator/*.neon .
    - /root/.composer/vendor/bin/phpstan analyse -c phpstan.neon
build-tarballs:
  stage: tarballs
  only:
    - dev
  script:
    - mkdir ../fusiondirectory-integrator-$VERSION/
    - mv ./* ../fusiondirectory-integrator-$VERSION/
    - mv  ../fusiondirectory-integrator-$VERSION/ ./
    - tar -cvzf fusiondirectory-integrator-$VERSION.tar.gz *
  artifacts:
    paths:
      - fusiondirectory-integrator-$VERSION.tar.gz
    expire_in: 30d
build-release:
  stage: tarballs
  only:
    - tags
  script:
    - VERSION=$(grep '%' Changelog.md | head -n1 | cut -d ' ' -f4 | tr -d '"')
    - mkdir ../fusiondirectory-integrator-$VERSION/
    - mv ./* ../fusiondirectory-integrator-$VERSION/
    - mv  ../fusiondirectory-integrator-$VERSION/ ./
    - tar -cvzf fusiondirectory-integrator-$VERSION.tar.gz *
717273747576777879808182838485868788899091
artifacts: paths: - ./*.tar.gz trigger-ci-debian-bullseye: stage: trigger only: - dev trigger: project: debian/bullseye-fusiondirectory-integrator-dev branch: "main" trigger-ci-ubuntu-focal: stage: trigger only: - dev trigger: project: ubuntu/focal-fusiondirectory-integrator-dev branch: "main"