Repository: JsonMapper/JsonMapper (php)

Issue:
Travis builds no longer work due to new payment model. 
**Describe the bug**
With the new approach of Travis in their payment model builds are no longer running. We should complete the step to coverage from the GitHub actions. 

**To Reproduce**
Steps to reproduce the behavior:
When running builds on Travis they don’t complete as there ar w no credits available. 

**Expected behavior**
The build should be complete running on GitHub actions including coverage.  

**Stacktrace**
N/A

**Environment (please complete the following information):**
 - Travis-ci.com
 
**Additional context**
N/A

**Todo:**
- [x] Remove Travis config
- [x] Replace build status badge
- [x] Update mergify config to look at GitHub Actions results
- [x] Add coveralls upload to GitHub Actions workflow
- [ ] Update protected branches config to no longer require travis but require GitHub Actions 

Pull request:
Finish migration to GitHub actions
Would resolve #72 

Patch:
diff --git a/.mergify.yml b/.mergify.yml
index 2372e72..237d50d 100644
--- a/.mergify.yml
+++ b/.mergify.yml
@@ -2,7 +2,7 @@ pull_request_rules:
   - name: automatic merge for Dependabot pull requests
     conditions:
       - author~=^dependabot(|-preview)\[bot\]$
-      - status-success=Travis CI - Pull Request
+      - check-success=Build
     actions:
       merge:
         method: squash
\ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index c2c5b0c..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,56 +0,0 @@
-language: php
-
-cache:
-  directories:
-    - $HOME/.composer/cache
-
-matrix:
-  include:
-    # Latest dependencies with all PHP versions
-    - php: 7.2
-    - php: 7.2
-      env: COMPOSER_UPDATE_FLAGS='--prefer-lowest --prefer-stable'
-    - php: 7.3
-    - php: 7.3
-      env: COMPOSER_UPDATE_FLAGS='--prefer-lowest --prefer-stable'
-    - php: 7.4
-    - php: 7.4
-      env: COMPOSER_UPDATE_FLAGS='--prefer-lowest --prefer-stable'
-    - php: 8.0
-    - php: 8.0
-      env: COMPOSER_UPDATE_FLAGS='--prefer-lowest --prefer-stable'
-
-      # Ignore the platform requirements for the upcoming PHP version
-    - php: nightly
-      env:
-          PHP_INI='xdebug.mode=coverage'
-    - php: nightly
-      env:
-          COMPOSER_UPDATE_FLAGS='--prefer-lowest --prefer-stable'
-          PHP_INI='xdebug.mode=coverage'
-  allow_failures:
-    - php: nightly
-  fast_finish: true
-
-branches:
-  only:
-    - master
-    - develop
-
-install:
-  - curl -s http://getcomposer.org/installer | php
-  - php composer.phar install --no-interaction
-  - if [[ -n $COMPOSER_UPDATE_FLAGS ]]; then php composer.phar update $COMPOSER_UPDATE_FLAGS; fi
-  - if [[ -n $PHP_INI ]]; then echo $PHP_INI >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini; fi
-
-script:
-  - mkdir -p build/logs;
-  - composer unit-tests
-  - composer integration-tests
-
-after_success:
-  - travis_retry php vendor/bin/php-coveralls
-
-notifications:
-  email:
-    - danny.vandersluijs@icloud.com
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 18f71e5..9b9263b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 - Support variadic setter function. [PR#68](https://github.com/JsonMapper/JsonMapper/pull/68)
 ### Fixed
 - Include PHP 8.0 in the build matrix. [PR#70](https://github.com/JsonMapper/JsonMapper/pull/70)
+- Complete switch to GitHub Actions and remove Travis. [PR#73](https://github.com/JsonMapper/JsonMapper/pull/73)
 
 ## [2.0.0] - 2021-01-07
 ### Changed
diff --git a/README.md b/README.md
index 6d19a0a..a22638d 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,7 @@ For more information see the project website: https://jsonmapper.net/
 [![GitHub](https://img.shields.io/github/license/JsonMapper/JsonMapper)](https://choosealicense.com/licenses/mit/)
 [![Packagist Version](https://img.shields.io/packagist/v/json-mapper/json-mapper)](https://packagist.org/packages/json-mapper/json-mapper) 
 [![PHP from Packagist](https://img.shields.io/packagist/php-v/json-mapper/json-mapper)](#)
-[![Build Status](https://api.travis-ci.com/JsonMapper/JsonMapper.svg?branch=master)](https://travis-ci.com/JsonMapper/JsonMapper) 
+![Build](https://github.com/JsonMapper/JsonMapper/workflows/Build/badge.svg?branch=master)
 [![Coverage Status](https://coveralls.io/repos/github/JsonMapper/JsonMapper/badge.svg?branch=develop)](https://coveralls.io/github/JsonMapper/JsonMapper?branch=develop)
 
 # Why use JsonMapper
diff --git a/composer.json b/composer.json
index 8e9d847..efaa7c9 100644
--- a/composer.json
+++ b/composer.json
@@ -22,8 +22,9 @@
     "require-dev": {
         "squizlabs/php_codesniffer": "^3.5",
         "phpstan/phpstan": "^0.12.14",
-        "php-coveralls/php-coveralls": "^2.2",
-        "phpunit/phpunit": "^8.5 || ^9.0"
+        "php-coveralls/php-coveralls": "^2.4",
+        "phpunit/phpunit": "^8.5 || ^9.0",
+        "guzzlehttp/guzzle": "^6.5 || ^7.0"
     },
     "autoload": {
         "psr-4": {


Test patch:
diff --git a/.github/workflows/run-tests.yaml b/.github/workflows/build.yaml
similarity index 74%
rename from .github/workflows/run-tests.yaml
rename to .github/workflows/build.yaml
index 8b2d31b..d7a74cf 100644
--- a/.github/workflows/run-tests.yaml
+++ b/.github/workflows/build.yaml
@@ -1,4 +1,4 @@
-name: Run tests
+name: Build
 
 on:
   push:
@@ -73,7 +73,7 @@ jobs:
 
     - name: Update dependencies
       if: matrix.composer_update_flags
-      run: composer update ${{ matrix.composer_update_flags }}
+      run: composer update ${{ matrix.composer_update_flags }} && composer update phpunit/phpunit --with-dependencies
       continue-on-error: ${{ matrix.allow_fail }}
       
     - name: Create log folder
@@ -85,4 +85,23 @@ jobs:
 
     - name: Run integration tests
       run: composer integration-tests
-      continue-on-error: ${{ matrix.allow_fail }}
\ No newline at end of file
+      continue-on-error: ${{ matrix.allow_fail }}
+
+    - name: Upload test coverage
+      run: php vendor/bin/php-coveralls -vvv
+      env:
+        COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+        COVERALLS_PARALLEL: true
+        COVERALLS_FLAG_NAME: ${{ matrix.name }}
+      continue-on-error: ${{ matrix.allow_fail }}
+
+  finish:
+    needs: build
+    runs-on: ubuntu-latest
+    steps:
+      - name: Coveralls Finished
+        run: |
+          curl --header "Content-Type: application/json" \
+            --request POST \
+            --data '{"repo_token":"${{ secrets.GITHUB_TOKEN }}","repo_name":"JsonMapper/JsonMapper", "payload": {"build_num": "${{ github.sha }}", "status": "done"}}' \
+            https://coveralls.io/webhook