Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
1ae11e0
remove updates from ci
sandro-elsweijer May 5, 2026
88177dc
renamed dependency docker container
sandro-elsweijer May 5, 2026
3e4ad1d
rename clang docker container
sandro-elsweijer May 5, 2026
8188970
update docker images
sandro-elsweijer May 5, 2026
1d57567
add container to indentation wf
sandro-elsweijer May 5, 2026
6ec68d3
fix workflow
sandro-elsweijer May 5, 2026
a4cd332
add clang-format check to workflow
sandro-elsweijer May 5, 2026
5bb8452
find all source files now returns absolute paths
sandro-elsweijer May 5, 2026
5e525b4
find all source files can now be called from anywhere inside the repo
sandro-elsweijer May 5, 2026
8f82cf1
unindent a file for testing the ci
sandro-elsweijer May 5, 2026
08528d7
add line break
sandro-elsweijer May 5, 2026
80a9220
more output for debugging
sandro-elsweijer May 5, 2026
64d53e7
add sanity check for file search
sandro-elsweijer May 5, 2026
aaa8c19
make indent scripts more robust [run ci]
sandro-elsweijer May 8, 2026
c44018c
fix a wrong comment and add a check
sandro-elsweijer May 8, 2026
f00d836
clarify some error messages
sandro-elsweijer May 8, 2026
cde6aa6
more ci debugging checks
sandro-elsweijer May 8, 2026
beed1ae
diable globa ownership checks
sandro-elsweijer May 8, 2026
3258252
fix ci clang-format error wit -i
sandro-elsweijer May 8, 2026
21b98aa
remove debugging stdout
sandro-elsweijer May 8, 2026
cec3f96
remove debugging steps in ci
sandro-elsweijer May 8, 2026
20261af
remove debugging stdout
sandro-elsweijer May 8, 2026
597961d
indent bugfix
sandro-elsweijer May 8, 2026
9b5951e
indent
sandro-elsweijer May 8, 2026
d08b1df
Merge branch 'main' into fix-ci_updates
benegee May 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 1 addition & 13 deletions .github/workflows/check_doxygen.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ on:
jobs:
check_documentation:
runs-on: ubuntu-latest
container: dlramr/t8code-ubuntu:t8-dependencies
container: dlramr/t8code-dependencies:t8-dependencies-ubuntu-gcc
Comment thread
benegee marked this conversation as resolved.
timeout-minutes: 10
steps:
- uses: actions/checkout@v6
Expand All @@ -57,18 +57,6 @@ jobs:
"https://github.com/DLR-AMR/t8code/wiki/Contribution-workflow#failing-version-tags-in-pr-tests"
exit 1
fi
- name: Install LaTeX dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
texlive-latex-base \
texlive-latex-recommended \
texlive-latex-extra \
texlive-fonts-recommended \
texlive-font-utils \
ghostscript
- name: Which epstopdf
run: which epstopdf
- name: Download precompiled doxygen version 1.13.2 from official website
run: wget https://www.doxygen.nl/files/doxygen-1.13.2.linux.bin.tar.gz
- name: Unpack doxygen tar file
Expand Down
20 changes: 14 additions & 6 deletions .github/workflows/check_indentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ name: t8code indentation check
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

#
# This github CI script checks whether all code files in the t8code
# This github CI script checks whether all code files in the t8code
# repository are indented according to the indentation conventions.
# It is triggered for pull requests into main and develop and will also run once a day
# on main.
Expand All @@ -42,16 +42,24 @@ jobs:
indent:
if: (github.event_name == 'schedule' && github.repository == 'DLR-AMR/t8code') || (github.event_name != 'schedule')
runs-on: ubuntu-latest
container: dlramr/t8code-dependencies:t8-dependencies-ubuntu-gcc
timeout-minutes: 10
steps:
- uses: actions/checkout@v6
with:
fetch-tags: true # required to get version tags
fetch-depth: 0 # required to get all history, especially the version tags
- name: Install indent
run: pip install clang-format==17.0.1
fetch-depth: 0 # required to get all history, especially the version tags
Comment thread
benegee marked this conversation as resolved.
# This seems to be necessary because of the docker container.
- name: disable ownership checks
run: git config --global --add safe.directory '*'
- name: Check clang format version
run: |
which clang-format
clang-format --version
Comment thread
benegee marked this conversation as resolved.
- name: Indentation check
run: cd scripts/ && ./check_if_all_files_indented.sh &> >(tee -a indent_script_output.txt)
shell: bash
run: |
cd scripts/ && ./check_if_all_files_indented.sh &> >(tee -a indent_script_output.txt)
- name: Archive script output
# Do this regardless of the result of the previous step.
# We especially want to upload the result when the check fails.
Expand All @@ -60,4 +68,4 @@ jobs:
with:
name: t8code indentation report
path: scripts/indent_script_output.txt

15 changes: 5 additions & 10 deletions .github/workflows/code_coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,11 +47,11 @@ on:
required: true
description: 'Token needed to publish coverage report on Codecov'

jobs:
jobs:
generate-codecov:
timeout-minutes: 20
runs-on: ubuntu-latest
container: dlramr/t8code-ubuntu:t8-dependencies
container: dlramr/t8code-dependencies:t8-dependencies-ubuntu-gcc
steps:
#
# Setup
Expand All @@ -62,8 +62,6 @@ jobs:
name: SC_P4EST_MPI_${{ inputs.MPI }}
- name: untar artifact
run: tar -xf artifact.tar && rm artifact.tar
- name: Update packages
run: sudo apt-get update && sudo apt-get upgrade -y
# This seems to be necessary because of the docker container.
- name: disable ownership checks
run: git config --global --add safe.directory '*'
Expand All @@ -78,9 +76,6 @@ jobs:
&& echo BUILD_TYPE="$BUILD_TYPE" >> $GITHUB_ENV
&& echo SC_PATH="$SC_PATH" >> $GITHUB_ENV
&& echo P4EST_PATH="$P4EST_PATH" >> $GITHUB_ENV
## Install lcov.
- name: Install lcov
run: sudo apt-get install -y lcov
- name: Print lcov version
run: lcov --version
#
Expand All @@ -95,10 +90,10 @@ jobs:
&& echo CONFIG_OPTIONS="$CONFIG_OPTIONS" >> $GITHUB_ENV
# cmake
- name: echo cmake line
run: echo cmake ../ $CONFIG_OPTIONS -DCMAKE_Fortran_FLAGS="-fprofile-arcs -ftest-coverage"
run: echo cmake ../ $CONFIG_OPTIONS -DCMAKE_Fortran_FLAGS="-fprofile-arcs -ftest-coverage"
# Note: Adding DCMAKE_Fortran_FLAGS here is a workaround because the blank space between the compiler flags causes trouble otherwise.
- name: cmake
run: mkdir build && cd build && cmake ../ $CONFIG_OPTIONS -DCMAKE_Fortran_FLAGS="-fprofile-arcs -ftest-coverage"
run: mkdir build && cd build && cmake ../ $CONFIG_OPTIONS -DCMAKE_Fortran_FLAGS="-fprofile-arcs -ftest-coverage"
- name: OnFailUploadLog
if: failure()
uses: actions/upload-artifact@v7
Expand All @@ -118,4 +113,4 @@ jobs:
fail_ci_if_error: true
disable_search: true
token: ${{ secrets.CODE_COV }}

4 changes: 1 addition & 3 deletions .github/workflows/test_preparation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ env:
jobs:
cmake_preparation:
runs-on: ubuntu-latest
container: dlramr/t8code-ubuntu:t8-dependencies
container: dlramr/t8code-dependencies:t8-dependencies-ubuntu-gcc
timeout-minutes: 10
outputs:
USED_CACHE: ${{ steps.used_cache.outputs.USED_CACHE }}
Expand All @@ -63,8 +63,6 @@ jobs:
- uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Update packages
run: sudo apt-get update && sudo apt-get upgrade -y
# This seems to be necessary because of the docker container
- name: disable ownership checks
run: git config --global --add safe.directory '*'
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/test_sc_p4est.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ on:
jobs:
sc_p4est_cmake_tests:
runs-on: ubuntu-latest
container: dlramr/t8code-ubuntu:t8-dependencies
container: dlramr/t8code-dependencies:t8-dependencies-ubuntu-gcc
timeout-minutes: 10
steps:
#
Expand All @@ -57,8 +57,6 @@ jobs:
name: SC_P4EST_MPI_${{ inputs.MPI }}
- name: untar artifact
run: tar -xf artifact.tar && rm artifact.tar
- name: Update packages
run: sudo apt-get update && sudo apt-get upgrade -y
# This seems to be necessary because of the docker container
- name: disable ownership checks
run: git config --global --add safe.directory '*'
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/test_t8code.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ jobs:
t8code_cmake_tests:
timeout-minutes: 25
runs-on: ubuntu-latest
container: dlramr/t8code-ubuntu:t8-dependencies
container: dlramr/t8code-dependencies:t8-dependencies-ubuntu-gcc
steps:
#
# Setup
Expand All @@ -60,8 +60,6 @@ jobs:
name: SC_P4EST_MPI_${{ inputs.MPI }}
- name: untar artifact
run: tar -xf artifact.tar && rm artifact.tar
- name: Update packages
run: sudo apt-get update && sudo apt-get upgrade -y
# This seems to be necessary because of the docker container
- name: disable ownership checks
run: git config --global --add safe.directory '*'
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/test_t8code_api.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ jobs:
t8code_cmake_tests:
timeout-minutes: 25
runs-on: ubuntu-latest
container: dlramr/t8code-ubuntu:t8-dependencies
container: dlramr/t8code-dependencies:t8-dependencies-ubuntu-gcc
steps:
#
# Setup
Expand All @@ -60,8 +60,6 @@ jobs:
name: SC_P4EST_MPI_${{ inputs.MPI }}
- name: untar artifact
run: tar -xf artifact.tar && rm artifact.tar
- name: Update packages
run: sudo apt-get update && sudo apt-get upgrade -y
# This seems to be necessary because of the docker container
- name: disable ownership checks
run: git config --global --add safe.directory '*'
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/test_t8code_linkage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ jobs:
t8code_cmake_tests:
timeout-minutes: 70
runs-on: ubuntu-latest
container: dlramr/t8code-ubuntu:t8-dependencies
container: dlramr/t8code-dependencies:t8-dependencies-ubuntu-gcc
steps:
#
# Setup
Expand All @@ -60,8 +60,6 @@ jobs:
name: SC_P4EST_MPI_${{ inputs.MPI }}
- name: untar artifact
run: tar -xf artifact.tar && rm artifact.tar
- name: Update packages
run: sudo apt-get update && sudo apt-get upgrade -y
# This seems to be necessary because of the docker container
- name: disable ownership checks
run: git config --global --add safe.directory '*'
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/test_t8code_w_clang_and_ompi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,16 +61,14 @@ jobs:
# Clang version of OpenMPI.
timeout-minutes: 60
runs-on: ubuntu-latest
container: dlramr/t8code-ubuntu:t8-clang-dependencies
container: dlramr/t8code-dependencies:t8-dependencies-ubuntu-clang
steps:
#
# Part 1: Preparation and sanity checks
# -------------------------------------
- uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Update packages
run: apt-get update && apt-get upgrade -y
- name: Show Clang version
run: clang --version
- name: Make sure MPI was built with CLANG
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/test_t8code_w_shipped_submodules.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,16 +49,14 @@ jobs:
t8code_cmake_tests:
timeout-minutes: 25
runs-on: ubuntu-latest
container: dlramr/t8code-ubuntu:t8-dependencies
container: dlramr/t8code-dependencies:t8-dependencies-ubuntu-gcc
steps:
#
# Setup
#
- uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Update packages
run: sudo apt-get update && sudo apt-get upgrade -y
# This seems to be necessary because of the docker container
- name: disable ownership checks
run: git config --global --add safe.directory '*'
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/test_tarball.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ jobs:
build_tarball:
if: (github.event_name == 'schedule' && github.repository == 'DLR-AMR/t8code') || (github.event_name != 'schedule')
runs-on: ubuntu-latest
container: dlramr/t8code-ubuntu:t8-dependencies
container: dlramr/t8code-dependencies:t8-dependencies-ubuntu-gcc
timeout-minutes: 5
steps:
#
Expand Down Expand Up @@ -98,7 +98,7 @@ jobs:
test_tarball:
needs: build_tarball
runs-on: ubuntu-latest
container: dlramr/t8code-ubuntu:t8-dependencies
container: dlramr/t8code-dependencies:t8-dependencies-ubuntu-gcc
timeout-minutes: 15
steps:
- name: Download tarball
Expand Down
7 changes: 1 addition & 6 deletions .github/workflows/test_valgrind.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ jobs:
valgrind_check:
timeout-minutes: 90
runs-on: ubuntu-latest
container: dlramr/t8code-ubuntu:t8-dependencies
container: dlramr/t8code-dependencies:t8-dependencies-ubuntu-gcc
steps:
#
# Setup
Expand All @@ -74,8 +74,6 @@ jobs:
name: SC_P4EST_MPI_${{ inputs.MPI }}
- name: untar artifact
run: tar -xf artifact.tar && rm artifact.tar
- name: Update packages
run: sudo apt-get update && sudo apt-get upgrade -y
# This seems to be necessary because of the docker container.
- name: disable ownership checks
run: git config --global --add safe.directory '*'
Expand All @@ -90,9 +88,6 @@ jobs:
&& echo BUILD_TYPE="$BUILD_TYPE" >> $GITHUB_ENV
&& echo SC_PATH="$SC_PATH" >> $GITHUB_ENV
&& echo P4EST_PATH="$P4EST_PATH" >> $GITHUB_ENV
## Install Valgrind.
- name: Install Valgrind
run: sudo apt-get install -y valgrind
- name: Print Valgrind version
run: valgrind --version

Expand Down
51 changes: 31 additions & 20 deletions scripts/check_if_all_files_indented.sh
Original file line number Diff line number Diff line change
Expand Up @@ -28,45 +28,56 @@
#

#
# This script must be executed from the scripts/ folder.
# This script must be executed from within the repository.
#
if [ `basename $PWD` != scripts ]
then
if [ -d scripts ]
then
# The directory stack is automatically reset on script exit.
pushd scripts/ > /dev/null
else
echo ERROR: scripts/ directory not found.
exit 1
fi
repo_main_dir=$(git rev-parse --show-toplevel 2>/dev/null)

if [ $? -ne 0 ]; then
echo "ERROR: check_if_all_files_indented.sh was not called from inside the git repository."
exit 1
fi

# Find all files with the appropriate suffix.
# Excluding the sc/ and p4est/ subfolders.
files=`./internal/find_all_source_files.sh`
files=$($repo_main_dir/scripts/internal/find_all_source_files.sh) || {
echo $files # return error message of find_all_source_files.sh
echo "ERROR: find_all_source_files.sh returned exit code 1"
exit 1
}

if [ -z "$files" ]; then
echo "ERROR: find_all_source_files.sh returned nothing."
exit 1
fi

notallindented=0
file_found=0
for file in $files
do
# Find also gives us directories,
# so we ensure that $file is a proper
# file before checking for indentation.
if [ -f $file ]
if [ -f "$file" ]
then
./check_if_file_indented.sh $file > /dev/null 2>&1
file_found=1
$repo_main_dir/scripts/check_if_file_indented.sh "$file"
status=$?
if test $status -ne 0
then
echo "File $file is not indented."
notallindented=1
fi
else
echo "ERROR: find_all_source_files.sh returned a file which does not exist."
exit 1
fi
done

if test $file_found -eq 0
then
echo Error: Could not find any source files.
exit 1
fi

if test $notallindented -eq 0
then
echo All files are indented.
exit 0
fi

exit $notallindented
exit 1
Loading