From ce462832c95e431f253afade3764044fe12e90cb Mon Sep 17 00:00:00 2001 From: Jan-Hendrik Willms <tleilax+studip@gmail.com> Date: Mon, 13 Mar 2023 08:24:15 +0000 Subject: [PATCH] Update .gitlab-ci.yml --- .gitlab-ci.yml | 253 +------------------------------------------------ 1 file changed, 1 insertion(+), 252 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0fb6f732f71..3664823c7d9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,253 +1,2 @@ +# The Docker image that will be used to build your app image: studip/studip:tests-php7.2 - -variables: - MYSQL_RANDOM_ROOT_PASSWORD: "true" - MYSQL_DATABASE: studip_db - MYSQL_USER: studip_user - MYSQL_PASSWORD: studip_password - MYSQL_HOST: mariadb - DEMO_DATA: "true" - MAIL_TRANSPORT: debug - PHPSTAN_LEVEL: 0 - # Optimize caching - FF_USE_FASTZIP: "true" - CACHE_COMPRESSION_LEVEL: "fast" - # User faster docker driver - DOCKER_DRIVER: overlay2 - -stages: - - checks - - analyse - - tests - - packaging - - release - - build - -.scripts: - install-composer: - - make composer-dev - configure-studip: - - !reference [.scripts, install-composer] - - cp docker/studip/config_local.php config/config_local.inc.php - - cp config/config.inc.php.dist config/config.inc.php - initialize-studip-database: - - !reference [.scripts, configure-studip] - - chmod +x .gitlab/scripts/install_db.sh - - .gitlab/scripts/install_db.sh - - cli/studip migrate - remove-absolute-path-in-report: - - sed -i "s%$PWD/%%" tests/_output/report.xml - -.artifacts: - common: &common-artifacts - when: always - expire_in: 1 week - tests: &test-artifacts - <<: *common-artifacts - paths: - - tests/_output - reports: - junit: tests/_output/report.xml - -.caches: - php: &composer-cache - key: "php-$CI_COMMIT_REF_SLUG" - paths: - - composer/ - - .caches/phplint-cache - - .caches/resultCache.php - - .caches/cache/* - - .caches/resultCaches/* - js: &npm-cache - key: "js-$CI_COMMIT_REF_SLUG" - paths: - - node_modules/ - - .caches/eslint-cache - - .caches/stylelint-cache - -lint-php: - stage: checks - needs: [] - cache: *composer-cache - allow_failure: false - interruptible: true - before_script: - - !reference [.scripts, install-composer] - - mkdir -p .reports - script: - - php -d memory_limit=-1 composer/bin/phplint --xml .reports/phplint-report.xml --cache=.caches/phplint-cache - artifacts: - <<: *common-artifacts - paths: - - .reports/phplint-report.xml - reports: - junit: .reports/phplint-report.xml - -lint-js: - stage: checks - needs: [] - cache: *npm-cache - allow_failure: false - interruptible: true - before_script: - - make npm - script: - - npm run lint -- --cache --cache-location .caches/eslint-cache --format ./node_modules/eslint-junit/index.js - artifacts: - <<: *common-artifacts - paths: - - .reports/eslint-report.xml - reports: - junit: .reports/eslint-report.xml - -lint-css: - stage: checks - needs: [] - cache: *npm-cache - allow_failure: false - interruptible: true - before_script: - - make npm - script: - - npm run css-lint -s -- --cache --cache-location .caches/stylelint-cache --custom-formatter node_modules/stylelint-junit-formatter --output-file .reports/stylelint-report.xml - artifacts: - <<: *common-artifacts - paths: - - .reports/stylelint-report.xml - reports: - junit: .reports/stylelint-report.xml - -phpstan: - stage: analyse - needs: [lint-php] - allow_failure: true - interruptible: true - when: manual - cache: *composer-cache - before_script: - - make composer-dev - - mkdir .reports -p - script: - - php composer/bin/phpstan analyse --memory-limit=1G --no-progress --level=$PHPSTAN_LEVEL --error-format=gitlab > .reports/report-phpstan.json - artifacts: - paths: - - .reports/report-phpstan.json - expire_in: 14 days - when: always - reports: - codequality: .reports/report-phpstan.json - -test-unit: - stage: tests - needs: [lint-php] - cache: - <<: *composer-cache - policy: pull - allow_failure: false - interruptible: true - before_script: - - !reference [.scripts, configure-studip] - script: - - composer/bin/codecept run unit --xml - - !reference [.scripts, remove-absolute-path-in-report] - artifacts: - <<: *test-artifacts - -test-functional: - stage: tests - needs: [lint-php] - cache: - <<: *composer-cache - policy: pull - services: - - mariadb - allow_failure: false - interruptible: true - before_script: - - !reference [.scripts, initialize-studip-database] - script: - - composer/bin/codecept run functional --xml - - !reference [.scripts, remove-absolute-path-in-report] - artifacts: - <<: *test-artifacts - -test-jsonapi: - stage: tests - needs: [lint-php] - cache: - <<: *composer-cache - policy: pull - services: - - mariadb - allow_failure: false - interruptible: true - before_script: - - !reference [.scripts, initialize-studip-database] - script: - - composer/bin/codecept run jsonapi --xml - - !reference [.scripts, remove-absolute-path-in-report] - artifacts: - <<: *test-artifacts - when: always - expire_in: 1 week - paths: - - tests/_output - reports: - junit: tests/_output/report.xml - -test-assets: - stage: tests - needs: [] - cache: *npm-cache - allow_failure: false - interruptible: true - before_script: - - make npm - script: - - make webpack-dev - -packaging: - stage: packaging - cache: [] - rules: - - if: $CI_COMMIT_TAG - before_script: - - echo GE_JOB_ID=$CI_JOB_ID >> .packaging.env - - mkdir .pkg - script: - - echo 'Running packaging job' - - make build clean-npm - - zip -r9 .pkg/studip-$CI_COMMIT_TAG.zip * - - tar -czf .pkg/studip-$CI_COMMIT_TAG.tar.gz * - artifacts: - name: 'Stud.IP-Release-$CI_COMMIT_TAG' - paths: - - .pkg/studip-$CI_COMMIT_TAG.zip - - .pkg/studip-$CI_COMMIT_TAG.tar.gz - reports: - dotenv: .packaging.env - expire_in: never - -release: - stage: release - image: studip/release-cli - cache: [] - rules: - - if: $CI_COMMIT_TAG - script: - - echo 'Running release job' - needs: - - job: packaging - artifacts: true - release: - name: "$CI_COMMIT_TAG" - description: "https://gitlab.studip.de/studip/studip/-/blob/${CI_COMMIT_TAG}/ChangeLog" - tag_name: "$CI_COMMIT_TAG" - assets: - links: - - name: "studip-$CI_COMMIT_TAG.zip" - url: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/jobs/${GE_JOB_ID}/artifacts/.pkg/studip-$CI_COMMIT_TAG.zip" - link_type: package - - name: "studip-$CI_COMMIT_TAG.tar.gz" - url: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/jobs/${GE_JOB_ID}/artifacts/.pkg/studip-$CI_COMMIT_TAG.tar.gz" - link_type: package -- GitLab