pipeline: db-wait: image: gitnet.fr/deblan/timeout:latest commands: - /bin/timeout -t 30 -v -c 'while true; do nc -z -v db 3306 2>&1 | grep succeeded && exit 0; sleep 0.5; done' db-create: image: mariadb:10.3 secrets: [mysqldump] commands: - mysql -hdb -uroot -proot -e "CREATE DATABASE app" - eval "$MYSQLDUMP" | mysql -hdb -uroot -proot app when: branch: [master, master-*, develop, develop-*] app-config: image: deblan/php:8.1 commands: - echo APP_ENV=prod >> .env.local - echo APP_SECRET=$(openssl rand -hex 32) >> .env.local - echo DATABASE_URL=mysql://root:root@db/app >> .env.local when: branch: [master, master-*, develop, develop-*] php-composer: image: deblan/php:8.1 commands: - apt-get update && apt-get -y install git - composer install --no-scripts db-migrate: image: deblan/php:8.1 environment: - PHP=php commands: - ./bin/doctrine-migrate when: branch: [master, master-*, develop, develop-*, feature/*] app-jsroutes: image: deblan/php:8.1 commands: - php bin/console fos:js-routing:dump --format=json --target=public/js/fos_js_routes.json when: branch: [master, master-*, develop, develop-*, feature/*] node-build: image: node:16-slim environment: - CPU_COUNT=3 commands: - npm install -g svg2ttf ttf2eot ttf2woff2 - svg2ttf assets/fonts/deblan/src/deblan-icon.svg assets/fonts/deblan/deblan-icon.ttf - cat assets/fonts/deblan/deblan-icon.ttf | ttf2woff2 > assets/fonts/deblan/deblan-icon.woff2 - ttf2eot assets/fonts/deblan/deblan-icon.ttf assets/fonts/deblan/deblan-icon.eot - yarn - test -f public/js/fos_js_routes.json || echo "{}" > public/js/fos_js_routes.json - npm run build security-check: image: gitnet.fr/deblan/osv-detector:v0.9 commands: - osv-detector composer.lock yarn.lock failure: ignore app-deploy: image: deblan/php:8.1 secrets: [ssh_user, ssh_host, ssh_priv_key, app_directory] commands: - apt-get update && apt-get -y install rsync openssh-client - mkdir "$HOME/.ssh" - echo "$SSH_PRIV_KEY" > "$HOME/.ssh/id_ed25519" - chmod 700 "$HOME/.ssh" - chmod 600 "$HOME/.ssh/id_ed25519" - composer global require andres-montanez/magallanes - cp .mage.yml.dist .mage.yml - sed -i "s/ssh_user/$SSH_USER/g" .mage.yml - sed -i "s/ssh_host/$SSH_HOST/g" .mage.yml - sed -i "s#app_directory#$APP_DIRECTORY#g" .mage.yml - /root/.config/composer/vendor/bin/mage deploy "$CI_BUILD_DEPLOY_TARGET" when: event: [deployment] services: db: image: mariadb:10.3 environment: - MARIADB_ROOT_PASSWORD=root