Mercurial > octave
annotate .github/workflows/make.yaml @ 30615:56fdd2655765
maint: Merge stable to default.
author | Markus Mützel <markus.muetzel@gmx.de> |
---|---|
date | Sat, 08 Jan 2022 12:56:50 +0100 |
parents | 43ca3f7d6359 |
children | f3a766367bff |
rev | line source |
---|---|
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
1 name: make |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
2 on: [push] |
29589
c3d463a3c472
GitHub-CI: Avoid running multiple actions at the same time
Markus Mützel <markus.muetzel@gmx.de>
parents:
29587
diff
changeset
|
3 concurrency: ci-${{ github.ref }} |
29582
8f142a26a343
GitHub-CI: Install on macOS before running test suite.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29581
diff
changeset
|
4 |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
5 jobs: |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
6 |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
7 ubuntu: |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
8 runs-on: ${{ matrix.os }} |
29582
8f142a26a343
GitHub-CI: Install on macOS before running test suite.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29581
diff
changeset
|
9 |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
10 strategy: |
29792
315df8a5ac22
GitHub-CI: Analyze test suite results on Ubuntu.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29740
diff
changeset
|
11 # Allow other runners in the matrix to continue if some fail |
315df8a5ac22
GitHub-CI: Analyze test suite results on Ubuntu.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29740
diff
changeset
|
12 fail-fast: false |
315df8a5ac22
GitHub-CI: Analyze test suite results on Ubuntu.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29740
diff
changeset
|
13 |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
14 matrix: |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
15 # For available GitHub-hosted runners, see: |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
16 # https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
17 os: [ubuntu-20.04, ubuntu-18.04] |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
18 compiler: [gcc, clang] |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
19 include: |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
20 - compiler: gcc |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
21 compiler-pkgs: "g++ gcc" |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
22 cc: "gcc" |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
23 cxx: "g++" |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
24 - compiler: clang |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
25 compiler-pkgs: "clang" |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
26 cc: "clang" |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
27 cxx: "clang++" |
29584
c05d23ac4931
GitHub-CI: Increase ccache size for gcc on Ubuntu 20.04.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29582
diff
changeset
|
28 # "ccache" on Ubuntu 20.04 with gcc seems to require much more cache |
c05d23ac4931
GitHub-CI: Increase ccache size for gcc on Ubuntu 20.04.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29582
diff
changeset
|
29 # storage than on the other runners to work effectively. |
c05d23ac4931
GitHub-CI: Increase ccache size for gcc on Ubuntu 20.04.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29582
diff
changeset
|
30 - ccache-max: 3G |
c05d23ac4931
GitHub-CI: Increase ccache size for gcc on Ubuntu 20.04.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29582
diff
changeset
|
31 - os: ubuntu-20.04 |
c05d23ac4931
GitHub-CI: Increase ccache size for gcc on Ubuntu 20.04.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29582
diff
changeset
|
32 compiler: gcc |
c05d23ac4931
GitHub-CI: Increase ccache size for gcc on Ubuntu 20.04.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29582
diff
changeset
|
33 ccache-max: 6G |
29582
8f142a26a343
GitHub-CI: Install on macOS before running test suite.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29581
diff
changeset
|
34 |
30482
ddd58087ca97
GitHub-CI: More standard way to use ccache on Ubuntu runners.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30480
diff
changeset
|
35 env: |
ddd58087ca97
GitHub-CI: More standard way to use ccache on Ubuntu runners.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30480
diff
changeset
|
36 CC: ${{ matrix.cc }} |
ddd58087ca97
GitHub-CI: More standard way to use ccache on Ubuntu runners.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30480
diff
changeset
|
37 CXX: ${{ matrix.cxx }} |
ddd58087ca97
GitHub-CI: More standard way to use ccache on Ubuntu runners.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30480
diff
changeset
|
38 |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
39 steps: |
29582
8f142a26a343
GitHub-CI: Install on macOS before running test suite.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29581
diff
changeset
|
40 - name: checkout repository |
8f142a26a343
GitHub-CI: Install on macOS before running test suite.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29581
diff
changeset
|
41 uses: actions/checkout@v2 |
8f142a26a343
GitHub-CI: Install on macOS before running test suite.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29581
diff
changeset
|
42 |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
43 - name: install dependencies |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
44 env: |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
45 COMPILER_PKGS: ${{ matrix.compiler-pkgs }} |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
46 run: | |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
47 sudo apt -qq update |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
48 sudo apt install -y $COMPILER_PKGS autoconf automake bison ccache \ |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
49 dvipng epstool fig2dev flex gfortran gnuplot-x11 gperf gzip \ |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
50 icoutils libarpack2-dev libblas-dev libcurl4-gnutls-dev \ |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
51 libfftw3-dev libfltk1.3-dev libfontconfig1-dev libfreetype6-dev \ |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
52 libgl1-mesa-dev libgl2ps-dev libglpk-dev libgraphicsmagick++1-dev \ |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
53 libhdf5-dev liblapack-dev libosmesa6-dev libpcre3-dev \ |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
54 libqhull-dev libqscintilla2-qt5-dev libqrupdate-dev \ |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
55 libreadline-dev librsvg2-bin libsndfile1-dev libsuitesparse-dev \ |
29949
f254c302bb9c
remove JIT compiler from Octave sources
John W. Eaton <jwe@octave.org>
parents:
29925
diff
changeset
|
56 libsundials-dev libtool libxft-dev make openjdk-8-jdk \ |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
57 perl portaudio19-dev pstoedit qtbase5-dev qttools5-dev \ |
29587
d10027532f0a
GitHub-CI: Install dependency rapidjson.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29584
diff
changeset
|
58 qttools5-dev-tools rapidjson-dev rsync tar texinfo \ |
d10027532f0a
GitHub-CI: Install dependency rapidjson.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29584
diff
changeset
|
59 texlive-latex-extra xvfb zlib1g-dev |
29582
8f142a26a343
GitHub-CI: Install on macOS before running test suite.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29581
diff
changeset
|
60 |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
61 - name: prepare ccache |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
62 # create human readable timestamp |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
63 id: ccache_cache_timestamp |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
64 run: | |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
65 echo "::set-output name=TIMESTAMP::$(date +"%Y-%m-%d_%H-%M-%S")" |
29582
8f142a26a343
GitHub-CI: Install on macOS before running test suite.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29581
diff
changeset
|
66 |
30438
ad705550616c
GitHub-CI: Reduce ccache size to approx. 2x the size after a clean run.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30366
diff
changeset
|
67 - name: restore ccache |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
68 # setup the github cache used to maintain the ccache from one job to the next |
29792
315df8a5ac22
GitHub-CI: Analyze test suite results on Ubuntu.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29740
diff
changeset
|
69 # uses: actions/cache@v2 |
315df8a5ac22
GitHub-CI: Analyze test suite results on Ubuntu.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29740
diff
changeset
|
70 # The original action doesn't upload on error. Use this fork instead. |
315df8a5ac22
GitHub-CI: Analyze test suite results on Ubuntu.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29740
diff
changeset
|
71 # FIXME: Consider reverting to the original action when it allows uploading on error. |
315df8a5ac22
GitHub-CI: Analyze test suite results on Ubuntu.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29740
diff
changeset
|
72 # See: https://github.com/actions/cache/issues/92 |
315df8a5ac22
GitHub-CI: Analyze test suite results on Ubuntu.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29740
diff
changeset
|
73 uses: pat-s/always-upload-cache@v2 |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
74 with: |
29888
f2c6ea6c4abc
GitHub-CI: Don't use absolute paths to user home on Ubuntu runner.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29881
diff
changeset
|
75 path: ~/.ccache |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
76 key: ccache:${{ matrix.os }}:${{ matrix.compiler }}:${{ github.ref }}:${{ steps.ccache_cache_timestamp.outputs.timestamp }}:${{ github.sha }} |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
77 restore-keys: | |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
78 ccache:${{ matrix.os }}:${{ matrix.compiler }}:${{ github.ref }} |
30615
56fdd2655765
maint: Merge stable to default.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30614
diff
changeset
|
79 ccache:${{ matrix.os }}:${{ matrix.compiler }}:refs/heads/default |
29582
8f142a26a343
GitHub-CI: Install on macOS before running test suite.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29581
diff
changeset
|
80 |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
81 - name: configure ccache |
29584
c05d23ac4931
GitHub-CI: Increase ccache size for gcc on Ubuntu 20.04.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29582
diff
changeset
|
82 env: |
c05d23ac4931
GitHub-CI: Increase ccache size for gcc on Ubuntu 20.04.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29582
diff
changeset
|
83 CCACHE_MAX: ${{ matrix.ccache-max }} |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
84 run: | |
29888
f2c6ea6c4abc
GitHub-CI: Don't use absolute paths to user home on Ubuntu runner.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29881
diff
changeset
|
85 test -d ~/.ccache || mkdir ~/.ccache |
f2c6ea6c4abc
GitHub-CI: Don't use absolute paths to user home on Ubuntu runner.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29881
diff
changeset
|
86 echo "max_size = $CCACHE_MAX" >> ~/.ccache/ccache.conf |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
87 ccache -s |
30482
ddd58087ca97
GitHub-CI: More standard way to use ccache on Ubuntu runners.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30480
diff
changeset
|
88 echo "/usr/lib/ccache" >> $GITHUB_PATH |
29582
8f142a26a343
GitHub-CI: Install on macOS before running test suite.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29581
diff
changeset
|
89 |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
90 - name: bootstrap |
30307
2f50556788ac
GitHub-CI: Use gnulib mirror on GitHub when bootstrapping.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30306
diff
changeset
|
91 run: GNULIB_URL=https://github.com/coreutils/gnulib.git ./bootstrap |
29582
8f142a26a343
GitHub-CI: Install on macOS before running test suite.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29581
diff
changeset
|
92 |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
93 - name: configure |
29841
9a17e0834c4e
GitHub-CI: Decrease time-out for some steps.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29813
diff
changeset
|
94 timeout-minutes: 30 |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
95 run: | |
30482
ddd58087ca97
GitHub-CI: More standard way to use ccache on Ubuntu runners.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30480
diff
changeset
|
96 echo $PATH |
ddd58087ca97
GitHub-CI: More standard way to use ccache on Ubuntu runners.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30480
diff
changeset
|
97 echo which ccache |
ddd58087ca97
GitHub-CI: More standard way to use ccache on Ubuntu runners.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30480
diff
changeset
|
98 which ccache |
ddd58087ca97
GitHub-CI: More standard way to use ccache on Ubuntu runners.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30480
diff
changeset
|
99 which $CC |
ddd58087ca97
GitHub-CI: More standard way to use ccache on Ubuntu runners.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30480
diff
changeset
|
100 echo $CC --version |
ddd58087ca97
GitHub-CI: More standard way to use ccache on Ubuntu runners.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30480
diff
changeset
|
101 $CC --version |
ddd58087ca97
GitHub-CI: More standard way to use ccache on Ubuntu runners.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30480
diff
changeset
|
102 which $CXX |
ddd58087ca97
GitHub-CI: More standard way to use ccache on Ubuntu runners.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30480
diff
changeset
|
103 echo $CXX --version |
ddd58087ca97
GitHub-CI: More standard way to use ccache on Ubuntu runners.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30480
diff
changeset
|
104 $CXX --version |
ddd58087ca97
GitHub-CI: More standard way to use ccache on Ubuntu runners.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30480
diff
changeset
|
105 which gfortran |
ddd58087ca97
GitHub-CI: More standard way to use ccache on Ubuntu runners.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30480
diff
changeset
|
106 echo gfortran --version |
ddd58087ca97
GitHub-CI: More standard way to use ccache on Ubuntu runners.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30480
diff
changeset
|
107 gfortran --version |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
108 mkdir .build |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
109 cd .build && ../configure \ |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
110 CPPFLAGS="-I/usr/include/hdf5/serial -I/usr/include/suitesparse" \ |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
111 LDFLAGS="-L/usr/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)/hdf5/serial" |
29582
8f142a26a343
GitHub-CI: Install on macOS before running test suite.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29581
diff
changeset
|
112 |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
113 - name: build |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
114 # Parallel make seems to fail intermittently when creating the figures |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
115 # for the manual. The error message says it fails to connect to a |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
116 # display. Maybe an xvfb issue? |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
117 # Use single job make for now which seems to work more reliably. |
29888
f2c6ea6c4abc
GitHub-CI: Don't use absolute paths to user home on Ubuntu runner.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29881
diff
changeset
|
118 run: XDG_RUNTIME_DIR=$RUNNER_TEMP xvfb-run -a make -C ./.build all V=1 |
29582
8f142a26a343
GitHub-CI: Install on macOS before running test suite.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29581
diff
changeset
|
119 |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
120 - name: ccache status |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
121 run: ccache -s |
29582
8f142a26a343
GitHub-CI: Install on macOS before running test suite.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29581
diff
changeset
|
122 |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
123 - name: check |
29841
9a17e0834c4e
GitHub-CI: Decrease time-out for some steps.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29813
diff
changeset
|
124 timeout-minutes: 60 |
29888
f2c6ea6c4abc
GitHub-CI: Don't use absolute paths to user home on Ubuntu runner.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29881
diff
changeset
|
125 run: XDG_RUNTIME_DIR=$RUNNER_TEMP xvfb-run -a make -C ./.build check | tee ./test-suite.log |
30229
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
126 |
29881
35155423c0ef
GitHub-CI: Display fntests.log in separate step.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29841
diff
changeset
|
127 - name: display test log |
35155423c0ef
GitHub-CI: Display fntests.log in separate step.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29841
diff
changeset
|
128 continue-on-error: true |
35155423c0ef
GitHub-CI: Display fntests.log in separate step.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29841
diff
changeset
|
129 # Displaying the log shouldn't take long. Cancel the step if it does. |
35155423c0ef
GitHub-CI: Display fntests.log in separate step.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29841
diff
changeset
|
130 timeout-minutes: 5 |
35155423c0ef
GitHub-CI: Display fntests.log in separate step.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29841
diff
changeset
|
131 run: cat ./.build/test/fntests.log |
29792
315df8a5ac22
GitHub-CI: Analyze test suite results on Ubuntu.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29740
diff
changeset
|
132 |
315df8a5ac22
GitHub-CI: Analyze test suite results on Ubuntu.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29740
diff
changeset
|
133 - name: analyze test suite results |
315df8a5ac22
GitHub-CI: Analyze test suite results on Ubuntu.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29740
diff
changeset
|
134 # Make sure the test summary lists 0 "FAIL"s and no "REGRESSION" |
315df8a5ac22
GitHub-CI: Analyze test suite results on Ubuntu.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29740
diff
changeset
|
135 run: | |
315df8a5ac22
GitHub-CI: Analyze test suite results on Ubuntu.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29740
diff
changeset
|
136 [ -n "$(grep -e "FAIL\s*0" ./test-suite.log)" ] || exit 1 |
315df8a5ac22
GitHub-CI: Analyze test suite results on Ubuntu.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29740
diff
changeset
|
137 [ -z "$(grep -e "REGRESSION" ./test-suite.log)" ] || exit 1 |
315df8a5ac22
GitHub-CI: Analyze test suite results on Ubuntu.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29740
diff
changeset
|
138 echo No unknown failing tests. |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
139 |
29582
8f142a26a343
GitHub-CI: Install on macOS before running test suite.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29581
diff
changeset
|
140 |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
141 macos: |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
142 runs-on: ${{ matrix.os }} |
29582
8f142a26a343
GitHub-CI: Install on macOS before running test suite.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29581
diff
changeset
|
143 |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
144 strategy: |
30028
bd2744459de4
GitHub-CI (macos): Allow other runners in the matrix to continue if some fail.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30013
diff
changeset
|
145 # Allow other runners in the matrix to continue if some fail |
bd2744459de4
GitHub-CI (macos): Allow other runners in the matrix to continue if some fail.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30013
diff
changeset
|
146 fail-fast: false |
bd2744459de4
GitHub-CI (macos): Allow other runners in the matrix to continue if some fail.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30013
diff
changeset
|
147 |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
148 matrix: |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
149 # For available GitHub-hosted runners, see: https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners |
30013
2362fbd42c17
GitHub-CI: Add macOS 11 runner.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29949
diff
changeset
|
150 os: [macos-10.15, macos-11] |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
151 # Most (or all) homebrew packages are compiled with clang and link |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
152 # against libc++. So we also use clang to avoid issues with symbols |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
153 # that don't match. |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
154 # compiler: [real-gcc, clang] |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
155 compiler: [clang] |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
156 include: |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
157 # - compiler: real-gcc |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
158 # cc: "/usr/local/bin/gcc-10" |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
159 # cxx: "/usr/local/bin/g++-10" |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
160 # cppflags: "-I/usr/local/opt/hdf5/include -I/usr/local/opt/gl2ps/include -I/usr/local/opt/glpk/include -I/usr/local/opt/pcre/include -I/usr/local/opt/qscintilla2/include -I/usr/local/opt/suite-sparse/include -I/usr/local/opt/sundials/include" |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
161 # ldflags: "-L/usr/local/opt/hdf5/lib -L/usr/local/opt/gl2ps/lib -L/usr/local/opt/glpk/lib -L/usr/local/opt/pcre/lib -L/usr/local/opt/qscintilla2/lib -L/usr/local/opt/suite-sparse/lib -L/usr/local/opt/sundials/lib" |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
162 - compiler: clang |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
163 cc: "clang" |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
164 cxx: "clang++" |
29582
8f142a26a343
GitHub-CI: Install on macOS before running test suite.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29581
diff
changeset
|
165 |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
166 env: |
30366
aedfb5b870ad
GitHub-CI: Overhaul environment variable usage on macOS.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30317
diff
changeset
|
167 CC: ${{ matrix.cc }} |
aedfb5b870ad
GitHub-CI: Overhaul environment variable usage on macOS.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30317
diff
changeset
|
168 CXX: ${{ matrix.cxx }} |
29582
8f142a26a343
GitHub-CI: Install on macOS before running test suite.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29581
diff
changeset
|
169 |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
170 steps: |
29582
8f142a26a343
GitHub-CI: Install on macOS before running test suite.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29581
diff
changeset
|
171 - name: checkout repository |
8f142a26a343
GitHub-CI: Install on macOS before running test suite.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29581
diff
changeset
|
172 uses: actions/checkout@v2 |
8f142a26a343
GitHub-CI: Install on macOS before running test suite.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29581
diff
changeset
|
173 |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
174 - name: install dependencies |
29907
39780b2456a8
GitHub-CI: Add timeout when installing depencencies on macOS.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29888
diff
changeset
|
175 # This step sometimes takes long and still recovers. But sometimes it |
39780b2456a8
GitHub-CI: Add timeout when installing depencencies on macOS.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29888
diff
changeset
|
176 # seems to hang indefinitely. |
39780b2456a8
GitHub-CI: Add timeout when installing depencencies on macOS.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29888
diff
changeset
|
177 # Use a pretty long timeout (but still less than the default 6 hours). |
39780b2456a8
GitHub-CI: Add timeout when installing depencencies on macOS.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29888
diff
changeset
|
178 timeout-minutes: 75 |
39780b2456a8
GitHub-CI: Add timeout when installing depencencies on macOS.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29888
diff
changeset
|
179 |
29697
3ef50a8d01c5
GitHub-CI: Re-install gcc on macOS runners.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29660
diff
changeset
|
180 # It looks like "gfortran" isn't working correctly unless "gcc" is |
3ef50a8d01c5
GitHub-CI: Re-install gcc on macOS runners.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29660
diff
changeset
|
181 # re-installed. |
3ef50a8d01c5
GitHub-CI: Re-install gcc on macOS runners.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29660
diff
changeset
|
182 |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
183 # See also: https://formulae.brew.sh/formula/octave#default |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
184 # The packages are listed in (alphabetically sorted) blocks: |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
185 # The first block is for "direct" dependencies. |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
186 # The second block is for additional dependencies needed when building from a release tarball. |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
187 # The third block is for additional dependencies needed when building from a repository checkout. |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
188 run: | |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
189 brew update |
29697
3ef50a8d01c5
GitHub-CI: Re-install gcc on macOS runners.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29660
diff
changeset
|
190 brew reinstall gcc |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
191 brew install arpack epstool fftw fig2dev fltk fontconfig freetype \ |
29697
3ef50a8d01c5
GitHub-CI: Re-install gcc on macOS runners.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29660
diff
changeset
|
192 ghostscript gl2ps glpk gnuplot graphicsmagick hdf5 libsndfile \ |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
193 libtool openblas pcre portaudio pstoedit qhull qrupdate \ |
29587
d10027532f0a
GitHub-CI: Install dependency rapidjson.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29584
diff
changeset
|
194 qscintilla2 qt@5 rapidjson readline suite-sparse sundials texinfo \ |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
195 ccache gnu-sed openjdk pkg-config \ |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
196 automake autoconf bison gettext icoutils librsvg mactex-no-gui |
29697
3ef50a8d01c5
GitHub-CI: Re-install gcc on macOS runners.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29660
diff
changeset
|
197 eval "$(/usr/libexec/path_helper)" |
30366
aedfb5b870ad
GitHub-CI: Overhaul environment variable usage on macOS.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30317
diff
changeset
|
198 echo "/Library/TeX/texbin" >> $GITHUB_PATH |
aedfb5b870ad
GitHub-CI: Overhaul environment variable usage on macOS.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30317
diff
changeset
|
199 echo "/usr/local/opt/qt@5/bin" >> $GITHUB_PATH |
aedfb5b870ad
GitHub-CI: Overhaul environment variable usage on macOS.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30317
diff
changeset
|
200 echo "/usr/local/opt/texinfo/bin" >> $GITHUB_PATH |
aedfb5b870ad
GitHub-CI: Overhaul environment variable usage on macOS.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30317
diff
changeset
|
201 echo "/usr/local/opt/bison/bin" >> $GITHUB_PATH |
aedfb5b870ad
GitHub-CI: Overhaul environment variable usage on macOS.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30317
diff
changeset
|
202 echo "/usr/local/opt/gnu-sed/libexec/gnubin" >> $GITHUB_PATH |
29582
8f142a26a343
GitHub-CI: Install on macOS before running test suite.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29581
diff
changeset
|
203 |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
204 - name: prepare ccache |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
205 # create human readable timestamp |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
206 id: ccache_cache_timestamp |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
207 run: | |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
208 echo "::set-output name=TIMESTAMP::$(date +"%Y-%m-%d_%H-%M-%S")" |
29582
8f142a26a343
GitHub-CI: Install on macOS before running test suite.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29581
diff
changeset
|
209 |
30366
aedfb5b870ad
GitHub-CI: Overhaul environment variable usage on macOS.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30317
diff
changeset
|
210 - name: restore ccache |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
211 # setup the github cache used to maintain the ccache from one job to the next |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
212 uses: actions/cache@v2 |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
213 with: |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
214 path: /Users/runner/Library/Caches/ccache |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
215 key: ccache:${{ matrix.os }}:${{ matrix.compiler }}:${{ github.ref }}:${{ steps.ccache_cache_timestamp.outputs.timestamp }}:${{ github.sha }} |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
216 restore-keys: | |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
217 ccache:${{ matrix.os }}:${{ matrix.compiler }}:${{ github.ref }} |
30615
56fdd2655765
maint: Merge stable to default.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30614
diff
changeset
|
218 ccache:${{ matrix.os }}:${{ matrix.compiler }}:refs/heads/default |
29582
8f142a26a343
GitHub-CI: Install on macOS before running test suite.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29581
diff
changeset
|
219 |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
220 - name: configure ccache |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
221 # The cache doesn't seem to compress well on macOS. Is it already compressed? |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
222 # Limit the maximum size to avoid exceeding the total cache limits. |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
223 run: | |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
224 test -d /Users/runner/Library/Preferences/ccache || mkdir /Users/runner/Library/Preferences/ccache |
30438
ad705550616c
GitHub-CI: Reduce ccache size to approx. 2x the size after a clean run.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30366
diff
changeset
|
225 echo "max_size = 0.9G" >> /Users/runner/Library/Preferences/ccache/ccache.conf |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
226 ccache -s |
30366
aedfb5b870ad
GitHub-CI: Overhaul environment variable usage on macOS.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30317
diff
changeset
|
227 echo "$(brew --prefix)/opt/ccache/libexec" >> $GITHUB_PATH |
29582
8f142a26a343
GitHub-CI: Install on macOS before running test suite.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29581
diff
changeset
|
228 |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
229 - name: bootstrap |
30366
aedfb5b870ad
GitHub-CI: Overhaul environment variable usage on macOS.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30317
diff
changeset
|
230 run: GNULIB_URL=https://github.com/coreutils/gnulib.git ./bootstrap |
29582
8f142a26a343
GitHub-CI: Install on macOS before running test suite.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29581
diff
changeset
|
231 |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
232 - name: configure |
29841
9a17e0834c4e
GitHub-CI: Decrease time-out for some steps.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29813
diff
changeset
|
233 timeout-minutes: 30 |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
234 env: |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
235 MY_CPPFLAGS: ${{ matrix.cppflags }} |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
236 MY_LDFLAGS: ${{ matrix.ldflags }} |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
237 # This is a hodgepodge of configure flags put together from the |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
238 # buildbot rules: |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
239 # https://hg.octave.org/octave-buildbot/file/tip/master.cfg#l543 |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
240 # And the homebrew formula: |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
241 # https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/octave.rb |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
242 # Amended with additional flags that seem to be needed. |
29648
0230f7cf4044
GitHub-CI: Build with visibility flags on macOS (bug #59820).
Markus Mützel <markus.muetzel@gmx.de>
parents:
29589
diff
changeset
|
243 # Not all of those might be needed or be correct. |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
244 run: | |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
245 echo $PATH |
30366
aedfb5b870ad
GitHub-CI: Overhaul environment variable usage on macOS.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30317
diff
changeset
|
246 echo which ccache |
aedfb5b870ad
GitHub-CI: Overhaul environment variable usage on macOS.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30317
diff
changeset
|
247 which ccache |
aedfb5b870ad
GitHub-CI: Overhaul environment variable usage on macOS.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30317
diff
changeset
|
248 which $CC |
aedfb5b870ad
GitHub-CI: Overhaul environment variable usage on macOS.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30317
diff
changeset
|
249 echo $CC --version |
aedfb5b870ad
GitHub-CI: Overhaul environment variable usage on macOS.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30317
diff
changeset
|
250 $CC --version |
aedfb5b870ad
GitHub-CI: Overhaul environment variable usage on macOS.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30317
diff
changeset
|
251 which $CXX |
aedfb5b870ad
GitHub-CI: Overhaul environment variable usage on macOS.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30317
diff
changeset
|
252 echo $CXX --version |
aedfb5b870ad
GitHub-CI: Overhaul environment variable usage on macOS.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30317
diff
changeset
|
253 $CXX --version |
aedfb5b870ad
GitHub-CI: Overhaul environment variable usage on macOS.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30317
diff
changeset
|
254 which gfortran |
aedfb5b870ad
GitHub-CI: Overhaul environment variable usage on macOS.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30317
diff
changeset
|
255 echo gfortran --version |
aedfb5b870ad
GitHub-CI: Overhaul environment variable usage on macOS.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30317
diff
changeset
|
256 gfortran --version |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
257 mkdir .build |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
258 cd .build && ../configure \ |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
259 F77="ccache gfortran" \ |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
260 CPPFLAGS="-I/usr/local/opt/gettext/include -I/usr/local/opt/icu4c/include -I/usr/local/opt/qt@5/include -I/usr/local/opt/readline/include -I/usr/local/opt/sqlite/include $MY_CPPFLAGS" \ |
30480
83dbee7c8f08
build: Use autoconf check for flags to activate C++11 features (bug #61642).
Markus Mützel <markus.muetzel@gmx.de>
parents:
30438
diff
changeset
|
261 CXXFLAGS="-O2 -g" \ |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
262 LDFLAGS="-L/usr/local/lib -L/usr/local/opt/bison/lib -L/usr/local/opt/gettext/lib -L/usr/local/opt/icu4c/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/sqlite/lib $MY_LDFLAGS" \ |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
263 PKG_CONFIG_PATH="/usr/local/opt/openblas/lib/pkgconfig:/usr/local/opt/icu4c/lib/pkgconfig:/usr/local/opt/qt@5/lib/pkgconfig" \ |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
264 QCOLLECTIONGENERATOR="qhelpgenerator" \ |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
265 --with-x=no \ |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
266 --with-blas="-L/usr/local/opt/openblas/lib -lopenblas" \ |
29582
8f142a26a343
GitHub-CI: Install on macOS before running test suite.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29581
diff
changeset
|
267 --with-java-homedir="/usr/local/opt/openjdk" \ |
8f142a26a343
GitHub-CI: Install on macOS before running test suite.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29581
diff
changeset
|
268 --prefix="${HOME}/usr" |
8f142a26a343
GitHub-CI: Install on macOS before running test suite.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29581
diff
changeset
|
269 |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
270 - name: build |
30366
aedfb5b870ad
GitHub-CI: Overhaul environment variable usage on macOS.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30317
diff
changeset
|
271 run: make -C ./.build all -j3 V=1 |
29582
8f142a26a343
GitHub-CI: Install on macOS before running test suite.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29581
diff
changeset
|
272 |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
273 - name: ccache status |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
274 run: ccache -s |
29582
8f142a26a343
GitHub-CI: Install on macOS before running test suite.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29581
diff
changeset
|
275 |
29581
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
276 - name: check |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
277 # Continuing on error in this step means that jobs will be "green" even |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
278 # if the test suite crashes. But if we don't continue, we'll loose the |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
279 # ccache and other jobs will be cancelled, too. |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
280 # It would be nice if we could mark the job as "yellow" (and continue) |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
281 # in that case. |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
282 # It would also be nice if we could analyze the test suite results |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
283 # automatically. |
def7cbcf85ed
Add rule for continuous integration tests on GitHub.
Markus Mützel <markus.muetzel@gmx.de>
parents:
diff
changeset
|
284 continue-on-error: true |
29841
9a17e0834c4e
GitHub-CI: Decrease time-out for some steps.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29813
diff
changeset
|
285 timeout-minutes: 60 |
30013
2362fbd42c17
GitHub-CI: Add macOS 11 runner.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29949
diff
changeset
|
286 run: | |
2362fbd42c17
GitHub-CI: Add macOS 11 runner.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29949
diff
changeset
|
287 echo 'makeinfo_program ("/usr/local/opt/texinfo/bin/makeinfo");' >> ./scripts/startup/site-rcfile |
2362fbd42c17
GitHub-CI: Add macOS 11 runner.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29949
diff
changeset
|
288 make -C ./.build check |
29881
35155423c0ef
GitHub-CI: Display fntests.log in separate step.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29841
diff
changeset
|
289 |
35155423c0ef
GitHub-CI: Display fntests.log in separate step.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29841
diff
changeset
|
290 - name: display test log |
35155423c0ef
GitHub-CI: Display fntests.log in separate step.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29841
diff
changeset
|
291 continue-on-error: true |
35155423c0ef
GitHub-CI: Display fntests.log in separate step.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29841
diff
changeset
|
292 # Displaying the log shouldn't take long. Cancel the step if it does. |
35155423c0ef
GitHub-CI: Display fntests.log in separate step.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29841
diff
changeset
|
293 timeout-minutes: 5 |
35155423c0ef
GitHub-CI: Display fntests.log in separate step.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29841
diff
changeset
|
294 run: cat ./.build/test/fntests.log |
29718
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
295 |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
296 |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
297 windows: |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
298 runs-on: ${{ matrix.os }} |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
299 |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
300 defaults: |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
301 run: |
30229
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
302 # Use MSYS2 as default shell |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
303 shell: msys2 {0} |
29718
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
304 |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
305 strategy: |
29841
9a17e0834c4e
GitHub-CI: Decrease time-out for some steps.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29813
diff
changeset
|
306 # Allow other runners in the matrix to continue if some fail |
29740
c3bab252f071
GitHub-CI: Timeout configure step on Windows after 30 minutes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29726
diff
changeset
|
307 fail-fast: false |
29841
9a17e0834c4e
GitHub-CI: Decrease time-out for some steps.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29813
diff
changeset
|
308 |
29718
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
309 matrix: |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
310 # For available GitHub-hosted runners, see: https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
311 os: [windows-2019] |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
312 compiler: [gcc] |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
313 target: [x86_64, i686] |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
314 include: |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
315 - compiler: gcc |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
316 target: x86_64 |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
317 target-triplet: x86_64-w64-mingw32 |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
318 target-prefix: mingw-w64-x86_64 |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
319 msystem: MINGW64 |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
320 mingw-prefix: mingw64 |
30237
2b74543c85ea
GitHub-CI: Don't use cross-compilers for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30229
diff
changeset
|
321 cc: gcc |
2b74543c85ea
GitHub-CI: Don't use cross-compilers for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30229
diff
changeset
|
322 cxx: g++ |
2b74543c85ea
GitHub-CI: Don't use cross-compilers for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30229
diff
changeset
|
323 f77: gfortran |
29718
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
324 - compiler: gcc |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
325 target: i686 |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
326 target-triplet: i686-w64-mingw32 |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
327 target-prefix: mingw-w64-i686 |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
328 msystem: MINGW32 |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
329 mingw-prefix: mingw32 |
30237
2b74543c85ea
GitHub-CI: Don't use cross-compilers for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30229
diff
changeset
|
330 cc: gcc |
2b74543c85ea
GitHub-CI: Don't use cross-compilers for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30229
diff
changeset
|
331 cxx: g++ |
2b74543c85ea
GitHub-CI: Don't use cross-compilers for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30229
diff
changeset
|
332 f77: gfortran |
29718
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
333 |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
334 env: |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
335 CHERE_INVOKING: 1 |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
336 CC: ${{ matrix.cc }} |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
337 CXX: ${{ matrix.cxx }} |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
338 F77: ${{ matrix.f77 }} |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
339 TARGET_TRIPLET: ${{ matrix.target-triplet }} |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
340 # perl uses cmd shell by default |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
341 PERL5SHELL: bash -l -c |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
342 |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
343 steps: |
30317
7fc817342393
GitHub-CI: Display processor name of selected runner on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30307
diff
changeset
|
344 - name: get CPU name |
7fc817342393
GitHub-CI: Display processor name of selected runner on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30307
diff
changeset
|
345 # The runners for the 32-bit target sometimes get stuck in configure |
7fc817342393
GitHub-CI: Display processor name of selected runner on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30307
diff
changeset
|
346 # when using the Fortran compiler. |
7fc817342393
GitHub-CI: Display processor name of selected runner on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30307
diff
changeset
|
347 # Does that error depend on the processor of the selected runner? |
7fc817342393
GitHub-CI: Display processor name of selected runner on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30307
diff
changeset
|
348 shell: pwsh |
7fc817342393
GitHub-CI: Display processor name of selected runner on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30307
diff
changeset
|
349 run : | |
7fc817342393
GitHub-CI: Display processor name of selected runner on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30307
diff
changeset
|
350 Get-CIMInstance -Class Win32_Processor | Select-Object -Property Name |
7fc817342393
GitHub-CI: Display processor name of selected runner on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30307
diff
changeset
|
351 |
30229
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
352 - uses: msys2/setup-msys2@v2 |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
353 with: |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
354 update: true |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
355 |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
356 # Use pre-installed version to save disc space on partition with source. |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
357 # We need that space for building. |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
358 release: false |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
359 |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
360 # The packages are listed in (alphabetically sorted) blocks: |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
361 # The first block is for mandatory dependencies. |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
362 # The second block is for optional dependencies needed when building from a release tarball. |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
363 # The third block is for additional dependencies needed when building from a repository checkout. |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
364 # The fourth block is for additional run-time dependencies that aren't needed to build (to run test suite). |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
365 install: >- |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
366 base-devel |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
367 ${{ matrix.target-prefix }}-toolchain |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
368 ${{ matrix.target-prefix }}-lapack |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
369 ${{ matrix.target-prefix }}-openblas |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
370 ${{ matrix.target-prefix }}-pcre |
29726
be335be5c0bc
GitHub-CI: Update MSYS2 in workflow for Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29721
diff
changeset
|
371 |
30229
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
372 ${{ matrix.target-prefix }}-arpack |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
373 ${{ matrix.target-prefix }}-curl |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
374 ${{ matrix.target-prefix }}-fftw |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
375 ${{ matrix.target-prefix }}-fltk |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
376 ${{ matrix.target-prefix }}-gl2ps |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
377 ${{ matrix.target-prefix }}-glpk |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
378 ${{ matrix.target-prefix }}-ghostscript |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
379 ${{ matrix.target-prefix }}-gnuplot |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
380 ${{ matrix.target-prefix }}-graphicsmagick |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
381 ${{ matrix.target-prefix }}-hdf5 |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
382 ${{ matrix.target-prefix }}-libsndfile |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
383 ${{ matrix.target-prefix }}-portaudio |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
384 ${{ matrix.target-prefix }}-qhull |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
385 ${{ matrix.target-prefix }}-qrupdate |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
386 ${{ matrix.target-prefix }}-qscintilla |
30291
9dea84c8be9e
GitHub-CI: Install less Qt packages on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30237
diff
changeset
|
387 ${{ matrix.target-prefix }}-qt5-base |
9dea84c8be9e
GitHub-CI: Install less Qt packages on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30237
diff
changeset
|
388 ${{ matrix.target-prefix }}-qt5-imageformats |
9dea84c8be9e
GitHub-CI: Install less Qt packages on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30237
diff
changeset
|
389 ${{ matrix.target-prefix }}-qt5-svg |
9dea84c8be9e
GitHub-CI: Install less Qt packages on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30237
diff
changeset
|
390 ${{ matrix.target-prefix }}-qt5-tools |
30229
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
391 ${{ matrix.target-prefix }}-rapidjson |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
392 ${{ matrix.target-prefix }}-suitesparse |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
393 ${{ matrix.target-prefix }}-sundials |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
394 |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
395 git |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
396 ${{ matrix.target-prefix }}-ccache |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
397 ${{ matrix.target-prefix }}-icoutils |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
398 ${{ matrix.target-prefix }}-librsvg |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
399 texinfo |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
400 |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
401 unzip |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
402 zip |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
403 |
3b3ec2ea46ef
GitHub-CI: Use recommended msys2/setup-msys2 action.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30028
diff
changeset
|
404 msystem: ${{ matrix.msystem }} |
29718
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
405 |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
406 - name: checkout repository |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
407 uses: actions/checkout@v2 |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
408 |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
409 - name: prepare ccache |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
410 # Create human readable timestamp |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
411 id: ccache_cache_timestamp |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
412 run: | |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
413 echo "::set-output name=TIMESTAMP::$(date +"%Y-%m-%d_%H-%M-%S")" |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
414 |
30438
ad705550616c
GitHub-CI: Reduce ccache size to approx. 2x the size after a clean run.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30366
diff
changeset
|
415 - name: restore ccache |
29718
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
416 # Setup the github cache used to maintain the ccache from one job to the next |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
417 uses: actions/cache@v2 |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
418 with: |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
419 path: C:/msys64/home/runneradmin/.ccache |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
420 key: ccache:${{ matrix.os }}:${{ matrix.compiler }}:${{ matrix.target }}:${{ github.ref }}:${{ steps.ccache_cache_timestamp.outputs.timestamp }}:${{ github.sha }} |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
421 restore-keys: | |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
422 ccache:${{ matrix.os }}:${{ matrix.compiler }}:${{ matrix.target }}:${{ github.ref }} |
30615
56fdd2655765
maint: Merge stable to default.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30614
diff
changeset
|
423 ccache:${{ matrix.os }}:${{ matrix.compiler }}:${{ matrix.target }}:refs/heads/default |
29718
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
424 |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
425 - name: configure ccache |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
426 # Limit the maximum size and switch on compression to avoid exceeding the total disk or cache quota. |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
427 run: | |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
428 which ccache |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
429 test -d ~/.ccache || mkdir -p ~/.ccache |
30438
ad705550616c
GitHub-CI: Reduce ccache size to approx. 2x the size after a clean run.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30366
diff
changeset
|
430 echo "max_size = 0.9G" > ~/.ccache/ccache.conf |
29718
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
431 echo "compression = true" >> ~/.ccache/ccache.conf |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
432 ccache -s |
29726
be335be5c0bc
GitHub-CI: Update MSYS2 in workflow for Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29721
diff
changeset
|
433 # create ccache helper script for Fortran compiler |
be335be5c0bc
GitHub-CI: Update MSYS2 in workflow for Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29721
diff
changeset
|
434 echo -e '#!/bin/bash\nccache '$MINGW_PREFIX'/bin/'$F77' "$@"' > $MINGW_PREFIX/lib/ccache/bin/$F77 |
29721
24effbddcbe8
GitHub-CI: Don't use ccache for Fortran on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29718
diff
changeset
|
435 # prepend path to ccache helper scripts to PATH |
29718
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
436 echo 'export PATH="$MINGW_PREFIX/lib/ccache/bin:$PATH"' >> ~/.bash_profile |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
437 |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
438 - name: bootstrap |
30307
2f50556788ac
GitHub-CI: Use gnulib mirror on GitHub when bootstrapping.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30306
diff
changeset
|
439 run: GNULIB_URL=https://github.com/coreutils/gnulib.git ./bootstrap |
29718
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
440 |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
441 - name: configure |
29740
c3bab252f071
GitHub-CI: Timeout configure step on Windows after 30 minutes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29726
diff
changeset
|
442 # configure sometimes hangs while compiling 32bit Fortran. |
c3bab252f071
GitHub-CI: Timeout configure step on Windows after 30 minutes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29726
diff
changeset
|
443 # It should take much less than 30 minutes. Cancel the step if it takes longer. |
c3bab252f071
GitHub-CI: Timeout configure step on Windows after 30 minutes.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29726
diff
changeset
|
444 timeout-minutes: 30 |
29718
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
445 # FIXME: Fix building with Java support. Override JAVA_HOME for now. |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
446 # FIXME: How do we get a working TeX environment in MSYS2? Disable building the documentation for now. |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
447 # Linking with ncurses fails. Use termcap library instead. |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
448 run: | |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
449 which $CC |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
450 echo $CC --version |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
451 $CC --version |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
452 which $CXX |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
453 echo $CXX --version |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
454 $CXX --version |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
455 which $F77 |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
456 echo $F77 --version |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
457 $F77 --version |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
458 mkdir .build |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
459 cd .build && ../configure \ |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
460 JAVA_HOME="" \ |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
461 --disable-docs \ |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
462 ac_cv_search_tputs=-ltermcap |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
463 |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
464 - name: build |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
465 # Spawning processes seems to have a big overhead on this platform. Use a somewhat larger number of parallel processes to compensate for that. |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
466 run: | |
29925
53de043ea532
GitHub-CI: Remove obsolete hack in MSYS2 rules for error fixed upstream.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29921
diff
changeset
|
467 make -C ./.build all -j8 V=1 |
29718
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
468 |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
469 - name: ccache status |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
470 continue-on-error: true |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
471 run: ccache -s |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
472 |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
473 - name: install |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
474 # Install Octave |
30610
e9895f8335c5
GitHub-CI: Simplify running the test suite on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30482
diff
changeset
|
475 |
30306
8b993c46fc1c
GitHub-CI: No longer create manual symlinks for octave binaries on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30292
diff
changeset
|
476 # Relocation issues with the graphicsmagick++ libraries on mingw require |
8b993c46fc1c
GitHub-CI: No longer create manual symlinks for octave binaries on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30292
diff
changeset
|
477 # installing Octave before running the test suite. |
30610
e9895f8335c5
GitHub-CI: Simplify running the test suite on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30482
diff
changeset
|
478 # See: https://github.com/msys2/MINGW-packages/pull/9931 |
30306
8b993c46fc1c
GitHub-CI: No longer create manual symlinks for octave binaries on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30292
diff
changeset
|
479 run: make -C ./.build install V=1 |
29718
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
480 |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
481 - name: check |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
482 # Continuing on error in this step means that jobs will be "green" even |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
483 # if the test suite crashes. But if we don't continue, we'll loose the |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
484 # ccache and other jobs will be cancelled, too. |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
485 # It would be nice if we could mark the job as "yellow" (and continue) |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
486 # in that case. |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
487 # It would also be nice if we could analyze the test suite results |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
488 # automatically. |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
489 continue-on-error: true |
29841
9a17e0834c4e
GitHub-CI: Decrease time-out for some steps.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29813
diff
changeset
|
490 timeout-minutes: 60 |
29718
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
491 |
30610
e9895f8335c5
GitHub-CI: Simplify running the test suite on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30482
diff
changeset
|
492 # Perl scripts cannot be run as executables on Windows (no shebang mechanism). |
e9895f8335c5
GitHub-CI: Simplify running the test suite on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30482
diff
changeset
|
493 # We need to wrap them by calling the perl executable explicitly. |
29718
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
494 |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
495 run: | |
30610
e9895f8335c5
GitHub-CI: Simplify running the test suite on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30482
diff
changeset
|
496 echo 'makeinfo_program (sprintf ("%s && cd %s/../usr/bin && perl makeinfo", OCTAVE_HOME ()(1:2), OCTAVE_HOME ()));' \ |
e9895f8335c5
GitHub-CI: Simplify running the test suite on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30482
diff
changeset
|
497 >> "${MINGW_PREFIX}/share/octave/site/m/startup/octaverc" |
30292
8ee507796a34
GitHub-CI: Use octave wrapper executable also on Windows.
Markus Mützel <markus.muetzel@gmx.de>
parents:
30291
diff
changeset
|
498 octave --eval "__run_test_suite__" |
29718
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
499 |
29881
35155423c0ef
GitHub-CI: Display fntests.log in separate step.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29841
diff
changeset
|
500 - name: display test log |
29718
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
501 continue-on-error: true |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
502 # Displaying the log shouldn't take long. Cancel the step if it does. |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
503 timeout-minutes: 5 |
504fcc051d51
GitHub-CI: Add workflow for native Windows builds.
Markus Mützel <markus.muetzel@gmx.de>
parents:
29697
diff
changeset
|
504 run: cat fntests.log |