image: registry.gitlab.tugraz.at/dbp/relay/dbp-relay-server-template/main:v2 before_script: - 'git config --global url."https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.tugraz.at/".insteadOf "git@gitlab.tugraz.at:"' - 'git config --global url."https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.tugraz.at/".insteadOf "https://gitlab.tugraz.at/"' variables: COMPOSER_CACHE_DIR: "$CI_PROJECT_DIR/_composer_cache" cache: key: ${CI_PROJECT_PATH} paths: - _composer_cache stages: - test - deploy - e2e .test_defaults: &test_defaults script: - sudo update-alternatives --set php "/usr/bin/${PHP}" - composer install - composer test test-php7.3: stage: test variables: PHP: "php7.3" <<: *test_defaults test-php7.4: stage: test variables: PHP: "php7.4" <<: *test_defaults test-php8.0: stage: test variables: PHP: "php8.0" <<: *test_defaults linting: stage: test allow_failure: true script: - sudo update-alternatives --set php /usr/bin/php7.4 - composer install - result=0 - composer run cs || result=1 - composer run phpstan || result=1 - composer run psalm || result=1 - exit $result .deploy_defaults: &deploy_defaults needs: ["test-php7.3", "test-php7.4"] except: - schedules stage: deploy script: - sudo update-alternatives --set php /usr/bin/php7.3 # Add ssh key - mkdir -p ~/.ssh - echo "${DEPLOY_KEY}" | tr -d '\r' > ~/.ssh/id_rsa - chmod 700 ~/.ssh && chmod 600 ~/.ssh/id_rsa - ssh-keyscan -t rsa "${DEPLOY_HOST}" >> ~/.ssh/known_hosts # Deploy - dep deploy --file ./.gitlab-ci/deploy.php "${CI_ENVIRONMENT_NAME}" - echo "Deployed to ${CI_ENVIRONMENT_URL}" # Simple health check - curl --max-time 10 --retry 3 --output /dev/null --silent --show-error --fail --location "${CI_ENVIRONMENT_URL}" deploy_development: only: refs: - main environment: name: development url: https://api-template-dev.tugraz.at/ variables: DEPLOY_HOST: mw01-dev.tugraz.at DEPLOY_KEY: "$DEPLOY_SSH_KEY" <<: *deploy_defaults e2e_tests: only: refs: - main variables: E2E_PROJECT: rest stage: e2e trigger: project: dbp/e2e-tests strategy: depend