Merge pull request #6175 from gassmoeller/recursive_include #8601
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: linux | |
on: | |
push: | |
branches: | |
- 'main' | |
- 'aspect-*' | |
pull_request: | |
concurrency: | |
group: ${{ github.actor }}-${{ github.ref }} | |
cancel-in-progress: true | |
env: | |
OMPI_MCA_btl_base_warn_component_unused: 0 | |
OMPI_MCA_mpi_yield_when_idle: 1 | |
OMPI_MCA_rmaps_base_oversubscribe: 1 | |
OMPI_ALLOW_RUN_AS_ROOT: 1 | |
OMPI_ALLOW_RUN_AS_ROOT_CONFIRM: 1 | |
OMPI_MCA_btl_vader_single_copy_mechanism: none | |
jobs: | |
linux-nounity: | |
#linux build with unity/precompiled headers disabled | |
name: no-unity-build | |
runs-on: [ubuntu-20.04] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: setup | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y software-properties-common | |
sudo add-apt-repository ppa:ginggs/deal.ii-9.5.1-backports | |
sudo apt-get update | |
sudo apt-get install -yq --no-install-recommends libdeal.ii-dev | |
- name: compile | |
run: | | |
mkdir build-no-unity | |
cd build-no-unity | |
cmake -D CMAKE_BUILD_TYPE=Debug -D ASPECT_PRECOMPILE_HEADERS=OFF -D ASPECT_UNITY_BUILD=OFF -D CMAKE_CXX_FLAGS='-Werror' -D ASPECT_ADDITIONAL_CXX_FLAGS='-Wdeprecated-declarations' .. | |
make -j 4 | |
./aspect --test | |
linux: | |
#linux build including indent, examples and documentation | |
name: indent+documentation | |
runs-on: [ubuntu-20.04] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: setup | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y software-properties-common | |
sudo add-apt-repository ppa:ginggs/deal.ii-9.5.1-backports | |
sudo apt-get update | |
sudo apt-get install -yq --no-install-recommends texlive-plain-generic texlive-base texlive-latex-recommended texlive-latex-base texlive-fonts-recommended texlive-bibtex-extra lmodern texlive-latex-extra texlive-science graphviz python3-pip python-setuptools libdeal.ii-dev doxygen latexmk biber inkscape | |
doxygen --version | |
wget https://github.com/tjhei/astyle/releases/download/v2.04/astyle_2.04_linux.tar.gz | |
tar xf astyle_2.04_linux.tar.gz | |
cd astyle/build/gcc && make | |
sudo USER=root make install | |
cd | |
rm -rf astyle* | |
astyle --version | |
- name: make indent | |
run: | | |
./contrib/utilities/indent | |
git diff > changes-astyle.diff | |
- name: archive indent results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: changes-astyle.diff | |
path: changes-astyle.diff | |
- name: check indentation | |
run: | | |
git diff --exit-code | |
- name: citation list | |
run: | | |
cd doc | |
latexmk -pdf -f citations-list.tex | |
grep WARN citations-list.blg && echo "warnings found!" && exit 1 | |
echo "OK" | |
- name: compile | |
run: | | |
mkdir build | |
cd build | |
/usr/bin/cmake -D CMAKE_BUILD_TYPE=Debug -D ASPECT_PRECOMPILE_HEADERS=ON -D ASPECT_UNITY_BUILD=ON \ | |
-D CMAKE_CXX_FLAGS='-Werror' -D ASPECT_INSTALL_EXAMPLES=ON .. | |
make -j 4 | |
./aspect --test | |
- name: doc | |
run: | | |
cd doc | |
export OMPI_MCA_btl="self,vader" | |
./update_parameters.sh $GITHUB_WORKSPACE/build/aspect | |
tests: | |
#linux build including tests | |
name: tests | |
runs-on: [ubuntu-latest] | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- image: "geodynamics/aspect-tester:focal-dealii-9.5-v3" | |
run-tests: "ON" | |
compare-tests: "ON" | |
result-file: "changes-test-results-9.5.diff" | |
container-options: '--name container' | |
- image: "geodynamics/aspect-tester:focal-dealii-master" | |
run-tests: "ON" | |
compare-tests: "OFF" | |
result-file: "changes-test-results-master.diff" | |
container-options: '--user 0 --name container' | |
container: | |
image: ${{ matrix.image }} | |
options: ${{ matrix.container-options }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: compile | |
run: | | |
mkdir build | |
cd build | |
cmake \ | |
-D CMAKE_BUILD_TYPE=Debug \ | |
-G 'Ninja' \ | |
-D CMAKE_CXX_FLAGS='-Werror' \ | |
-D ASPECT_ADDITIONAL_CXX_FLAGS='-O3 -Wdeprecated-declarations' \ | |
-D ASPECT_TEST_GENERATOR='Ninja' \ | |
-D ASPECT_PRECOMPILE_HEADERS=ON \ | |
-D ASPECT_UNITY_BUILD=ON \ | |
-D ASPECT_RUN_ALL_TESTS='${{ matrix.run-tests }}' \ | |
-D ASPECT_COMPARE_TEST_RESULTS='${{ matrix.compare-tests }}' \ | |
-D CMAKE_UNITY_BUILD_BATCH_SIZE=8 \ | |
.. | |
ninja -j 4 | |
./aspect --test | |
- name: prebuild tests | |
run: | | |
# prebuilding tests... | |
cd build/tests | |
ninja -k 0 tests || true | |
- name: report test results | |
continue-on-error: true | |
run: | | |
cd build | |
ctest \ | |
--no-compress-output \ | |
--test-action Test \ | |
--output-on-failure || touch test_run_failed | |
- name: write test results | |
continue-on-error: true | |
run: | | |
cd build | |
# TODO: temporary fix for a git incompability. | |
# Can likely be removed when the tester image runs on Ubuntu 22.04 | |
/usr/bin/git config --system --add safe.directory /__w/aspect/aspect | |
ninja generate_reference_output | |
git diff ../tests > ${{ matrix.result-file }} | |
- name: archive test results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ matrix.result-file }} | |
path: build/${{ matrix.result-file }} | |
- name: check test results | |
run: | | |
if [ -f build/test_run_failed ] || [ -s build/${{ matrix.result-file}} ]; then | |
exit 1 | |
else | |
exit 0 | |
fi |