Skip to content

Commit

Permalink
Merge branch 'main' into feature-populate_without_repartition
Browse files Browse the repository at this point in the history
  • Loading branch information
lukasdreyer committed Jul 8, 2024
2 parents d96024c + 0f6bfbd commit f93958f
Show file tree
Hide file tree
Showing 134 changed files with 4,358 additions and 2,140 deletions.
13 changes: 10 additions & 3 deletions .github/workflows/add_release_documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,10 @@ on:
release:
types:
- created


# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

jobs:
add_release_doc:

Expand All @@ -53,12 +56,17 @@ jobs:
#
# Setup and bootstrap
#

- name: Update packages
run: sudo apt-get update && sudo apt-get upgrade -y
# This step is necessary to get the newest package data
- name: checkout
if: ${{ env.MINOR_RELEASE == 'true' }}
uses: actions/checkout@v4
with:
path: t8code

fetch-tags: true
fetch-depth: 0
- name: Install dependencies
if: ${{ env.MINOR_RELEASE == 'true' }}
run: sudo apt-get install libz-dev doxygen-latex
Expand Down Expand Up @@ -111,7 +119,6 @@ jobs:
uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}
fetch-depth: 0
repository: DLR-AMR/t8code-website
path: t8code-website
token: ${{ secrets.T8DDY_TOKEN }}
Expand Down
11 changes: 11 additions & 0 deletions .github/workflows/check_indentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,17 @@ jobs:
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
with:
fetch-tags: true # required to get version tags
fetch-depth: 0 # required to get all history, especially the version tags
# Deactivated the install sudo because it failed.
#- name: install sudo
# run: apt update && apt install sudo
# On the github Ubuntu 20.04, sudo is not available by default
# we need it, however, to update/upgrade our packages.
- name: Update packages
run: sudo apt-get update && sudo apt-get upgrade -y
# This step is necessary to get the newest package data
- name: Install indent
run: pip install clang-format==17.0.1
- name: Indentation check
Expand Down
10 changes: 9 additions & 1 deletion .github/workflows/ci_playground.yml
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,15 @@ jobs:
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-tags: true # required to get version tags
fetch-depth: 0 # required to get all history, especially the version tags
- name: install sudo
run: apt update && apt install sudo
# On the github Ubuntu 20.04, sudo is not available by default
# we need it, however, to update/upgrade our packages.
- name: Update packages
run: sudo apt-get update && sudo apt-get upgrade -y
# This step is necessary to get the newest package data
- name: define sc var
run: hash=`git rev-parse HEAD:sc` && echo sc_commit=$hash >> $GITHUB_ENV
- name: define p4est var
Expand Down
11 changes: 6 additions & 5 deletions .github/workflows/mattermost.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,23 +48,24 @@ jobs:
if: github.event.action == 'closed' && github.event.pull_request.merged == true
run: |
echo message_build=1 >> $GITHUB_ENV &&
echo "{\"text\":\"Pull request ${{ github.event.number }} has been merged. See ${{ github.event.pull_request.html_url }} for more details.\"}" > mattermost.json
echo message_content='Pull request ${{ github.event.number }} has been merged. See ${{ github.event.pull_request.html_url }} for more details.' >> $GITHUB_ENV
- name: push_message
if: github.event_name == 'push' && github.event.action != 'closed'
run: |
echo message_build=1 >> $GITHUB_ENV &&
echo "{\"text\":\"${{ github.event.pusher.name }} pushed into ${{ github.event.ref }}. See ${{ github.event.compare }} for more details.\"}" > mattermost.json
echo message_content='${{ github.event.pusher.name }} pushed into ${{ github.event.ref }}. See ${{ github.event.compare }} for more details.' >> $GITHUB_ENV
- name: pull_request_message
if: github.event_name == 'pull_request' && github.event.action != 'synchronize' && github.event.action != 'closed'
run: |
echo message_build=1 >> $GITHUB_ENV &&
echo "{\"text\":\"Pull request ${{ github.event.number }} has been ${{ github.event.action }}. See ${{ github.event.pull_request.html_url }} for more details.\"}" > mattermost.json
echo message_content='Pull request ${{ github.event.number }} has been ${{ github.event.action }}. See ${{ github.event.pull_request.html_url }} for more details.' >> $GITHUB_ENV
- name: debug_after_build
run: echo ${{ env.message_build }}
# if a message has been written send the message to the mattermost-channel described in the secrets
- name: send_message
if: ${{ env.message_build == 1 }}
uses: mattermost/action-mattermost-notify@master
env:
with:
MATTERMOST_WEBHOOK_URL: ${{ secrets.MATTERMOST_WEBHOOK_URL }}
MATTERMOST_USERNAME: t8y
MATTERMOST_USERNAME: t8ddy
TEXT: ${{ env.message_content }}
170 changes: 170 additions & 0 deletions .github/workflows/test_tarball.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,170 @@
name: Test if tarball can be build and code compiled from it

# This file is part of t8code.
# t8code is a C library to manage a collection (a forest) of multiple
# connected adaptive space-trees of general element types in parallel.
#
# Copyright (C) 2024 the developers
#
# t8code is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# t8code is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with t8code; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

#
# This github CI script constructs a tarball and checks if it is build correctly.
#

env:
MAKEFLAGS: "-j2 V=0"


on:
push:
branches:
- main
- develop
- CI-*tarball* # for testing this script, all feature branches with "tarball" in their name
pull_request:
branches:
- main
- develop
workflow_dispatch:

jobs:
build:

if: (github.event_name == 'schedule' && github.repository == 'DLR-AMR/t8code') || (github.event_name != 'schedule')
runs-on: ubuntu-20.04
container: dlramr/t8code-ubuntu:t8-dependencies
timeout-minutes: 90
steps:
#
# Setup and bootstrap
#
- uses: actions/checkout@v4
with:
fetch-tags: true # required to get version tags
fetch-depth: 0 # required to get all history, especially the version tags
- name: install sudo
run: apt update && apt install sudo
# On the github Ubuntu 20.04, sudo is not available by default
# we need it, however, to update/upgrade our packages.
- name: Update packages
run: sudo apt-get update && sudo apt-get upgrade -y
# This step is necessary to get the newest package data
- name: disable ownership checks
run: git config --global --add safe.directory '*'
- name: init submodules
run: git submodule init
- name: update submodules
run: git submodule update
- name: bootstrap
run: ./bootstrap
#
# T8CODE
# with p4est and sc as internal dependencies which is needed for make dist
#
#
- name: configure
run: mkdir build && cd build && ../configure
- name: OnFailUploadLog
if: failure()
uses: actions/upload-artifact@v4
with:
name: config.log
path: build/config.log
# Start building tarball
- name: Install pandoc
uses: nikeee/setup-pandoc@v1
- name: Test pandoc
run: pandoc --version
# Build the tarball
- name: Make tarball
run: cd build && make dist && mkdir tarballs && mv *.tar.gz tarballs
# Upload the tarball
- name: upload tarball
uses: actions/upload-artifact@v4
with:
name: tarballs
path: build/tarballs
# Perform a make distcheck to check the distribution locally
# - name: make distcheck
# run: |
# cd build
# make distcheck


test-tarball:
needs: build
runs-on: ubuntu-20.04
container: dlramr/t8code-ubuntu:t8-dependencies
timeout-minutes: 90
steps:
- name: install sudo
run: apt update && apt install sudo
# On the github Ubuntu 20.04, sudo is not available by default
# we need it, however, to update/upgrade our packages.
- name: Update packages
run: sudo apt-get update && sudo apt-get upgrade -y
# This step is necessary to get the newest package data
- name: Download tarball
uses: actions/download-artifact@v4
with:
name: tarballs
path: tarballs
- name: Extract tarball
run: tar xzf tarballs/*.tar.gz -C $RUNNER_TEMP
- name: update Github_env
run: export TAR_DIR="$RUNNER_TEMP/`basename tarballs/*.tar.gz .tar.gz`" &&
echo TAR_DIR="$TAR_DIR" >>$GITHUB_ENV

# build config vars
- name: build CFLAGS and CXXFLAGS variables
run: echo CFLAGS_var="-Wall -pedantic -O0" >> $GITHUB_ENV
&& echo CXXFLAGS_var="-Wall -pedantic -O0" >> $GITHUB_ENV
# Note: We want to use '-Werror', but if we already provide it at the configure step
# we get errors in configure that we cannot remove (for example the autotools way
# of checking for libm results in a compiler warning).
# Thus, we add '-Werror' later at the make step.
- name: less-test-option
if: github.event_name == 'pull_request'
run: export LESS_TEST_OPTION="--enable-less-tests"
&& echo LESS_TEST_OPTION="$LESS_TEST_OPTION" >> $GITHUB_ENV
- name: build config variables
run: export CONFIG_OPTIONS="--without-blas ${LESS_TEST_OPTION}"
&& export CONFIG_DEBUG="$CONFIG_OPTIONS --enable-debug --enable-mpi"
&& echo CONFIG_OPTIONS="$CONFIG_OPTIONS" >> $GITHUB_ENV
&& echo CONFIG_DEBUG="$CONFIG_DEBUG" >> $GITHUB_ENV
- name: Check vars
run: echo "[$CONFIG_DEBUG]"
- name: configure from Tarball
run: mkdir build_tar && cd build_tar && $TAR_DIR/configure $CONFIG_DEBUG CFLAGS="$CFLAGS_var" CXXFLAGS="$CXXFLAGS_var"
- name: OnFailUploadLog
if: failure()
uses: actions/upload-artifact@v4
with:
name: build_tar.log
path: build_tar/config.log
- name: make
run: cd build_tar && make $MAKEFLAGS
- name: make install
run: cd build_tar && make install $MAKEFLAGS
- name: make check
run: cd build_tar && make check $MAKEFLAGS CFLAGS="$CFLAGS_var -Werror" CXXFLAGS="$CXXFLAGS_var -Werror"
- name: OnFailUploadLog
if: failure()
uses: actions/upload-artifact@v4
with:
name: build_tar.log
path: build_tar/test-suite.log

11 changes: 9 additions & 2 deletions .github/workflows/tests_sc_p4est.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,9 +60,16 @@ jobs:
# Setup and bootstrap
#
- uses: actions/checkout@v4
with:
fetch-tags: true # required to get version tags
fetch-depth: 0 # required to get all history, especially the version tags
- name: install sudo
run: apt update && apt install sudo
# On the github Ubuntu 20.04, sudo is not available by default
# we need it, however, to update/upgrade our packages.
- name: Update packages
run: apt-get update && apt-get upgrade -y
# This seems to be necessary because of the docker container
run: sudo apt-get update && sudo apt-get upgrade -y
# This step is necessary to get the newest package data
- name: disable ownership checks
run: git config --global --add safe.directory '*'
- name: init submodules
Expand Down
13 changes: 9 additions & 4 deletions .github/workflows/tests_t8code_linkage_parallel_debug.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,11 +60,16 @@ jobs:
# Setup and bootstrap
#
- uses: actions/checkout@v4
with:
fetch-depth: 0
with:
fetch-tags: true # required to get version tags
fetch-depth: 0 # required to get all history, especially the version tags
- name: install sudo
run: apt update && apt install sudo
# On the github Ubuntu 20.04, sudo is not available by default
# we need it, however, to update/upgrade our packages.
- name: Update packages
run: apt-get update && apt-get upgrade -y
# This seems to be necessary because of the docker container
run: sudo apt-get update && sudo apt-get upgrade -y
# This step is necessary to get the newest package data
- name: disable ownership checks
run: git config --global --add safe.directory '*'
- name: init submodules
Expand Down
13 changes: 9 additions & 4 deletions .github/workflows/tests_t8code_linkage_parallel_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,11 +60,16 @@ jobs:
# Setup and bootstrap
#
- uses: actions/checkout@v4
with:
fetch-depth: 0
with:
fetch-tags: true # required to get version tags
fetch-depth: 0 # required to get all history, especially the version tags
- name: install sudo
run: apt update && apt install sudo
# On the github Ubuntu 20.04, sudo is not available by default
# we need it, however, to update/upgrade our packages.
- name: Update packages
run: apt-get update && apt-get upgrade -y
# This seems to be necessary because of the docker container
run: sudo apt-get update && sudo apt-get upgrade -y
# This step is necessary to get the newest package data
- name: disable ownership checks
run: git config --global --add safe.directory '*'
- name: init submodules
Expand Down
13 changes: 9 additions & 4 deletions .github/workflows/tests_t8code_parallel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,11 +60,16 @@ jobs:
# Setup and bootstrap
#
- uses: actions/checkout@v4
with:
fetch-depth: 0
with:
fetch-tags: true # required to get version tags
fetch-depth: 0 # required to get all history, especially the version tags
- name: install sudo
run: apt update && apt install sudo
# On the github Ubuntu 20.04, sudo is not available by default
# we need it, however, to update/upgrade our packages.
- name: Update packages
run: apt-get update && apt-get upgrade -y
# This seems to be necessary because of the docker container
run: sudo apt-get update && sudo apt-get upgrade -y
# This step is necessary to get the newest package data
- name: disable ownership checks
run: git config --global --add safe.directory '*'
- name: init submodules
Expand Down
13 changes: 9 additions & 4 deletions .github/workflows/tests_t8code_serial.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,11 +60,16 @@ jobs:
# Setup and bootstrap
#
- uses: actions/checkout@v4
with:
fetch-depth: 0
with:
fetch-tags: true # required to get version tags
fetch-depth: 0 # required to get all history, especially the version tags
- name: install sudo
run: apt update && apt install sudo
# On the github Ubuntu 20.04, sudo is not available by default
# we need it, however, to update/upgrade our packages.
- name: Update packages
run: apt-get update && apt-get upgrade -y
# This seems to be necessary because of the docker container
run: sudo apt-get update && sudo apt-get upgrade -y
# This step is necessary to get the newest package data
- name: disable ownership checks
run: git config --global --add safe.directory '*'
- name: init submodules
Expand Down
Loading

0 comments on commit f93958f

Please sign in to comment.