diff --git a/.github/workflows/moodle-plugin-ci.yml b/.github/workflows/moodle-plugin-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..50f82b58e39ee0399b2fa6dc519c168287ac5e34
--- /dev/null
+++ b/.github/workflows/moodle-plugin-ci.yml
@@ -0,0 +1,106 @@
+name: Moodle Plugin CI
+
+on: [push, pull_request]
+
+jobs:
+ test:
+ runs-on: ubuntu-18.04
+
+ services:
+ postgres:
+ image: postgres:9.6
+ env:
+ POSTGRES_USER: 'postgres'
+ POSTGRES_HOST_AUTH_METHOD: 'trust'
+ ports:
+ - 5432:5432
+ options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 3
+ mariadb:
+ image: mariadb:10
+ env:
+ MYSQL_USER: 'root'
+ MYSQL_ALLOW_EMPTY_PASSWORD: "true"
+ ports:
+ - 3306:3306
+ options: --health-cmd="mysqladmin ping" --health-interval 10s --health-timeout 5s --health-retries 3
+
+ strategy:
+ fail-fast: false
+ matrix:
+ php: ['7.2', '7.3', '7.4']
+ moodle-branch: ['MOODLE_39_STABLE']
+ database: [pgsql, mariadb]
+
+ steps:
+ - name: Check out repository code
+ uses: actions/checkout@v2
+ with:
+ path: plugin
+
+ - name: Setup PHP ${{ matrix.php }}
+ uses: shivammathur/setup-php@v2
+ with:
+ php-version: ${{ matrix.php }}
+ coverage: none
+
+ - name: Initialise moodle-plugin-ci
+ run: |
+ composer create-project -n --no-dev --prefer-dist moodlehq/moodle-plugin-ci ci ^3
+ echo $(cd ci/bin; pwd) >> $GITHUB_PATH
+ echo $(cd ci/vendor/bin; pwd) >> $GITHUB_PATH
+ sudo locale-gen en_AU.UTF-8
+ echo "NVM_DIR=$HOME/.nvm" >> $GITHUB_ENV
+
+ - name: Install moodle-plugin-ci
+ run: |
+ moodle-plugin-ci install --plugin ./plugin --db-host=127.0.0.1
+ env:
+ DB: ${{ matrix.database }}
+ MOODLE_BRANCH: ${{ matrix.moodle-branch }}
+
+ - name: PHP Lint
+ if: ${{ always() }}
+ run: moodle-plugin-ci phplint
+
+ - name: PHP Copy/Paste Detector
+ continue-on-error: true # This step will show errors but will not fail
+ if: ${{ always() }}
+ run: moodle-plugin-ci phpcpd
+
+ - name: PHP Mess Detector
+ continue-on-error: true # This step will show errors but will not fail
+ if: ${{ always() }}
+ run: moodle-plugin-ci phpmd
+
+ - name: Moodle Code Checker
+ if: ${{ always() }}
+ run: moodle-plugin-ci codechecker --max-warnings 0
+
+ - name: Moodle PHPDoc Checker
+ if: ${{ always() }}
+ run: moodle-plugin-ci phpdoc
+
+ - name: Validating
+ if: ${{ always() }}
+ run: moodle-plugin-ci validate
+
+ - name: Check upgrade savepoints
+ if: ${{ always() }}
+ run: moodle-plugin-ci savepoints
+
+ - name: Mustache Lint
+ continue-on-error: true # This step will show errors but will not fail - This is intended as there are some warnings which can't be fixed by us
+ if: ${{ always() }}
+ run: moodle-plugin-ci mustache
+
+ - name: Grunt
+ if: ${{ always() }}
+ run: moodle-plugin-ci grunt --max-lint-warnings 0
+
+ - name: PHPUnit tests
+ if: ${{ always() }}
+ run: moodle-plugin-ci phpunit
+
+ - name: Behat features
+ if: ${{ always() }}
+ run: moodle-plugin-ci behat --profile chrome
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 0a8663f16300238e2728e432ab0081901121434d..0000000000000000000000000000000000000000
--- a/.travis.yml
+++ /dev/null
@@ -1,48 +0,0 @@
-language: php
-
-addons:
- postgresql: "9.6"
-
-services:
- - mysql
- - postgresql
- - docker
-
-cache:
- directories:
- - $HOME/.composer/cache
- - $HOME/.npm
-
-php:
- - 7.2
- - 7.3
- - 7.4
-
-env:
- global:
- - MOODLE_BRANCH=MOODLE_39_STABLE
- matrix:
- - DB=pgsql
- - DB=mysqli
-
-before_install:
- - phpenv config-rm xdebug.ini
- - cd ../..
- - 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"
-
-install:
- - moodle-plugin-ci install
-
-script:
- - 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 || true
- - moodle-plugin-ci grunt
- - moodle-plugin-ci phpdoc
- - moodle-plugin-ci phpunit
- - moodle-plugin-ci behat --dump --suite=boost_campus
diff --git a/CHANGES.md b/CHANGES.md
index 1eaa6652e597a34482d1f0907f490279f51c9e99..786248e803d80634147a103c614a60c71867aa15 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -4,6 +4,9 @@ moodle-theme_boost_campus
Changes
-------
+### Unreleased
+
+* 2021-02-05 - Move Moodle Plugin CI from Travis CI to Github actions
### Release v3.9-r5
diff --git a/README.md b/README.md
index ffbd40f2816c3514f06deee48d4669fedd58750f..d3ae81fbb7568d6407d010d16a289fdf1723e908 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
moodle-theme_boost_campus
=========================
-[](https://travis-ci.com/moodleuulm/moodle-theme_boost_campus)
+[](https://github.com/moodleuulm/moodle-theme_boost_campus/actions?query=workflow%3A%22Moodle+Plugin+CI%22+branch%3AMOODLE_39_STABLE)
Moodle Boost child theme which is intended to meet the needs of university campuses and adds several features and improvements