Skip to content
Snippets Groups Projects
.travis.yml 2.28 KiB
Newer Older
  • Learn to ignore specific revisions
  • Jan Dageförde's avatar
    Jan Dageförde committed
    language: php
    
    os: linux
    dist: xenial
    
    Laur0r's avatar
    Laur0r committed
      postgresql: "9.6"
    
    Jan Dageförde's avatar
    Jan Dageförde committed
    
    cache:
      directories:
        - $HOME/.composer/cache
    
    Jan Dageförde's avatar
    Jan Dageförde committed
        - $HOME/.npm
    
    Jan Dageförde's avatar
    Jan Dageförde committed
    
    
    services:
      - mysql
    
      - docker
    
    Jan Dageförde's avatar
    Jan Dageförde committed
    php:
    
    Jan Dageförde's avatar
    Jan Dageförde committed
    
    env:
    
      jobs:
        - DB=pgsql MOODLE_BRANCH=MOODLE_35_STABLE
        - DB=pgsql MOODLE_BRANCH=MOODLE_38_STABLE
    
        - DB=pgsql MOODLE_BRANCH=MOODLE_39_STABLE
    
        - DB=pgsql MOODLE_BRANCH=MOODLE_310_STABLE
    
        - DB=pgsql MOODLE_BRANCH=master
        - DB=mysqli MOODLE_BRANCH=MOODLE_35_STABLE
        - DB=mysqli MOODLE_BRANCH=MOODLE_38_STABLE
    
        - DB=mysqli MOODLE_BRANCH=MOODLE_39_STABLE
    
        - DB=mysqli MOODLE_BRANCH=MOODLE_310_STABLE
    
        - DB=mysqli MOODLE_BRANCH=master
    
    Jan Dageförde's avatar
    Jan Dageförde committed
    
    before_install:
      - phpenv config-rm xdebug.ini
      - cd ../..
    
      - composer create-project -n --no-dev --prefer-dist moodlehq/moodle-plugin-ci ci ^3
    
    Jan Dageförde's avatar
    Jan Dageförde committed
      - export PATH="$(cd ci/bin; pwd):$(cd ci/vendor/bin; pwd):$PATH"
    
    
    Jan Dageförde's avatar
    Jan Dageförde committed
    jobs:
    
      fast_finish: true
    
    Jan Dageförde's avatar
    Jan Dageförde committed
      include:
        # Prechecks against latest Moodle stable only.
        - stage: static
    
          php: 7.4
    
          env: DB=mysqli MOODLE_BRANCH=MOODLE_310_STABLE
    
    Jan Dageförde's avatar
    Jan Dageförde committed
          install:
    
            - moodle-plugin-ci install --no-init
    
    Jan Dageförde's avatar
    Jan Dageförde committed
          script:
    
            - moodle-plugin-ci phpdoc
            - moodle-plugin-ci phplint
            - moodle-plugin-ci phpcpd
            - moodle-plugin-ci phpmd
            - moodle-plugin-ci codechecker
            - moodle-plugin-ci validate
            - moodle-plugin-ci savepoints
            - moodle-plugin-ci mustache
            - moodle-plugin-ci grunt
    
    Tobias Reischmann's avatar
    Tobias Reischmann committed
        # Smaller build matrix for development builds
        - stage: develop
    
          php: 7.4
    
          env: DB=mysqli MOODLE_BRANCH=MOODLE_310_STABLE
    
      exclude:
        - php: 7.3
          env: DB=pgsql MOODLE_BRANCH=MOODLE_35_STABLE
        - php: 7.3
          env: DB=mysqli MOODLE_BRANCH=MOODLE_35_STABLE
        - php: 7.4
          env: DB=pgsql MOODLE_BRANCH=MOODLE_35_STABLE
        - php: 7.4
          env: DB=mysqli MOODLE_BRANCH=MOODLE_35_STABLE
    
    Tobias Reischmann's avatar
    Tobias Reischmann committed
    # Unit tests and behat tests against full matrix.
    
    Jan Dageförde's avatar
    Jan Dageförde committed
    install:
      - moodle-plugin-ci install
    script:
      - moodle-plugin-ci phpunit --coverage-clover
    
      - moodle-plugin-ci behat
    
    Tobias Reischmann's avatar
    Tobias Reischmann committed
    after_success:
      - bash <(curl -s https://codecov.io/bash)
    
    Jan Dageförde's avatar
    Jan Dageförde committed
    
    stages:
      - static
    
    Tobias Reischmann's avatar
    Tobias Reischmann committed
      - 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)