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

Abandon Ubuntu 18.04 support #1036

Merged
merged 5 commits into from Aug 27, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
142 changes: 81 additions & 61 deletions .github/workflows/ccpp.yml
Expand Up @@ -12,6 +12,10 @@ jobs:

compiler-18:
runs-on: ubuntu-18.04
# Ubuntu 18.04 runner image will be unsupported by 2022-12-01.
# Set continue on error to avoid job failed by planned brownout.
# https://github.com/actions/runner-images/issues/6002
continue-on-error: true
env:
CC: ${{ matrix.sets.cc }}
CXX: ${{ matrix.sets.cxx }}
Expand All @@ -21,29 +25,15 @@ jobs:
- cc: gcc-7
cxx: g++-7
package: g++-7
- cc: gcc-8
cxx: g++-8
package: g++-8
- cc: clang-6.0
cxx: clang++-6.0
package: clang-6.0
- cc: clang-7
cxx: clang++-7
package: clang-7
# failed by SIGABRT on Ubuntu 20.04
# https://github.com/JDimproved/JDim/runs/2589523269?check_suite_focus=true
- cc: clang-9
cxx: clang++-9
package: clang-9
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
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 }}
sudo apt install libgnutls28-dev libgtest-dev libgtkmm-3.0-dev ninja-build zlib1g-dev ${{ matrix.sets.package }}
- name: install meson==0.49.0
run: |
python -m pip install --upgrade pip setuptools wheel
Expand All @@ -54,8 +44,8 @@ jobs:
- name: ninja -C builddir
run: ninja -C builddir
# Since Meson 0.57, `test` subcommand will only rebuild test program.
- name: meson test -C builddir
run: meson test -C builddir
- name: meson test -v -C builddir
run: meson test -v -C builddir
- name: ./builddir/src/jdim -V
run: ./builddir/src/jdim -V

Expand All @@ -67,36 +57,75 @@ jobs:
strategy:
matrix:
sets:
- cc: gcc-8
cxx: g++-8
package: g++-8
- cc: gcc-9
cxx: g++-9
package: g++-9
- cc: gcc-10
cxx: g++-10
package: g++-10
- cc: clang-7
cxx: clang++-7
package: clang-7
- cc: clang-8
cxx: clang++-8
package: clang-8
- cc: clang-9
cxx: clang++-9
package: clang-9
- cc: clang-10
cxx: clang++-10
package: clang-10
steps:
- uses: actions/checkout@v3
- name: dependencies installation
run: |
sudo apt update
sudo apt install libgnutls28-dev libgtest-dev libgtkmm-3.0-dev 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: ninja -C builddir
run: ninja -C builddir
- name: meson test -v -C builddir
run: meson test -v -C builddir
- name: ./builddir/src/jdim -V
run: ./builddir/src/jdim -V

compiler-22:
runs-on: ubuntu-22.04
env:
CC: ${{ matrix.sets.cc }}
CXX: ${{ matrix.sets.cxx }}
strategy:
matrix:
sets:
- cc: gcc-11
cxx: g++-11
package: g++-11
- cc: clang-11
cxx: clang++-11
package: clang-11
- cc: clang-12
cxx: clang++-12
package: clang-12
# Omit clang-12 due to jobs are too many.
- cc: clang-13
cxx: clang++-13
package: clang-13
- cc: clang-14
cxx: clang++-14
package: clang-14
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- 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 }}
sudo apt install libgnutls28-dev libgtest-dev libgtkmm-3.0-dev 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: ninja -C builddir
run: ninja -C builddir
- name: meson test -C builddir
run: meson test -C builddir
- name: meson test -v -C builddir
run: meson test -v -C builddir
- name: ./builddir/src/jdim -V
run: ./builddir/src/jdim -V

Expand All @@ -110,16 +139,12 @@ jobs:
strategy:
matrix:
sets:
- os: ubuntu-18.04
cc: gcc-7
cxx: g++-7
package: g++-7
- os: ubuntu-20.04
cc: gcc-9
cxx: g++-9
package: g++-9
- os: ubuntu-22.04
cc: gcc-11
cxx: g++-11
package: g++-11
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: dependencies installation
run: |
sudo apt update
Expand All @@ -135,14 +160,13 @@ jobs:
- name: ./src/jdim -V
run: ./src/jdim -V

library-18:
library-20:

runs-on: ubuntu-18.04
runs-on: ubuntu-20.04
env:
CC: gcc-7
CXX: g++-7
CC: gcc-9
CXX: g++-9
CXXFLAGS: -Og -pipe -D_DEBUG
GTEST_SRCDIR: /usr/src/googletest
strategy:
matrix:
deps:
Expand All @@ -153,11 +177,11 @@ jobs:
- config_args: --with-tls=openssl --with-sessionlib=xsmp --with-alsa --with-pangolayout
packages: libssl-dev libasound2-dev
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- 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
sudo apt install autoconf-archive libgtest-dev libtool libltdl-dev libgtkmm-3.0-dev ${{ matrix.deps.packages }} g++-9
- name: autoreconf -i
run: autoreconf -i
- name: ./configure ${{ matrix.deps.config_args }}
Expand All @@ -169,12 +193,12 @@ jobs:
- name: ./src/jdim -V
run: ./src/jdim -V

library-20:
library-22:

runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
env:
CC: gcc-9
CXX: g++-9
CC: gcc-11
CXX: g++-11
strategy:
matrix:
deps:
Expand All @@ -185,30 +209,26 @@ jobs:
- config_args: -Dtls=openssl -Dsessionlib=xsmp -Dalsa=enabled -Dpangolayout=enabled
packages: libssl-dev libasound2-dev
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- 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
sudo apt install meson libgtest-dev libgtkmm-3.0-dev ${{ matrix.deps.packages }} g++-11
- 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: ninja -C builddir
run: ninja -C builddir
- name: meson test -C builddir
run: meson test -C builddir
- name: meson test -v -C builddir
run: meson test -v -C builddir
- name: ./builddir/src/jdim -V
run: ./builddir/src/jdim -V

manual:
manual-build:

runs-on: ubuntu-18.04
env:
NOKOGIRI_USE_SYSTEM_LIBRARIES: true
runs-on: ubuntu-latest
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@v3
- uses: actions/jekyll-build-pages@v1
with:
source: ./docs
destination: ./docs/_site
6 changes: 4 additions & 2 deletions README.md
Expand Up @@ -44,14 +44,16 @@ JDim は GPLv2 の下で公開されている [JD][jd-project] からforkした
LinuxなどのUnixライクなOS(FreeBSD,OpenBSD,Nexenta,MacOSXでも動作報告例があります)。

##### サポートの最新情報
gccのバージョンが7未満のプラットフォームはサポートを終了しました。
Ubuntu 18.04(2018年)より前にリリースされたディストリビューションを利用されている場合は更新をお願いいたします。
Ubuntu 18.04のテスト環境が[使えなくなる][#1035]ため前倒しで18.04のサポートを放棄しました。
次のリリースまで動作環境の変更は行いませんが18.04では問題が起こるかもしれません。
Debian buster(2019年)より前にリリースされたディストリビューションを利用されている場合は更新をお願いいたします。

メンテナンスの都合によりWindows(MinGW)版のサポートは[終了][#445]しました。

Snap i386(32bit)版は2023年1月のリリースをもって[更新を終了][#890]する予定です。
i386版ディストロを利用されている場合は更新をお願いいたします。

[#1035]: https://github.com/JDimproved/JDim/issues/1035
[#445]: https://github.com/JDimproved/JDim/issues/445
[#890]: https://github.com/JDimproved/JDim/issues/890

Expand Down