Skip to content
Snippets Groups Projects
.travis.yml 2.17 KiB
Newer Older
  • Learn to ignore specific revisions
  • n_herr03's avatar
    n_herr03 committed
    language: php
    os: linux
    dist: xenial
    
    cache:
      directories:
        - $HOME/.composer/cache
        - $HOME/.npm
    
    addons:
      postgresql: "9.6"
    
    services:
      - mysql
      - docker
    
    php:
      - 7.2
      - 7.3
      - 7.4
    
    env:
      jobs:
        - DB=pgsql MOODLE_BRANCH=MOODLE_37_STABLE
        - DB=pgsql MOODLE_BRANCH=MOODLE_38_STABLE
        - DB=pgsql MOODLE_BRANCH=MOODLE_39_STABLE
        - DB=pgsql MOODLE_BRANCH=master
        - DB=mysqli MOODLE_BRANCH=MOODLE_37_STABLE
        - DB=mysqli MOODLE_BRANCH=MOODLE_38_STABLE
        - DB=mysqli MOODLE_BRANCH=MOODLE_39_STABLE
        - DB=mysqli MOODLE_BRANCH=master
    
    before_install:
      - phpenv config-rm xdebug.ini
      - cd ../..
      - composer selfupdate
      - composer create-project -n --no-dev --prefer-dist moodlehq/moodle-plugin-ci ci ^3
      - export PATH="$(cd ci/bin; pwd):$(cd ci/vendor/bin; pwd):$PATH"
      - moodle-plugin-ci add-plugin Opencast-Moodle/moodle-block_opencast
      - moodle-plugin-ci add-plugin Opencast-Moodle/moodle-tool_opencast
    
    jobs:
      fast_finish: true
      include:
        # Prechecks against latest Moodle stable only.
        - stage: static
          php: 7.4
          env: DB=mysqli MOODLE_BRANCH=MOODLE_39_STABLE
          install:
            - moodle-plugin-ci install --no-init
          script:
            - moodle-plugin-ci phplint
            - moodle-plugin-ci phpcpd
            - moodle-plugin-ci phpmd
            - moodle-plugin-ci phpdoc
            - moodle-plugin-ci codechecker
            - moodle-plugin-ci savepoints
            - moodle-plugin-ci mustache
            - moodle-plugin-ci grunt
            - moodle-plugin-ci validate
        # Smaller build matrix for development builds
        - stage: develop
          php: 7.4
          env: DB=mysqli MOODLE_BRANCH=MOODLE_39_STABLE
      exclude:
        - php: 7.4
          env: DB=pgsql MOODLE_BRANCH=MOODLE_37_STABLE
        - php: 7.4
          env: DB=mysqli MOODLE_BRANCH=MOODLE_37_STABLE
    
    # Unit tests and behat tests against full matrix.
    install:
      - moodle-plugin-ci install
    script:
      - moodle-plugin-ci phpunit --coverage-clover
      - moodle-plugin-ci behat --profile chrome
    
    stages:
      - static
      - name: develop
        if: branch != master AND (type != pull_request OR head_branch != master) AND (tag IS blank)
      - name: test
        if: branch = master OR (type = pull_request AND head_branch = master) OR (tag IS present)