[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[lmi-commits] [lmi] master e859cc7 09/30: Test build using autotools in
From: |
Greg Chicares |
Subject: |
[lmi-commits] [lmi] master e859cc7 09/30: Test build using autotools in GitHub Actions CI workflow too |
Date: |
Wed, 24 Mar 2021 15:31:08 -0400 (EDT) |
branch: master
commit e859cc715f4fec98d6f26a944ef26b8d56245bf2
Author: Vadim Zeitlin <vadim@tt-solutions.com>
Commit: Gregory W. Chicares <gchicares@sbcglobal.net>
Test build using autotools in GitHub Actions CI workflow too
This requires a couple of extra steps, notably for building the Boost
libraries that we still use, but is otherwise quite straightforward and
will be useful to ensure that this build variant is also kept working.
---
.github/workflows/ci.yml | 57 ++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 55 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index a180a83..a2158b9 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -23,6 +23,10 @@ jobs:
- name: Native Linux build
triplet: x86_64-pc-linux-gnu
mingw: false
+ - name: Linux using autotools
+ triplet: x86_64-pc-linux-gnu
+ mingw: false
+ autotools: true
env:
LMI_COMPILER: gcc
LMI_TRIPLET: ${{ matrix.triplet }}
@@ -138,10 +142,41 @@ jobs:
if: steps.cache-local.outputs.cache-hit != 'true'
run: ./install_wxpdfdoc.sh
+ - name: Build Boost libraries
+ if: matrix.autotools
+ run: |
+ for lib in regex filesystem; do
+ cd /opt/lmi/third_party/src/boost/libs/${lib}/src
+ ${LMI_COMPILER} -std=c++17 -Wno-deprecated-declarations
-DBOOST_NO_AUTO_PTR -Dregister='' -fPIC -I../../.. -c *.cpp
+ ar rc
/opt/lmi/local/${LMI_COMPILER}_${LMI_TRIPLET}/lib/libboost_${lib}.a *.o
+ done
+
+ - name: Configure lmi
+ if: matrix.autotools
+ run: |
+ ./autogen.sh
+ lmi_build_dir='ci-build'
+ echo "lmi_build_dir=${lmi_build_dir}" >> $GITHUB_ENV
+ mkdir ${lmi_build_dir}
+ cd ${lmi_build_dir}
+
+ # Disable optimizations just to make the build faster.
+ ../configure --disable-optimize \
+ CPPFLAGS=-I/opt/lmi/local/include \
+ LDFLAGS=-L/opt/lmi/local/${LMI_COMPILER}_${LMI_TRIPLET}/lib \
+
PKG_CONFIG_PATH=/opt/lmi/local/${LMI_COMPILER}_${LMI_TRIPLET}/lib/pkgconfig \
+ --with-boost-headers=/opt/lmi/third_party/src/boost
+
+ - name: Build lmi (autotools)
+ if: matrix.autotools
+ run: make $coefficiency -C ${lmi_build_dir}
+
- name: Build lmi
run: make $coefficiency --output-sync=recurse
+ if: matrix.autotools != true
- name: Build lmi with SO attributes
+ if: matrix.autotools != true
run: make $coefficiency --output-sync=recurse build_type=so_test
USE_SO_ATTRIBUTES=1 all
- name: Setup lmi for tests
@@ -179,20 +214,38 @@ jobs:
printf '391daa5cbc54e118c4737446bcb84eea'
>/opt/lmi/data/passkey
- name: Install
+ if: matrix.autotools != true
run: make install
- name: Check concinnity
+ if: matrix.autotools != true
run: make $coefficiency check_concinnity
- name: Check physical closure
+ if: matrix.autotools != true
run: make $coefficiency check_physical_closure
- name: Run CLI tests
+ if: matrix.autotools != true
run: make $coefficiency cli_tests
- - name: Run unit tests
+ - name: Run unit tests (autotools)
+ if: matrix.autotools
run: |
- make $coefficiency unit_tests
+ # These files are used by input test from this hardcoded location.
+ cp \
+ cell.xsd \
+ multiple_cell_document.xsd \
+ single_cell_document.xsd \
+ sort_cell_subelements.xsl \
+ types.xsd \
+ /opt/lmi/data
+
+ make $coefficiency -C ${lmi_build_dir} check
+
+ - name: Run unit tests
+ if: matrix.autotools != true
+ run: make $coefficiency unit_tests
- name: Run GUI tests
if: matrix.mingw
- [lmi-commits] [lmi] master f4a91e3 28/30: Move XSD and XSL copy command to a more appropriate CI job step, (continued)
- [lmi-commits] [lmi] master f4a91e3 28/30: Move XSD and XSL copy command to a more appropriate CI job step, Greg Chicares, 2021/03/24
- [lmi-commits] [lmi] master 593a712 29/30: Actually update wx, Greg Chicares, 2021/03/24
- [lmi-commits] [lmi] master 0b85c14 30/30: Improve documentation, Greg Chicares, 2021/03/24
- [lmi-commits] [lmi] master b0ed5cc 07/30: Create required files in the build directory with autotools, Greg Chicares, 2021/03/24
- [lmi-commits] [lmi] master f5b317c 08/30: Don't skip path_utility_test unnecessarily in the CI builds, Greg Chicares, 2021/03/24
- [lmi-commits] [lmi] master ecd3435 11/30: Default to x86_64-pc-linux-gnu LMI_TRIPLET in the CI builds, Greg Chicares, 2021/03/24
- [lmi-commits] [lmi] master 396441f 13/30: Use gcc_version value from the environment, if any, in scripts, Greg Chicares, 2021/03/24
- [lmi-commits] [lmi] master 91116f9 14/30: Suppress -Wdeprecated-copy in Boost headers for gcc9 too, Greg Chicares, 2021/03/24
- [lmi-commits] [lmi] master dd0b2a63 16/30: Work around problem with executable files under .git in CI builds, Greg Chicares, 2021/03/24
- [lmi-commits] [lmi] master 1c6ac28 04/30: Simplify test targets definitions in Automake makefile, Greg Chicares, 2021/03/24
- [lmi-commits] [lmi] master e859cc7 09/30: Test build using autotools in GitHub Actions CI workflow too,
Greg Chicares <=
- [lmi-commits] [lmi] master fc0987e 18/30: Disable clang-specific warning when compiling Boost libraries, Greg Chicares, 2021/03/24
- [lmi-commits] [lmi] master 815b26b 21/30: Show config.log if running configure for XML libraries failed, Greg Chicares, 2021/03/24
- [lmi-commits] [lmi] master 2663129 24/30: Ignore more warnings in Boost.Regex headers with clang, Greg Chicares, 2021/03/24
- [lmi-commits] [lmi] master 9de81b8 26/30: Avoid -Wsometimes-uninitialized clang warning in a test, Greg Chicares, 2021/03/24