diff --git a/.github/workflows/matomo-tests.yml b/.github/workflows/matomo-tests.yml new file mode 100644 index 0000000..97698c6 --- /dev/null +++ b/.github/workflows/matomo-tests.yml @@ -0,0 +1,50 @@ +# Action for running tests +# This file has been automatically created. +# To recreate it you can run this command +# ./console generate:test-action --plugin="JsTrackerCustom" --php-versions="7.2,8.1" --protect-artifacts + +name: Plugin JsTrackerCustom Tests + +on: + pull_request: + types: [opened, synchronize] + push: + branches: + - '**.x-dev' + workflow_dispatch: + +permissions: + actions: read + checks: none + contents: read + deployments: none + issues: read + packages: none + pull-requests: read + repository-projects: none + security-events: none + statuses: none + +concurrency: + group: php-${{ github.ref }} + cancel-in-progress: true + +jobs: + UI: + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v3 + with: + lfs: true + persist-credentials: false + - name: running tests + uses: matomo-org/github-action-tests@main + with: + plugin-name: 'JsTrackerCustom' + matomo-test-branch: 'maximum_supported_matomo' + test-type: 'UI' + php-version: '7.2' + node-version: '16' + artifacts-pass: ${{ secrets.ARTIFACTS_PASS }} + upload-artifacts: true + artifacts-protected: true diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index dc6d238..0000000 --- a/.travis.yml +++ /dev/null @@ -1,120 +0,0 @@ -# do not edit this file manually, instead run the generate:travis-yml console command - -language: php - -php: - - 7.2 - - 7.4 -# - hhvm - -services: - - redis-server - - mysql - -addons: - apt: - packages: - - nginx - - coreutils - - lftp - -git: - lfs_skip_smudge: true - -# Separate different test suites -env: - global: - - PLUGIN_NAME=JsTrackerCustom - - PIWIK_ROOT_DIR=$TRAVIS_BUILD_DIR/matomo - # this variable controls the version of Matomo your tests will run against. - # by default it will run against the maximum support version read from plugin.json - # (PIWIK_TEST_TARGET=maximum_supported_piwik). - # You can also specify a specific Matomo version - # (PIWIK_TEST_TARGET=2.16.0-b1). - - PIWIK_TEST_TARGET=4.x-dev - matrix: - - TEST_SUITE=UITests MYSQL_ADAPTER=PDO_MYSQL TEST_AGAINST_PIWIK_BRANCH=$PIWIK_TEST_TARGET - -matrix: - exclude: - # execute UI tests only w/ PHP 5.6 - - php: 7.4 - env: TEST_SUITE=UITests MYSQL_ADAPTER=PDO_MYSQL TEST_AGAINST_PIWIK_BRANCH=$PIWIK_TEST_TARGET - -dist: bionic - -sudo: false - -script: $PIWIK_ROOT_DIR/tests/travis/travis.sh - -before_install: - -install: - # move all contents of current repo (which contains the plugin) to a new directory - - mkdir $PLUGIN_NAME - - cp -R !($PLUGIN_NAME) $PLUGIN_NAME - - cp -R .git/ $PLUGIN_NAME/ - - cp .travis.yml $PLUGIN_NAME - # checkout matomo in the current directory - - git clone -q https://github.com/matomo-org/matomo.git matomo - - cd matomo - - git fetch -q --all - - git submodule update - - # make sure travis-scripts repo is latest for initial travis setup - - '[ -d ./tests/travis/.git ] || sh -c "rm -rf ./tests/travis && git clone https://github.com/matomo-org/travis-scripts.git ./tests/travis"' - - cd ./tests/travis ; git checkout master ; cd ../.. - - - export GENERATE_TRAVIS_YML_COMMAND="php ./tests/travis/generator/main.php generate:travis-yml --plugin=\"JsTrackerCustom\" --php-versions=\"7.2,7.4\" --distribution=\"bionic\" --sudo-false --verbose" - - '[[ "$TRAVIS_JOB_NUMBER" != *.1 || "$TRAVIS_PULL_REQUEST" != "false" ]] || ./tests/travis/autoupdate_travis_yml.sh' - - - ./tests/travis/checkout_test_against_branch.sh - - - '[ "$PLUGIN_NAME" == "" ] || [ ! -f ./tests/travis/check_plugin_compatible_with_piwik.php ] || php ./tests/travis/check_plugin_compatible_with_piwik.php "$PLUGIN_NAME"' - - - ./tests/travis/configure_git.sh - - # travis now complains about this failing 9 times out of 10, so removing it - #- travis_retry composer self-update - - '[ "$SKIP_COMPOSER_INSTALL" == "1" ] || travis_retry composer install' - - # move plugin contents to folder in the plugins subdirectory - - rm -rf plugins/$PLUGIN_NAME - - mv ../$PLUGIN_NAME plugins - - # clone dependent repos - - ./tests/travis/checkout_dependent_plugins.sh - -before_script: - - phpenv config-rm xdebug.ini - - # add always_populate_raw_post_data=-1 to php.ini - - echo "always_populate_raw_post_data=-1" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini - - # disable opcache to avoid random failures on travis - - echo "opcache.enable=0" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini - - # make tmpfs and run MySQL on it for reasonnable performance - - ./tests/travis/setup_mysql_tmpfs.sh - - - ./tests/travis/prepare.sh - - ./tests/travis/setup_webserver.sh - - ./tests/travis/install_phantomjs.sh; export PATH=$PWD/travis_phantomjs/phantomjs-2.1.1-linux-x86_64/bin:$PATH; - - - cd tests/PHPUnit - -after_script: - # change directory back to root travis dir - - cd $PIWIK_ROOT_DIR - - # output contents of files w/ debugging info to screen - - cat $PIWIK_ROOT_DIR/tests/travis/error.log - - cat $PIWIK_ROOT_DIR/tmp/php-fpm.log - - cat $PIWIK_ROOT_DIR/tmp/logs/matomo.log - - cat $PIWIK_ROOT_DIR/config/config.ini.php - - # upload test artifacts (for debugging travis failures) - - ./tests/travis/upload_artifacts.sh - -after_success: - - cd $PIWIK_ROOT_DIR