diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 00000000..7d07798b
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,61 @@
+name: build
+
+on:
+ push:
+ branches:
+ - master
+ pull_request:
+ branches:
+ - master
+
+jobs:
+ build:
+ strategy:
+ max-parallel: 1
+ matrix:
+ os: [ ubuntu-latest, windows-latest ]
+ java: [ 11 ]
+ runs-on: ${{ matrix.os }}
+ steps:
+ - name: "Checkout"
+ uses: actions/checkout@v2
+ with:
+ fetch-depth: 0
+ - name: Java ${{ matrix.java }}
+ uses: actions/setup-java@v1
+ with:
+ java-version: ${{ matrix.java }}
+ - name: "Cache Local Maven Repository"
+ uses: actions/cache@v1
+ with:
+ path: ~/.m2
+ key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
+ restore-keys: ${{ runner.os }}-m2
+ - name: "CheckStyle"
+ run: mvn validate --errors
+ - name: "Compile and Install"
+ run: mvn clean install -DskipTests --errors
+ - name: "Unit Tests"
+ run: mvn test --errors --fail-at-end
+ - name: "Integration Tests"
+ run: mvn failsafe:integration-test --errors --fail-at-end
+ # The following is only executed on Ubuntu on Java 11
+ - name: "CodeCov"
+ if: matrix.os == 'ubuntu-latest' && matrix.java == 11 && github.repository == 'castor-software/depclean'
+ uses: codecov/codecov-action@v1
+ with:
+ token: ${{ secrets.CODECOV_TOKEN }}
+ flags: unittests
+ - name: "Cache SonarCloud"
+ if: matrix.os == 'ubuntu-latest' && matrix.java == 11 && github.repository == 'castor-software/depclean'
+ uses: actions/cache@v1
+ with:
+ path: ~/.sonar/cache
+ key: ${{ runner.os }}-sonar
+ restore-keys: ${{ runner.os }}-sonar
+ - name: "SonarCloud"
+ if: matrix.os == 'ubuntu-latest' && matrix.java == 11 && github.repository == 'castor-software/depclean'
+ run: mvn sonar:sonar -Dsonar.projectKey=castor-software_depclean -Dsonar.organization=castor-software -Dsonar.host.url=https://sonarcloud.io -Dsonar.login=${{ secrets.SONAR_TOKEN }} -Dsonar.java.source=11 -Dsonar.java.target=11
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 3356714e..00000000
--- a/.travis.yml
+++ /dev/null
@@ -1,37 +0,0 @@
-language: java
-
-sudo: true
-
-os: linux
-
-dist: trusty
-
-jdk: openjdk11
-
-env:
- global:
- - M2_HOME="/usr/local/maven"
- matrix:
- - SCRIPT=depclean-maven-plugin.sh
-
-before_cache: rm -rf $HOME/.m2/se/kth/
-
-cache:
- directories:
- - $HOME/.m2
-
-before_install:
- - java -version
-
-install: true
-
-addons:
- sonarcloud:
- organization: "castor-software"
- token:
- secure: "RiCyn2GH1FqdhmHhuGfI6zSa8j4fekkp4MDsOwk16Hie4bDDwO0rDYF9GHx8RwpmuXN3C38yfqbWAbNnRkdbV7URUG18YSytMg1diM+WRawGaTmxS87zqEXaCN2PHu2rhmPSAsL7QZyf3+YFH6h2UCTzcIOf/HswALx2UOl2jpQVpe9A+mJhruBK2FLTmh7gfNAWdi8mrjLw6mUzS73SKV6T1Ell1pVUZrd8o3CAuQkFJTjy002rgicsL+I7aHT8XGASmW9yGr2hsReZCNhDKlqBfnADQmV5LO+mrT3XU3ivKQu36KosIomaDyikZqPFzzX1wa1KVXlds+oDaTesSRqdOVCB/BGbmV9bKnzGrHZZSi5kt91JDAqIoxUzvC8u5EEAvgVjLItsJflBUBlW6fIBYbjdec90bGaRU+A31iH5bDirWAeC5Z7JfvCpMr7W0pDqv6YJ7NKmpKXuZghDgQBmxPjp7tvEEB0YXXPUxoock9+SDB7E+6+JoEG3P0qU6Z6QZRwRqvRDXRlBXpz+cvhc04g+WrM9Ws15F6gzh2q2jAkGtGPtXjYX+rak2+gmjqXr16MMqd4eaJcW5X2rLBglk57+jhDGBdp3x1kC7kXraAKhhFNVCaLpwFS3pvzhxUxmGhKnLlU20qFA8BXtmwfyVEqMJxLxB5AHz3bitbc="
-
-script: ./.travis/$SCRIPT
-
-after_success:
- - mvn clean test jacoco:report coveralls:report
diff --git a/.travis/depclean-maven-plugin.sh b/.travis/depclean-maven-plugin.sh
deleted file mode 100755
index 6123f84a..00000000
--- a/.travis/depclean-maven-plugin.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/usr/bin/env bash
-
-mvn clean install -Ptravis
-mvn jacoco:report coveralls:report --fail-never
-mvn clean org.jacoco:jacoco-maven-plugin:prepare-agent install sonar:sonar -Dsonar.projectKey=castor-software_depclean
diff --git a/README.md b/README.md
index 1052afad..40f972d6 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
# DepClean
-[![Build Status](https://travis-ci.org/castor-software/depclean.svg?branch=master)](https://travis-ci.org/castor-software/depclean)
+[![build](https://github.com/castor-software/depclean/actions/workflows/build.yml/badge.svg)](https://github.com/castor-software/depclean/actions/workflows/build.yml)
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=castor-software_depclean&metric=alert_status)](https://sonarcloud.io/dashboard?id=castor-software_depclean)
[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=castor-software_depclean&metric=sqale_rating)](https://sonarcloud.io/dashboard?id=castor-software_depclean)
[![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=castor-software_depclean&metric=reliability_rating)](https://sonarcloud.io/dashboard?id=castor-software_depclean)
@@ -13,7 +13,7 @@
[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=castor-software_depclean&metric=ncloc)](https://sonarcloud.io/dashboard?id=castor-software_depclean)
[![Duplicated Lines (%)](https://sonarcloud.io/api/project_badges/measure?project=castor-software_depclean&metric=duplicated_lines_density)](https://sonarcloud.io/dashboard?id=castor-software_depclean)
[![Technical Debt](https://sonarcloud.io/api/project_badges/measure?project=castor-software_depclean&metric=sqale_index)](https://sonarcloud.io/dashboard?id=castor-software_depclean)
-[![Coverage Status](https://coveralls.io/repos/github/castor-software/depclean/badge.svg?branch=master)](https://coveralls.io/github/castor-software/depclean?branch=master)
+[![codecov](https://codecov.io/gh/castor-software/depclean/branch/master/graph/badge.svg?token=X0XE6R72OD)](https://codecov.io/gh/castor-software/depclean)
## What is DepClean?
diff --git a/pom.xml b/pom.xml
index 7a9c72a5..aa974b10 100644
--- a/pom.xml
+++ b/pom.xml
@@ -155,6 +155,13 @@
false
+
+
+ org.sonarsource.scanner.maven
+ sonar-maven-plugin
+
+ 3.7.0.1746
+