stages: - tests - build - deploy tests:bullseye: image: name: brenard/ldapsaisie:bullseye entrypoint: [""] stage: tests rules: - changes: - src/**/*.php script: - rm -fr vendor - composer install - service slapd start - > if [ "$GITLAB_CI" == "true" ]; then ./vendor/bin/phpstan analyse --no-interaction --configuration=.phpstan/config.neon --error-format=junit > tests-report-bullseye.xml else ./vendor/bin/phpstan analyse --no-interaction --configuration=.phpstan/config.neon fi artifacts: when: always paths: - tests-report-bullseye.xml reports: junit: tests-report-bullseye.xml tests:buster: image: name: brenard/ldapsaisie:buster entrypoint: [""] stage: tests rules: - changes: - src/**/*.php script: - rm -fr vendor - composer install - service slapd start - ./vendor/bin/phpstan analyse --no-interaction --configuration=.phpstan/config.neon --error-format=junit > tests-report-buster.xml - > if [ "$GITLAB_CI" == "true" ]; then ./vendor/bin/phpstan analyse --no-interaction --configuration=.phpstan/config.neon --error-format=junit > tests-report-buster.xml else ./vendor/bin/phpstan analyse --no-interaction --configuration=.phpstan/config.neon fi artifacts: when: always paths: - tests-report-buster.xml reports: junit: tests-report-buster.xml tests:stretch: image: name: brenard/ldapsaisie:stretch entrypoint: [""] stage: tests rules: - changes: - src/* script: - cd /tmp/ - composer require overtrue/phplint --dev - cd - - rm -f .phplint-cache - /tmp/vendor/bin/phplint src tests:jessie: image: name: brenard/ldapsaisie:jessie entrypoint: [""] stage: tests rules: - changes: - src/**/*.php script: - cd /tmp/ - composer require overtrue/phplint --dev - cd - - rm -f .phplint-cache - /tmp/vendor/bin/phplint src build:doc: stage: build image: python:slim before_script: - pip install -r doc/requirements.txt script: - cd doc - mkdocs build -s - htmlark public_html/print_page/index.html -o LdapSaisie.html artifacts: paths: - doc/public_html/ - doc/LdapSaisie.html deploy:doc: stage: deploy image: alpine:latest before_script: - apk update && apk add openssh-client rsync - eval $(ssh-agent -s) - echo "$SSH_PRIVATE_KEY" | base64 -d | ssh-add - - mkdir ~/.ssh - echo "$SSH_HOST_KEY" | base64 -d > ~/.ssh/known_hosts script: - rsync -atv --exclude '.git*' --delete --progress ./doc/public_html/ $SSH_USER@$SSH_HOST:./ - rsync -atv ./doc/LdapSaisie.html $SSH_USER@$SSH_HOST:LdapSaisie.html