From bc1d8cd72cd9c5e7e849535db383b21235c4d808 Mon Sep 17 00:00:00 2001 From: Tacxticx88 <12997062+tacxticx88@users.noreply.github.com> Date: Mon, 31 Aug 2020 22:41:00 +0200 Subject: [PATCH] Implements Github actions and Integration tests Remove ocular Env test Enable coverage Setup integration Update env Update test suite Sync env variables name WIP Mongo Connect WIP publish port WIP localhost with publish port --- .github/workflows/testing-suite.yml | 59 +++++++++++++++++++++++++++++ codeception.yml | 6 +-- tests/_ci/.env.default | 10 ++--- tests/shim.php | 11 +++--- 4 files changed, 72 insertions(+), 14 deletions(-) create mode 100644 .github/workflows/testing-suite.yml diff --git a/.github/workflows/testing-suite.yml b/.github/workflows/testing-suite.yml new file mode 100644 index 0000000..ff6a7ca --- /dev/null +++ b/.github/workflows/testing-suite.yml @@ -0,0 +1,59 @@ +name: Testing Suite +on: [push, pull_request] + +jobs: + build-and-test-linux: + services: + mongodb: + image: mongo:4.2 + ports: + - 27017:27017 + runs-on: ${{ matrix.operating-system }} + strategy: + fail-fast: false + matrix: + operating-system: [ubuntu-latest] + php-versions: ['7.4'] + + name: PHP ${{ matrix.php-versions }} Test on ${{ matrix.operating-system }} + steps: + + - name: Git checkout + uses: actions/checkout@v2-beta + with: + fetch-depth: 1 + + - name: Get Composer Cache Directory + id: composer-cache + run: | + echo "::set-output name=dir::$(composer config cache-files-dir)" + - name: Setup Cache + uses: actions/cache@v1 + with: + path: ${{ steps.composer-cache.outputs.dir }} + key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} + restore-keys: | + ${{ runner.os }}-composer- + - name: Setup Composer Token + run: | + # To increase the Composer rate limit we're use GitHub authentication + if [ -n "${{ secrets.COMPOSER_TOKEN }}" ]; then + composer config github-oauth.github.com "${{ secrets.COMPOSER_TOKEN }}" + fi + - name: Setup PHP + uses: shivammathur/setup-php@v1 + with: + php-version: ${{ matrix.php-versions }} + ini-values: apc.enable_cli=on, session.save_path=/tmp + tools: pecl + extensions: mbstring, intl, json, imagick, phalcon + + - name: Install packages + run: composer install --prefer-dist + + - name: Setup tests + run: | + cp tests/_ci/.env.default .env + vendor/bin/codecept build + - name: Run integration tests + run: vendor/bin/codecept run --ext DotReporter integration --coverage --coverage-xml diff --git a/codeception.yml b/codeception.yml index 661bf22..2076b12 100644 --- a/codeception.yml +++ b/codeception.yml @@ -17,9 +17,9 @@ settings: memory_limit: 1024M lint: true -coverage: - # Disable Code Coverage by default to speed up Travis tests - enabled: false +#coverage: +# # Disable Code Coverage by default to speed up Travis tests +# enabled: false extensions: enabled: diff --git a/tests/_ci/.env.default b/tests/_ci/.env.default index e145f98..28eaaeb 100644 --- a/tests/_ci/.env.default +++ b/tests/_ci/.env.default @@ -5,8 +5,8 @@ PATH_OUTPUT="${PROJECT_PATH}tests/_output/" PATH_FIXTURES="${PROJECT_PATH}tests/_data/fixtures/" # Mongo -DATA_MONGODB_HOST="127.0.0.1" -DATA_MONGODB_PORT=27017 -DATA_MONGODB_USER="admin" -DATA_MONGODB_PASS="" -DATA_MONGODB_NAME="phalcon_test" +DATA_MONGO_HOST="127.0.0.1" +DATA_MONGO_PORT=27017 +DATA_MONGO_USER="" +DATA_MONGO_PASS="" +DATA_MONGO_NAME="phalcon_test" diff --git a/tests/shim.php b/tests/shim.php index f51091d..75f2da1 100644 --- a/tests/shim.php +++ b/tests/shim.php @@ -38,12 +38,11 @@ function loadEnvironment(string $root) /** * Necessary evil. We need to set some constants for INI files to work */ - defineFromEnv('DATA_MYSQL_CHARSET'); - defineFromEnv('DATA_MYSQL_HOST'); - defineFromEnv('DATA_MYSQL_NAME'); - defineFromEnv('DATA_MYSQL_PASS'); - defineFromEnv('DATA_MYSQL_PORT'); - defineFromEnv('DATA_MYSQL_USER'); + defineFromEnv('DATA_MONGODB_HOST'); + defineFromEnv('DATA_MONGODB_PORT'); + defineFromEnv('DATA_MONGODB_USER'); + defineFromEnv('DATA_MONGODB_PASS'); + defineFromEnv('DATA_MONGODB_NAME'); defineFromEnv('PATH_CACHE'); defineFromEnv('PATH_DATA'); defineFromEnv('PATH_OUTPUT');