diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..e95c59bd566c2b2b4d7931a167b9729c95ab3dc8_LmdpdGh1Yi93b3JrZmxvd3MvbWFpbi55bWw=
--- /dev/null
+++ b/.github/workflows/main.yml
@@ -0,0 +1,57 @@
+name: linux/mac
+
+on:
+  push:
+    branches: [ '*' ]
+  pull_request:
+    branches: [ master ]
+
+jobs:
+
+  build:
+
+    runs-on: ${{ matrix.os }}
+    strategy:
+      matrix:
+        compiler:
+        - gcc
+        - clang
+        os:
+        - ubuntu-latest
+        - macOS-latest
+
+    steps:
+    - uses: actions/checkout@v2
+
+    - run: env | sort
+    - name: Install software
+      run: |
+        if [[ '${{ matrix.os }}' == macOS-latest ]]; then
+          brew install automake coreutils
+        fi
+    - name: Fetch branches
+      run: |
+        git config remote.origin.fetch +refs/heads/*:refs/remotes/origin/*
+        git fetch --unshallow
+
+    - run: ./bootstrap
+    - run: ./configure
+    - run: make
+    - run: make test-all
+
+    - run: |
+        git clean -d -x -f
+        rm -fr tests/run-test-suite
+        git worktree prune
+
+    - name: Compiler version
+      run: ${{ matrix.compiler }} --version
+      env:
+        CC: ${{ matrix.compiler }}
+    - run: cmake .
+      env:
+        CC: ${{ matrix.compiler }}
+    - run: make
+      env:
+        CC: ${{ matrix.compiler }}
+    - run: make test
diff --git a/.travis.yml b/.travis.yml
index b2745d1b5571f7ec2eba2cfd9f6a8668cf8188e7_LnRyYXZpcy55bWw=..e95c59bd566c2b2b4d7931a167b9729c95ab3dc8_LnRyYXZpcy55bWw= 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -18,6 +18,7 @@
 # Travis branch-specific clone problem workaround:
 - git config remote.origin.fetch +refs/heads/*:refs/remotes/origin/*
 - git fetch
+- env | sort
 
 - if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then
     pip install --user scikit-ci-addons==0.15.0;