Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update CI settings #565

Merged
merged 2 commits into from
Jan 16, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
268 changes: 148 additions & 120 deletions .github/workflows/ccpp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,167 +10,195 @@ on:

jobs:

build-default:

runs-on: ${{ matrix.sets.os }}
compiler-18:
runs-on: ubuntu-18.04
env:
CC: ${{ matrix.sets.cc }}
CXX: ${{ matrix.sets.cxx }}
CXXFLAGS: ${{ matrix.sets.debug }}
strategy:
matrix:
sets:
- os: ubuntu-16.04
cc: gcc-5
cxx: g++-5
package: g++-5
debug: -Og -D_DEBUG
- os: ubuntu-18.04
cc: gcc-6
- cc: gcc-6
cxx: g++-6
package: g++-6
debug: -Og -D_DEBUG
- os: ubuntu-18.04
cc: gcc-7
- cc: gcc-7
cxx: g++-7
package: g++-7
debug: -Og -D_DEBUG
- os: ubuntu-18.04
cc: gcc-8
- cc: gcc-8
cxx: g++-8
package: g++-8
debug: -Og -D_DEBUG

- os: ubuntu-16.04
cc: clang-4.0
cxx: clang++-4.0
package: clang-4.0
debug: -Og -D_DEBUG
- os: ubuntu-18.04
cc: clang-5.0
- cc: clang-5.0
cxx: clang++-5.0
package: clang-5.0
debug: -Og -D_DEBUG
- os: ubuntu-18.04
cc: clang-6.0
- cc: clang-6.0
cxx: clang++-6.0
package: clang-6.0
debug: -Og -D_DEBUG
- os: ubuntu-18.04
cc: clang-7
- cc: clang-7
cxx: clang++-7
package: clang-7
debug: -Og -D_DEBUG
- os: ubuntu-18.04
cc: clang-8
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: '3.6'
- name: dependencies installation
run: |
sudo apt update
sudo apt install libgnutls28-dev libgtest-dev libgtkmm-3.0-dev libltdl-dev libtool ninja-build zlib1g-dev ${{ matrix.sets.package }}
- name: install meson==0.49.0
run: |
python -m pip install --upgrade pip setuptools wheel
pip install meson==0.49.0
- name: meson builddir -Dbuildtype=debug -Dcpp_args="-D_DEBUG"
run: meson builddir -Dbuildtype=debug -Dcpp_args="-D_DEBUG"
- name: meson test -C builddir
run: meson test -C builddir
- name: ./builddir/src/jdim -V
run: ./builddir/src/jdim -V

compiler-20:
runs-on: ubuntu-20.04
env:
CC: ${{ matrix.sets.cc }}
CXX: ${{ matrix.sets.cxx }}
strategy:
matrix:
sets:
- cc: gcc-9
cxx: g++-9
package: g++-9
- cc: gcc-10
cxx: g++-10
package: g++-10
- cc: clang-8
cxx: clang++-8
package: clang-8
debug: -Og -D_DEBUG
- cc: clang-9
cxx: clang++-9
package: clang-9
- cc: clang-10
cxx: clang++-10
package: clang-10
steps:
- uses: actions/checkout@v2
- name: dependencies installation
run: |
sudo apt update
sudo apt install libgnutls28-dev libgtest-dev libgtkmm-3.0-dev libltdl-dev libtool meson zlib1g-dev ${{ matrix.sets.package }}
- name: meson builddir -Dbuildtype=debug -Dcpp_args="-D_DEBUG"
run: meson builddir -Dbuildtype=debug -Dcpp_args="-D_DEBUG"
- name: meson test -C builddir
run: meson test -C builddir
- name: ./builddir/src/jdim -V
run: ./builddir/src/jdim -V

autotools:
runs-on: ${{ matrix.sets.os }}
env:
CC: ${{ matrix.sets.cc }}
CXX: ${{ matrix.sets.cxx }}
CXXFLAGS: -Og -pipe
GTEST_SRCDIR: /usr/src/googletest
strategy:
matrix:
sets:
- os: ubuntu-18.04
cc: clang-6.0
cxx: clang++-6.0
package: clang-6.0
debug:
cc: gcc-7
cxx: g++-7
package: g++-7
- os: ubuntu-20.04
cc: gcc-9
cxx: g++-9
package: g++-9
steps:
- uses: actions/checkout@v2
- name: dependencies installation
run: |
sudo apt update
sudo apt install autoconf-archive libgnutls28-dev libgtkmm-3.0-dev libltdl-dev libtool zlib1g-dev ${{ matrix.sets.package }}
# 16.04's libgtest-dev is not same directory hierarchy for google/googletest.
- name: fetch googletest 1.10.0
run: git clone --branch=release-1.10.0 --depth 1 https://github.com/google/googletest.git test/googletest
- name: autoreconf -i
run: autoreconf -i
- name: ./configure
run: ./configure
- name: make -j$(nproc)
run: make -j$(nproc)
- name: make check -j$(nproc)
run: make check -j$(nproc)
- name: ./src/jdim -V
run: ./src/jdim -V
- uses: actions/checkout@v2
- name: dependencies installation
run: |
sudo apt update
sudo apt install autoconf-archive libgnutls28-dev libgtest-dev libgtkmm-3.0-dev libltdl-dev libtool zlib1g-dev ${{ matrix.sets.package }}
- name: autoreconf -i
run: autoreconf -i
- name: ./configure
run: ./configure
- name: make -j$(nproc)
run: make -j$(nproc)
- name: make check -j$(nproc)
run: make check -j$(nproc)
- name: ./src/jdim -V
run: ./src/jdim -V

meson-build:
library-18:

runs-on: ubuntu-18.04
env:
CC: gcc-7
CXX: g++-7
CXXFLAGS: -Og -pipe -D_DEBUG
GTEST_SRCDIR: /usr/src/googletest
strategy:
matrix:
deps:
- config_args: --with-tls=gnutls --with-regex=oniguruma --with-sessionlib=xsmp --with-migemo --with-alsa --with-pangolayout
packages: libgnutls28-dev libonig-dev libmigemo-dev libasound2-dev
- config_args: --with-tls=openssl --with-regex=glib --with-sessionlib=no --with-migemo --disable-compat-cache-dir
packages: libssl-dev libmigemo-dev
- config_args: --with-tls=openssl --with-regex=oniguruma --with-sessionlib=xsmp --with-alsa --with-pangolayout
packages: libssl-dev libonig-dev libasound2-dev
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: '3.6'
- name: dependencies installation
run: |
sudo apt update
sudo apt install libgnutls28-dev libgtest-dev libgtkmm-3.0-dev libltdl-dev libtool ninja-build zlib1g-dev
- name: install meson==0.49.2
run: |
python -m pip install --upgrade pip setuptools wheel
pip install meson==0.49.2
- name: meson builddir
run: meson builddir
- name: meson test -C builddir
run: meson test -C builddir
- name: ./builddir/src/jdim -V
run: ./builddir/src/jdim -V
- uses: actions/checkout@v2
- name: dependencies installation (${{ matrix.deps.packages }})
run: |
sudo apt update
sudo apt install autoconf-archive libgtest-dev libtool libltdl-dev libgtkmm-3.0-dev ${{ matrix.deps.packages }} g++-7
- name: autoreconf -i
run: autoreconf -i
- name: ./configure ${{ matrix.deps.config_args }}
run: ./configure ${{ matrix.deps.config_args }}
- name: make -j$(nproc)
run: make -j$(nproc)
- name: make check -j$(nproc)
run: make check -j$(nproc)
- name: ./src/jdim -V
run: ./src/jdim -V

build-libs:
library-20:

runs-on: ubuntu-18.04
runs-on: ubuntu-20.04
env:
CC: ${{ matrix.compiler.cc }}
CXX: ${{ matrix.compiler.cxx }}
CXXFLAGS: -Og -D_DEBUG
GTEST_SRCDIR: /usr/src/googletest
CC: gcc-9
CXX: g++-9
strategy:
matrix:
compiler:
- cc: gcc-7
cxx: g++-7
package: g++-7
- cc: clang-6.0
cxx: clang++-6.0
package: clang-6.0
deps:
- config_args: --with-tls=gnutls --with-regex=posix --with-sessionlib=no --disable-compat-cache-dir
packages: libgnutls28-dev
- config_args: --with-tls=openssl --with-regex=oniguruma --with-migemo --with-pangolayout
packages: libssl-dev libonig-dev libmigemo-dev
- config_args: --with-tls=gnutls --with-regex=glib --with-alsa
packages: libgnutls28-dev libasound2-dev
- config_args: --with-tls=openssl --with-regex=glib
packages: libssl-dev
- config_args: -Dtls=gnutls -Dregex=oniguruma -Dsessionlib=xsmp -Dmigemo=enabled -Dalsa=enabled -Dpangolayout=enabled
packages: libgnutls28-dev libonig-dev libmigemo-dev libasound2-dev
- config_args: -Dtls=openssl -Dregex=glib -Dsessionlib=no -Dmigemo=enabled -Dcompat_cache_dir=disabled
packages: libssl-dev libmigemo-dev
- config_args: -Dtls=openssl -Dregex=oniguruma -Dsessionlib=xsmp -Dalsa=enabled -Dpangolayout=enabled
packages: libssl-dev libonig-dev libasound2-dev
steps:
- uses: actions/checkout@v2
- name: dependencies installation (${{ matrix.deps.packages }})
run: |
sudo apt update
sudo apt install autoconf-archive libgtest-dev libtool libltdl-dev libgtkmm-3.0-dev ${{ matrix.deps.packages }} ${{ matrix.compiler.package }}
- name: autoreconf -i
run: autoreconf -i
- name: ./configure ${{ matrix.deps.config_args }}
run: ./configure ${{ matrix.deps.config_args }}
- name: make -j$(nproc)
run: make -j$(nproc)
- name: make check -j$(nproc)
run: make check -j$(nproc)
- name: ./src/jdim -V
run: ./src/jdim -V
- uses: actions/checkout@v2
- name: dependencies installation (${{ matrix.deps.packages }})
run: |
sudo apt update
sudo apt install meson libgtest-dev libtool libltdl-dev libgtkmm-3.0-dev ${{ matrix.deps.packages }} g++-9
- name: meson builddir -Dbuildtype=debug -Dcpp_args="-D_DEBUG" ${{ matrix.deps.config_args }}
run: meson builddir -Dbuildtype=debug -Dcpp_args="-D_DEBUG" ${{ matrix.deps.config_args }}
- name: meson test -C builddir
run: meson test -C builddir
- name: ./builddir/src/jdim -V
run: ./builddir/src/jdim -V

manual:

runs-on: ubuntu-18.04
env:
NOKOGIRI_USE_SYSTEM_LIBRARIES: true
steps:
- uses: actions/checkout@v2
- name: dependencies installation
run: |
sudo apt update
sudo apt install ruby-dev ruby-bundler libcurl4-openssl-dev libxslt1-dev
- name: make -j$(nproc) -C docs build
run: make -j$(nproc) -C docs build
- uses: actions/checkout@v2
- name: dependencies installation
run: |
sudo apt update
sudo apt install ruby-dev ruby-bundler libcurl4-openssl-dev libxslt1-dev
- name: make -j$(nproc) -C docs build
run: make -j$(nproc) -C docs build