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