ci: rewrite GitHub Actions workflow

Change-Id: I8ed9443a92b22fd38043aa2ff585efe478d58424
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000..e988485
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,68 @@
+name: CI
+on:
+  push:
+    paths-ignore:
+      - 'docs/**'
+      - '*.md'
+      - '.mailmap'
+  workflow_dispatch:
+
+permissions:
+  contents: read
+
+jobs:
+  linux:
+    name: ${{ matrix.compiler }} on ${{ matrix.os }}
+    strategy:
+      fail-fast: false
+      matrix:
+        compiler: [g++-8, g++-9, g++-10, g++-11,
+                   clang++-7, clang++-8, clang++-9, clang++-10, clang++-11, clang++-12]
+        os: [ubuntu-20.04]
+        include:
+          - compiler: g++-7
+            os: ubuntu-18.04
+          - compiler: clang++-5.0
+            os: ubuntu-18.04
+          - compiler: clang++-6.0
+            os: ubuntu-18.04
+    runs-on: ${{ matrix.os }}
+    env:
+      CXX: ${{ matrix.compiler }}
+      NODE_LABELS: Linux Ubuntu
+      WAF_JOBS: 2
+    steps:
+      - name: Install C++ compiler
+        run: |
+          sudo apt-get -qy install ${CXX/clang++/clang}
+          ${CXX} --version
+      - name: Checkout
+        uses: actions/checkout@v2
+      - name: Build and test
+        run: ./.jenkins
+
+  macos:
+    name: Xcode ${{ matrix.xcode }} on ${{ matrix.os }}
+    strategy:
+      fail-fast: false
+      matrix:
+        xcode: ['11.3', '11.7', '12.4']
+        os: [macos-10.15]
+        include:
+          - xcode: '12.5'
+            os: macos-11
+          - xcode: '13'
+            os: macos-11
+    runs-on: ${{ matrix.os }}
+    env:
+      NODE_LABELS: OSX
+      WAF_JOBS: 3
+    steps:
+      - name: Set up Xcode
+        uses: maxim-lobanov/setup-xcode@v1
+        with:
+          xcode-version: ${{ matrix.xcode }}
+      - name: Checkout
+        uses: actions/checkout@v2
+      - name: Build and test
+        run: ./.jenkins
diff --git a/.github/workflows/waf-build-v03.yml b/.github/workflows/waf-build-v03.yml
deleted file mode 100644
index 9b66df0..0000000
--- a/.github/workflows/waf-build-v03.yml
+++ /dev/null
@@ -1,45 +0,0 @@
-name: build_v03
-
-on:
-  push:
-    branches: [ v0.3 ]
-  pull_request:
-    branches: [ v0.3 ]
-
-jobs:
-  build:
-
-    runs-on: ubuntu-18.04
-
-    steps:
-    - uses: actions/checkout@v2
-    - name: install dependencies for ndncxx
-      run: |
-        sudo apt-get install pkg-config libssl-dev libsqlite3-dev
-        wget -O boost-1.72.0-linux-18.04.tar.gz https://github.com/actions/boost-versions/releases/download/1.72.0-20200608.4/boost-1.72.0-linux-18.04-gcc-x64.tar.gz > /dev/null 2>&1
-        mkdir boost-1.72.0-linux-18.04
-        tar -xzf boost-1.72.0-linux-18.04.tar.gz -C boost-1.72.0-linux-18.04
-        cd boost-1.72.0-linux-18.04
-        ./bootstrap.sh > /dev/null 2>&1
-        sudo ./b2 install > /dev/null 2>&1
-        cd ..
-    - name: prepare ndncxx
-      run: |
-        git clone https://github.com/named-data/ndn-cxx.git
-        cd ndn-cxx
-        git checkout ndn-cxx-0.7.1
-        ./waf configure
-        ./waf 
-        sudo ./waf install
-        cd ..
-    - name: configure
-      run: ./waf configure --with-tests
-    - name: build
-      run: ./waf
-    - name: install
-      run: sudo ./waf install
-    - name: check
-      run: |
-        export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH"
-        sudo ldconfig
-        sudo ./build/unit-tests