diff --git a/.github/misc/default.conf b/.github/misc/default.conf new file mode 100644 index 0000000..8aa0b69 --- /dev/null +++ b/.github/misc/default.conf @@ -0,0 +1,13 @@ + + # Variables in this file will be substituted in step "Setup Apache". + DocumentRoot _PWD + + + AllowOverride All + Require all granted + + + + SetHandler "proxy:unix:/run/php/php_PHP_V-fpm.sock|fcgi://localhost" + + diff --git a/.github/misc/settings.local.php b/.github/misc/settings.local.php new file mode 100644 index 0000000..b02216f --- /dev/null +++ b/.github/misc/settings.local.php @@ -0,0 +1,8 @@ +> $GITHUB_ENV + echo 'USE_PHP_V=8.3' >> $GITHUB_ENV + + - name: Install MariaDB + uses: shogo82148/actions-setup-mysql@v1 + with: + mysql-version: 'mariadb-10.11' + root-password: 'root' + auto-start: true + + - name: Verify setup and create database + run: | + echo -e '[client]\nuser = root\npassword = root\nhost = 127.0.0.1' > ~/.my.cnf + mysql -e 'SELECT version()\G' + mysql -e 'CREATE DATABASE backdrop;' + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ env.USE_PHP_V }} + coverage: none + tools: none + + - name: Checkout Backdrop core + uses: actions/checkout@v4 + with: + repository: backdrop/backdrop + + - name: Checkout dependency entity_plus + uses: actions/checkout@v4 + with: + repository: backdrop-contrib/entity_plus + path: modules/entity_plus + + - name: Checkout dependency entity_ui + uses: actions/checkout@v4 + with: + repository: backdrop-contrib/entity_ui + path: modules/entity_ui + + - name: Checkout dependency entity_token + uses: actions/checkout@v4 + with: + repository: backdrop-contrib/entity_token + path: modules/entity_token + + - name: Checkout dependency rules + uses: actions/checkout@v4 + with: + repository: backdrop-contrib/rules + path: modules/rules + + - name: Checkout module + uses: actions/checkout@v4 + with: + path: modules/${{ env.REPO_NAME }} + + - name: Setup Apache + run: | + sudo cp -f modules/${{ env.REPO_NAME }}/.github/misc/default.conf /etc/apache2/sites-available/000-default.conf + sudo sed -i -e "s?_PWD?$PWD?g" -e "s/_PHP_V/${{ env.USE_PHP_V }}/g" /etc/apache2/sites-available/000-default.conf + sudo apt-get install libapache2-mod-fcgid + sudo a2enmod rewrite proxy fcgid proxy_fcgi + sudo systemctl start apache2.service + sudo sed -i -e 's/user = www-data/user = runner/' /etc/php/${{ env.USE_PHP_V }}/fpm/pool.d/www.conf + sudo sed -i -e 's/listen.owner = www-data/listen.owner = runner/' /etc/php/${{ env.USE_PHP_V }}/fpm/pool.d/www.conf + sudo systemctl restart php${{ env.USE_PHP_V }}-fpm.service + + - name: Install Backdrop + run: | + cp modules/${{ env.REPO_NAME }}/.github/misc/settings.local.php . + core/scripts/install.sh --db-url=mysql://root:root@127.0.0.1/backdrop + + - name: Run functional tests + run: core/scripts/run-tests.sh --force --directory=modules/${{ env.REPO_NAME }} --verbose --color 2>&1