This GitLab CI configuration is valid. Learn more
Forked from fusiondirectory / fusiondirectory-plugins
Source project has a limited visibility.
.gitlab-ci.yml 3.35 KiB
# Specify docker image
image: debian:stretch
# Define variable to disable SSL verification of GIT
variables:
  GIT_SSL_NO_VERIFY: "true"
stages:
  - lint
  - codestyle
  - manpages
  - transifex
  - tarballs
## Stage lint
# PHP lint (stretch)
create_php_lint_rapport_stretch:
  image: php:cli-stretch
  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: phpcodesniffer-cli:stretch
  stage: codestyle
  only:
    - branches
  script:
    - git clone --depth 1 https://gitlab.fusiondirectory.org/fusiondirectory/dev-tools.git ../dev-tools
    - find . -type f -name '*.php' -o -name '*.inc' > ./filelist
    - phpcs --ignore=class_sieve.inc --standard=../dev-tools/php-codesniffer-rules/FDStandard/ruleset.xml --file-list=./filelist
# Sonar publishing
sonar_publish:
  image: sonar-cli:3.1.0.1141
  stage: codestyle
  only:
    - 1.4-dev
  script:
    - /home/sonar/*/bin/sonar-scanner
      -D sonar.projectKey=fusiondirectory-plugins-1.4-dev
      -D sonar.projectName=FusionDirectory-Plugins-1.4-Dev
      -D sonar.projectVersion=1.4
      -D sonar.sourceEncoding=UTF-8
      -D sonar.exclusions='mail/personal/mail/class_sieve.inc'
      -D sonar.gitlab.project_id="$CI_PROJECT_PATH"
      -D sonar.gitlab.commit_sha="$CI_COMMIT_SHA"
      -D sonar.gitlab.ref_name="$CI_COMMIT_REF_NAME"
# Sonar preview
sonar_preview:
  image: sonar-cli:3.1.0.1141
  stage: codestyle
  except:
    - 1.4-dev
  script:
    - /home/sonar/*/bin/sonar-scanner
      -D sonar.projectKey=fusiondirectory-plugins-1.4-dev
      -D sonar.projectName=FusionDirectory-Plugins-1.4-Dev
      -D sonar.projectVersion=1.4
      -D sonar.sourceEncoding=UTF-8
      -D sonar.exclusions='mail/personal/mail/class_sieve.inc'
      -D sonar.gitlab.project_id="$CI_PROJECT_PATH"
      -D sonar.gitlab.commit_sha="$CI_COMMIT_SHA"
7172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
-D sonar.gitlab.ref_name="$CI_COMMIT_REF_NAME" -D sonar.analysis.mode=preview # fusiondirectory-update-locale fusiondirectory-update-locale: image: transifex-cli:stretch stage: transifex only: - branches script: - git clone --depth 1 https://gitlab.fusiondirectory.org/fusiondirectory/dev-tools.git ../dev-tools - ../dev-tools/locale-scripts/fusiondirectory-update-locale-plugins # Update transifex update-transifex: image: transifex-cli:stretch stage: transifex only: - /^1.*$/ script: - git clone --depth 1 https://gitlab.fusiondirectory.org/fusiondirectory/dev-tools.git ../dev-tools - echo $'[https://www.transifex.com]\nhostname = https://www.transifex.com\nusername = '"$TRANSIFEX_USER"$'\npassword = '"$TRANSIFEX_PASSWORD"$'\ntoken = '"$TRANSIFEX_API_TOKEN"$'\n' > ~/.transifexrc - tx pull -a -f - ../dev-tools/locale-scripts/fusiondirectory-update-locale-plugins - tx push -f -s -t --skip --no-interactive build-tarballs: stage: tarballs only: - tags script: - tar -cvzf fusiondirectory-plugins.tar.gz * artifacts: paths: - fusiondirectory-plugins.tar.gz expire_in: 1h build-release: stage: tarballs only: - tags script: - tar -cvzf fusiondirectory-plugins-$(grep '%' Changelog.md | head -n1 | cut -d ' ' -f3 | tr -d '"').tar.gz * artifacts: paths: - fusiondirectory-plugins-$(grep '%' Changelog.md | head -n1 | cut -d ' ' -f3 | tr -d '"').tar.gz