Skip to content

Commit 7096463

Browse files
fix #634 Ubuntu 22.04 CI (#654)
1 parent 53c0e2b commit 7096463

File tree

4 files changed

+179
-16
lines changed

4 files changed

+179
-16
lines changed

.github/workflows/ccpp.yml

Lines changed: 96 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,100 @@ jobs:
261261
name: nelson-github-action-artifacts-macos64-${{ env.PACKAGE_VERSION }}.${{ github.run_number }}
262262
path: artifacts/
263263

264+
Jammy:
265+
name: Ubuntu-22.04 Jammy
266+
runs-on: ubuntu-22.04
267+
timeout-minutes: 120
268+
269+
steps:
270+
- name: install dependencies
271+
run: |
272+
sudo apt update;
273+
sudo apt upgrade;
274+
sudo apt -y install apt-transport-https ca-certificates gnupg software-properties-common wget ;
275+
sudo apt -y install ninja-build;
276+
sudo apt -y install xvfb;
277+
sudo apt -y install libopenmpi-dev;
278+
sudo apt -y install autotools-dev;
279+
sudo apt -y install libtool;
280+
sudo apt -y install automake;
281+
sudo apt -y install openmpi-bin;
282+
sudo apt -y install gettext;
283+
sudo apt -y install pkg-config;
284+
sudo apt -y install libffi-dev;
285+
sudo apt -y install libicu-dev;
286+
sudo apt -y install libxml2-dev;
287+
sudo apt -y install liblapack-dev;
288+
sudo apt -y install liblapacke-dev;
289+
sudo apt -y install fftw3;
290+
sudo apt -y install fftw3-dev;
291+
sudo apt -y install libasound-dev;
292+
sudo apt -y install portaudio19-dev;
293+
sudo apt -y install libsndfile1-dev;
294+
sudo apt -y install libtag1-dev;
295+
sudo apt -y install alsa-utils;
296+
sudo apt -y install libslicot-dev;
297+
sudo apt -y install libsqlite3-dev;
298+
sudo apt -y install libgl-dev;
299+
sudo apt -y install hdf5-tools;
300+
sudo apt -y install zlib1g-dev;
301+
sudo apt -y install libcurl4-openssl-dev;
302+
sudo apt -y install libgit2-dev;
303+
sudo apt -y install libboost-all-dev;
304+
sudo apt -y install libeigen3-dev;
305+
sudo apt -y install libhdf5-dev;
306+
sudo apt -y install libmatio-dev;
307+
sudo apt -y install qt6-base-dev;
308+
sudo apt -y install qt6-declarative-dev;
309+
sudo apt -y install qt6-documentation-tools;
310+
sudo apt -y install qml6-module-qtquick;
311+
sudo apt -y install qml6-module-qtquick-templates;
312+
sudo apt -y install qml6-module-qtquick-controls;
313+
sudo apt -y install qml6-module-qtquick-window;
314+
sudo apt -y install qml6-module-qtquick-dialogs;
315+
sudo apt -y install qml6-module-qtqml-workerscript;
316+
sudo apt -y install qml6-module-qtquick-layouts;
317+
sudo apt -y install assistant-qt6;
318+
sudo apt -y install qt6-tools-dev;
319+
320+
- name: Checkout
321+
uses: actions/checkout@v2
322+
323+
- name: Get package version
324+
uses: nyaascii/package-version@v1
325+
326+
- name: Update version
327+
run: |
328+
python $GITHUB_WORKSPACE/tools/update_version/update_version.py
329+
- name: CMake
330+
run: cmake -DCMAKE_BUILD_TYPE=Release -DQTDIR="/usr/lib/qt6" -G "Ninja" .
331+
- name: make with Ninja
332+
run: cmake --build . -- -j $(nproc)
333+
- name: get module skeleton
334+
run: |
335+
cmake --build . -- get_module_skeleton
336+
- name: build help
337+
run: |
338+
cmake --build . -- buildhelp
339+
- name: minimal tests
340+
run: cmake --build . -- tests_minimal
341+
- name: package
342+
run: cmake --build . -- package
343+
- name: Install
344+
run: sudo ninja install
345+
- name: all benchs
346+
run: |
347+
xvfb-run -a ninja benchs_all
348+
- name: all tests
349+
run: |
350+
xvfb-run -a ninja tests_all
351+
- name: Copy artifacts
352+
run: mkdir artifacts && mv tests_all*.* artifacts && mv benchs_all*.* artifacts && mv Nelson-*.tar.Z artifacts
353+
- uses: actions/upload-artifact@v1
354+
with:
355+
name: nelson-github-action-artifacts-linux-ubuntu-22-04-amd64-${{env.PACKAGE_VERSION}}.${{ github.run_number }}
356+
path: artifacts/
357+
264358
Focal:
265359
name: Ubuntu-20.04 Focal
266360
runs-on: ubuntu-20.04
@@ -270,7 +364,7 @@ jobs:
270364
- name: install dependencies
271365
run: |
272366
sudo apt update;
273-
sudo apt install apt-transport-https ca-certificates gnupg software-properties-common wget ;
367+
sudo apt -y install apt-transport-https ca-certificates gnupg software-properties-common wget ;
274368
sudo apt -y autoremove cmake-data;
275369
sudo apt -y remove --purge --auto-remove cmake;
276370
sudo rm -rf /usr/local/bin/cmake
@@ -864,4 +958,4 @@ jobs:
864958
- uses: actions/upload-artifact@v1
865959
with:
866960
name: nelson-github-action-artifacts-windows-amd64-${{ env.PACKAGE_VERSION }}.${{ github.run_number }}
867-
path: artifacts/
961+
path: artifacts/

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
1414

1515
- MacOs 12 Monterey Github CI.
1616

17+
- [#634](http://github.com/Nelson-numerical-software/nelson/issues/634): Ubuntu 22.04 CI.
18+
1719
### Changed
1820

1921
- [#631](http://github.com/Nelson-numerical-software/nelson/issues/631): Qt6 used as default distribution on some OS platforms.

modules/slicot/tests/test_slicot_sb02od.m

Lines changed: 40 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,25 +50,59 @@
5050
BETA_REF = [1.4641 1.4641 1.4641 1.4641];
5151
assert_isapprox(BETA, BETA_REF, 1e-4);
5252
%=============================================================================
53-
S_REF = [-0.4330 -0.4854 -0.1369 0.2412 0.0000;
53+
S_REF_1 = [-0.4330 -0.4854 -0.1369 0.2412 0.0000;
5454
0.6423 -0.9256 0.3262 0.1744 0.6180;
5555
0.0000 0.0000 0.5196 -0.3606 0.0000;
5656
0.0000 0.0000 0.6441 0.7610 0.0000;
5757
0.0000 0.0000 0.0000 -0.4472 -1.1180];
58-
assert_isapprox(S, S_REF, 1e-4);
58+
59+
S_REF_2 = [-0.4330 -0.4854 0.1369 -0.2412 0;
60+
0.6423 -0.9256 -0.3262 -0.1744 0.6180;
61+
0 0 0.5196 -0.3606 0;
62+
0 0 0.6441 0.7610 0;
63+
0 0 0 -0.4472 -1.1180];
64+
65+
REF_CASE = 0;
66+
if isapprox(S, S_REF_1, 1e-4)
67+
REF_CASE = 1;
68+
else
69+
REF_CASE = 2;
70+
end
71+
assert_istrue(isapprox(S, S_REF_1, 1e-4) || isapprox(S, S_REF_2, 1e-4));
5972
%=============================================================================
60-
T_REF = [1.0000 0.0000 -0.0000 0.0000;
73+
T_REF_1 = [1.0000 0.0000 -0.0000 0.0000;
6174
0.0000 0.7125 -0.0000 0.5462;
6275
0.0000 0.0000 1.0000 0.0000;
6376
0.0000 0.0000 0.0000 0.6276;
6477
0.0000 -0.8944 0.0000 0.0000];
65-
assert_isapprox(T, T_REF, 1e-4);
78+
79+
T_REF_2 = [1.0000 -0 -0.0000 0.0000;
80+
0 0.7125 -0.0000 -0.5462;
81+
0 0 1.0000 -0;
82+
0 0 0 0.6276;
83+
0 -0.8944 0 0];
84+
85+
if (REF_CASE == 1)
86+
assert_isapprox(T, T_REF_1, 1e-4);
87+
else
88+
assert_isapprox(T, T_REF_2, 1e-4);
89+
end
6690
%=============================================================================
67-
U_REF = [-0.7071 -0.3397 0.4472 -0.4297;
91+
U_REF_1 = [-0.7071 -0.3397 0.4472 -0.4297;
6892
0.0000 0.7845 0.0000 -0.6202;
6993
-0.6124 0.0981 -0.7746 0.1240;
7094
-0.3536 0.5095 0.4472 0.6445];
71-
assert_isapprox(U, U_REF, 1e-4);
95+
96+
U_REF_2 = [-0.7071 -0.3397 -0.4472 0.4297;
97+
-0.0000 0.7845 0.0000 0.6202;
98+
-0.6124 0.0981 0.7746 -0.1240;
99+
-0.3536 0.5095 -0.4472 -0.6445];
100+
101+
if (REF_CASE == 1)
102+
assert_isapprox(U, U_REF_1, 1e-4);
103+
else
104+
assert_isapprox(U, U_REF_2, 1e-4);
105+
end
72106
%=============================================================================
73107
INFO_REF = int32(0);
74108
assert_isequal(INFO, INFO_REF);

modules/slicot/tests/test_slicot_sg02ad.m

Lines changed: 41 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -55,25 +55,58 @@
5555
BETA_REF = [1.4641 1.4641 1.4641 1.4641];
5656
assert_isapprox(BETA, BETA_REF, 1e-4);
5757
%=============================================================================
58-
S_REF = [-0.6928 -0.3883 -0.2739 0.3070 0.0000;
58+
S_REF_1 = [-0.6928 -0.3883 -0.2739 0.3070 0.0000;
5959
0.6481 -0.9340 -0.4148 -0.7853 0.4142;
6060
0.0000 0.0000 0.6495 -0.4507 0.0000;
6161
0.0000 0.0000 0.5183 0.8517 0.0000;
6262
0.0000 0.0000 0.0000 -0.7071 -1.4142];
63-
assert_isapprox(S, S_REF, 1e-4);
64-
%=============================================================================
65-
T_REF = [1.0000 0.0000 -0.0000 -0.0000;
63+
64+
S_REF_2 = [-0.6928 -0.3883 0.2739 -0.3070 0;
65+
0.6481 -0.9340 0.4148 0.7853 0.4142;
66+
0 0 0.6495 -0.4507 0;
67+
0 0 0.5183 0.8517 0;
68+
0 0 0 -0.7071 -1.4142];
69+
70+
REF_CASE = 0;
71+
if isapprox(S, S_REF_1, 1e-4)
72+
REF_CASE = 1;
73+
else
74+
REF_CASE = 2;
75+
end
76+
assert_istrue(isapprox(S, S_REF_1, 1e-4) || isapprox(S, S_REF_2, 1e-4));
77+
%=============================================================================
78+
T_REF_1 = [1.0000 0.0000 -0.0000 -0.0000;
6679
0.0000 0.8987 -0.0000 -0.2707;
6780
0.0000 0.0000 1.0000 0.0000;
6881
0.0000 0.0000 0.0000 0.7868;
6982
0.0000 -0.7071 0.0000 0.0000];
70-
assert_isapprox(T, T_REF, 1e-4);
71-
%=============================================================================
72-
U_REF = [-0.4472 0.4297 -0.7071 0.3397;
83+
84+
T_REF_2 = [1.0000 -0 0.0000 -0.0000;
85+
0 0.8987 0.0000 0.2707;
86+
0 0 1.0000 -0;
87+
0 0 0 0.7868;
88+
0 -0.7071 0 0];
89+
90+
if REF_CASE == 1
91+
assert_isapprox(T, T_REF_1, 1e-4);
92+
else
93+
assert_isapprox(T, T_REF_2, 1e-4);
94+
end
95+
%=============================================================================
96+
U_REF_1 = [-0.4472 0.4297 -0.7071 0.3397;
7397
0.0000 -0.6202 -0.0000 0.7845;
7498
-0.7746 0.1240 0.6124 0.0981;
7599
-0.4472 -0.6445 -0.3536 -0.5095];
76-
assert_isapprox(U, U_REF, 1e-4);
100+
101+
U_REF_2 = [ -0.4472 0.4297 -0.7071 0.3397;
102+
0.0000 -0.6202 -0.0000 0.7845;
103+
-0.7746 0.1240 0.6124 0.0981;
104+
-0.4472 -0.6445 -0.3536 -0.5095];
105+
if REF_CASE == 1
106+
assert_isapprox(U, U_REF_1, 1e-4);
107+
else
108+
assert_isapprox(U, U_REF_2, 1e-4);
109+
end
77110
%=============================================================================
78111
IWARN_REF = int32(0);
79112
assert_isequal(IWARN, IWARN_REF);

0 commit comments

Comments
 (0)