Release v2.13.1 #646
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: build | |
on: [push, pull_request] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
env: | |
MYSQL_HOST_PORT: 3800 | |
MYSQL_DATABASE: monarc_common | |
MYSQL_ROOT_PASSWORD: root | |
MYSQL_USER: sqlmonarcuser | |
MYSQL_PASSWORD: password | |
MYSQL_VERSION: 10.6.18 | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Shutdown Ubuntu MySQL (SUDO) | |
run: sudo service mysql stop | |
- name: Start MariaDB and create databases | |
uses: getong/[email protected] | |
with: | |
host port: $MYSQL_HOST_PORT | |
mariadb version: $MYSQL_VERSION # Optional, default value is "latest". The version of the MariaDB | |
mysql database: $MYSQL_DATABASE # Optional, default value is "test". The specified database which will be create | |
mysql root password: $MYSQL_ROOT_PASSWORD # Required if "mysql user" is empty, default is empty. The root superuser password | |
mysql user: $MYSQL_USER # Required if "mysql root password" is empty, default is empty. The superuser for the specified database. Can use secrets, too | |
mysql password: $MYSQL_PASSWORD # Required if "mysql user" exists. The password for the "mysql user" | |
# - name: Start MySQL (SUDO) | |
# run: sudo service mysql start | |
- name: Setup PHP | |
uses: shivammathur/setup-php@v2 | |
with: | |
php-version: '8.1' | |
extensions: imagick, intl, xml, mysql, bcmath #optional, setup extensions | |
ini-values: post_max_size=256M, short_open_tag=On #optional, setup php.ini configuration | |
coverage: xdebug #optional, setup coverage driver | |
tools: pecl | |
- name: Validate composer.json and composer.lock | |
run: composer validate | |
- name: Install PHP dependencies | |
run: composer install --prefer-dist --no-progress --no-suggest --ignore-platform-req=php | |
- name: Create synlinks for MONARC PHP modules | |
run: | | |
mkdir -p module/Monarc | |
cd module/Monarc | |
ln -s ./../../vendor/monarc/core Core | |
ln -s ./../../vendor/monarc/frontoffice FrontOffice | |
cd ../.. | |
- name: Set MONARC configuration file | |
run: cp ./config/autoload/local.php.dist ./config/autoload/local.php | |
- name: Creating and populating databases | |
run: | | |
mysql -u root -p$MYSQL_ROOT_PASSWORD -P $MYSQL_HOST_PORT -e "CREATE DATABASE monarc_common DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;" | |
mysql -u root -p$MYSQL_ROOT_PASSWORD -P $MYSQL_HOST_PORT -e "CREATE DATABASE monarc_cli DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;" | |
mysql -u root -p$MYSQL_ROOT_PASSWORD -P $MYSQL_HOST_PORT -e "CREATE USER '$MYSQL_USER'@'%' IDENTIFIED BY '$MYSQL_PASSWORD';" | |
mysql -u root -p$MYSQL_ROOT_PASSWORD -P $MYSQL_HOST_PORT -e "GRANT ALL PRIVILEGES ON * . * TO '$MYSQL_USER'@'%';" | |
mysql -u root -p$MYSQL_ROOT_PASSWORD -P $MYSQL_HOST_PORT -e "FLUSH PRIVILEGES;" | |
mysql -u $MYSQL_USER -p$MYSQL_PASSWORD -P $MYSQL_HOST_PORT $MYSQL_DATABASE < db-bootstrap/monarc_structure.sql | |
mysql -u $MYSQL_USER -p$MYSQL_PASSWORD -P $MYSQL_HOST_PORT $MYSQL_DATABASE < db-bootstrap/monarc_data.sql | |
- name: Upgrading databases | |
run: | | |
./vendor/robmorgan/phinx/bin/phinx migrate -c ./module/Monarc/Core/migrations/phinx.php | |
./vendor/robmorgan/phinx/bin/phinx migrate -c ./module/Monarc/FrontOffice/migrations/phinx.php | |
- name: Creating initial user | |
run: ./vendor/robmorgan/phinx/bin/phinx seed:run -c ./module/Monarc/FrontOffice/migrations/phinx.php | |
# Add a test script to composer.json, for instance: "test": "vendor/bin/phpunit" | |
# Docs: https://getcomposer.org/doc/articles/scripts.md | |
# - name: Run test suite | |
# run: composer run-script test |