Skip to content
Merged
Changes from all commits
Commits
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
252 changes: 235 additions & 17 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,11 @@ jobs:
- name: Run linter
run: |
python3 -m flake8 .
ubuntu-gcc-arm64-build:
ubuntu-gcc-build:
needs:
- clang-format
- python-lint
runs-on: ubuntu-24.04-arm
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
with:
Expand All @@ -47,7 +47,7 @@ jobs:
- name: ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
key: ${{ runner.os }}-gcc-arm64
key: ${{ runner.os }}-gcc
create-symlink: true
max-size: 1G
- name: CMake configure
Expand All @@ -60,6 +60,11 @@ jobs:
env:
CC: gcc-14
CXX: g++-14
- name: Archive revert list
uses: actions/upload-artifact@v4
with:
name: revert-list
path: build/revert-list.txt
- name: Build project
run: |
cmake --build build --parallel
Expand All @@ -71,17 +76,17 @@ jobs:
cmake --build build --target install
- name: Archive installed package
run: |
tar -czvf ubuntu-gcc-arm64-install.tar.gz -C install .
tar -czvf ubuntu-gcc-install.tar.gz -C install .
- name: Upload installed package
uses: actions/upload-artifact@v4
with:
name: ubuntu-gcc-arm64-install
path: ubuntu-gcc-arm64-install.tar.gz
ubuntu-gcc-build:
name: ubuntu-gcc-install
path: ubuntu-gcc-install.tar.gz
ubuntu-gcc-arm64-build:
needs:
- clang-format
- python-lint
runs-on: ubuntu-24.04
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@v4
with:
Expand All @@ -94,7 +99,7 @@ jobs:
- name: ccache
uses: hendrikmuhs/ccache-action@v1.2
with:
key: ${{ runner.os }}-gcc
key: ${{ runner.os }}-gcc-arm64
create-symlink: true
max-size: 1G
- name: CMake configure
Expand All @@ -107,11 +112,6 @@ jobs:
env:
CC: gcc-14
CXX: g++-14
- name: Archive revert list
uses: actions/upload-artifact@v4
with:
name: revert-list
path: build/revert-list.txt
- name: Build project
run: |
cmake --build build --parallel
Expand All @@ -123,12 +123,12 @@ jobs:
cmake --build build --target install
- name: Archive installed package
run: |
tar -czvf ubuntu-gcc-install.tar.gz -C install .
tar -czvf ubuntu-gcc-arm64-install.tar.gz -C install .
- name: Upload installed package
uses: actions/upload-artifact@v4
with:
name: ubuntu-gcc-install
path: ubuntu-gcc-install.tar.gz
name: ubuntu-gcc-arm64-install
path: ubuntu-gcc-arm64-install.tar.gz
ubuntu-gcc-test:
needs:
- ubuntu-gcc-build
Expand Down Expand Up @@ -184,6 +184,61 @@ jobs:
run: python3 scripts/run_tests.py --running-type="threads"
env:
OMP_NUM_THREADS: 4
ubuntu-gcc-arm64-test:
needs:
- ubuntu-gcc-arm64-build
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@v4
- name: Setup environment
run: |
sudo apt-get update
sudo apt-get install --no-install-recommends -y gcc-14 g++-14 ninja-build libmpich-dev libomp-dev valgrind
python3 -m pip install -r requirements.txt
- name: Download installed package
uses: actions/download-artifact@v4
with:
name: ubuntu-gcc-arm64-install
- name: Extract installed package
run: |
mkdir -p install
tar -xzvf ubuntu-gcc-arm64-install.tar.gz -C install
- name: Run func tests (MPI, num_proc=1)
run: python3 scripts/run_tests.py --running-type="processes"
env:
PROC_COUNT: 1
OMP_NUM_THREADS: 3
- name: Run func tests (MPI, num_proc=2)
run: python3 scripts/run_tests.py --running-type="processes"
env:
PROC_COUNT: 2
OMP_NUM_THREADS: 2
- name: Run func tests (MPI, num_proc=3)
run: python3 scripts/run_tests.py --running-type="processes"
env:
PROC_COUNT: 3
OMP_NUM_THREADS: 1
- name: Run func tests (MPI, num_proc=4)
run: python3 scripts/run_tests.py --running-type="processes"
env:
PROC_COUNT: 4
OMP_NUM_THREADS: 1
- name: Run func tests (threads, num_threads=1)
run: python3 scripts/run_tests.py --running-type="threads"
env:
OMP_NUM_THREADS: 1
- name: Run func tests (threads, num_threads=2)
run: python3 scripts/run_tests.py --running-type="threads"
env:
OMP_NUM_THREADS: 2
- name: Run func tests (threads, num_threads=3)
run: python3 scripts/run_tests.py --running-type="threads"
env:
OMP_NUM_THREADS: 3
- name: Run func tests (threads, num_threads=4)
run: python3 scripts/run_tests.py --running-type="threads"
env:
OMP_NUM_THREADS: 4
ubuntu-gcc-test-extended:
needs:
- ubuntu-gcc-test
Expand Down Expand Up @@ -235,6 +290,57 @@ jobs:
run: python3 scripts/run_tests.py --running-type="threads"
env:
OMP_NUM_THREADS: 16
ubuntu-gcc-arm64-test-extended:
needs:
- ubuntu-gcc-arm64-test
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@v4
- name: Setup environment
run: |
sudo apt-get update
sudo apt-get install --no-install-recommends -y gcc-14 g++-14 ninja-build libmpich-dev libomp-dev valgrind
python3 -m pip install -r requirements.txt
- name: Download installed package
uses: actions/download-artifact@v4
with:
name: ubuntu-gcc-arm64-install
- name: Extract installed package
run: |
mkdir -p install
tar -xzvf ubuntu-gcc-arm64-install.tar.gz -C install
- name: Run func tests (threads, num_threads=5)
run: python3 scripts/run_tests.py --running-type="threads"
env:
OMP_NUM_THREADS: 5
- name: Run func tests (threads, num_threads=6)
run: python3 scripts/run_tests.py --running-type="threads"
env:
OMP_NUM_THREADS: 6
- name: Run func tests (threads, num_threads=7)
run: python3 scripts/run_tests.py --running-type="threads"
env:
OMP_NUM_THREADS: 7
- name: Run func tests (threads, num_threads=8)
run: python3 scripts/run_tests.py --running-type="threads"
env:
OMP_NUM_THREADS: 8
- name: Run func tests (threads, num_threads=11)
run: python3 scripts/run_tests.py --running-type="threads"
env:
OMP_NUM_THREADS: 11
- name: Run func tests (threads, num_threads=13)
run: python3 scripts/run_tests.py --running-type="threads"
env:
OMP_NUM_THREADS: 13
- name: Run func tests (threads, num_threads=15)
run: python3 scripts/run_tests.py --running-type="threads"
env:
OMP_NUM_THREADS: 15
- name: Run func tests (threads, num_threads=16)
run: python3 scripts/run_tests.py --running-type="threads"
env:
OMP_NUM_THREADS: 16
ubuntu-clang-build:
needs:
- clang-format
Expand Down Expand Up @@ -390,6 +496,63 @@ jobs:
run: python3 scripts/run_tests.py --running-type="threads"
env:
OMP_NUM_THREADS: 4
ubuntu-clang-arm64-test:
needs:
- ubuntu-clang-arm64-build
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@v4
- name: Setup environment
run: |
sudo apt-get update
sudo apt-get install --no-install-recommends -y ninja-build libmpich-dev python3-pip valgrind
wget https://apt.llvm.org/llvm.sh
chmod u+x llvm.sh
sudo ./llvm.sh 20 all
- name: Download installed package
uses: actions/download-artifact@v4
with:
name: ubuntu-clang-arm64-install
- name: Extract installed package
run: |
mkdir -p install
tar -xzvf ubuntu-clang-arm64-install.tar.gz -C install
- name: Run func tests (MPI, num_proc=1)
run: python3 scripts/run_tests.py --running-type="processes"
env:
PROC_COUNT: 1
OMP_NUM_THREADS: 3
- name: Run func tests (MPI, num_proc=2)
run: python3 scripts/run_tests.py --running-type="processes"
env:
PROC_COUNT: 2
OMP_NUM_THREADS: 2
- name: Run func tests (MPI, num_proc=3)
run: python3 scripts/run_tests.py --running-type="processes"
env:
PROC_COUNT: 3
OMP_NUM_THREADS: 1
- name: Run func tests (MPI, num_proc=4)
run: python3 scripts/run_tests.py --running-type="processes"
env:
PROC_COUNT: 4
OMP_NUM_THREADS: 1
- name: Run tests (threads, num_threads=1)
run: python3 scripts/run_tests.py --running-type="threads"
env:
OMP_NUM_THREADS: 1
- name: Run tests (threads, num_threads=2)
run: python3 scripts/run_tests.py --running-type="threads"
env:
OMP_NUM_THREADS: 2
- name: Run tests (threads, num_threads=3)
run: python3 scripts/run_tests.py --running-type="threads"
env:
OMP_NUM_THREADS: 3
- name: Run tests (threads, num_threads=4)
run: python3 scripts/run_tests.py --running-type="threads"
env:
OMP_NUM_THREADS: 4
ubuntu-clang-test-extended:
needs:
- ubuntu-clang-test
Expand Down Expand Up @@ -443,6 +606,59 @@ jobs:
run: python3 scripts/run_tests.py --running-type="threads"
env:
OMP_NUM_THREADS: 16
ubuntu-clang-arm64-test-extended:
needs:
- ubuntu-clang-arm64-test
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@v4
- name: Setup environment
run: |
sudo apt-get update
sudo apt-get install --no-install-recommends -y ninja-build libmpich-dev python3-pip valgrind
wget https://apt.llvm.org/llvm.sh
chmod u+x llvm.sh
sudo ./llvm.sh 20 all
- name: Download installed package
uses: actions/download-artifact@v4
with:
name: ubuntu-clang-arm64-install
- name: Extract installed package
run: |
mkdir -p install
tar -xzvf ubuntu-clang-arm64-install.tar.gz -C install
- name: Run tests (threads, num_threads=5)
run: python3 scripts/run_tests.py --running-type="threads"
env:
OMP_NUM_THREADS: 5
- name: Run tests (threads, num_threads=6)
run: python3 scripts/run_tests.py --running-type="threads"
env:
OMP_NUM_THREADS: 6
- name: Run tests (threads, num_threads=7)
run: python3 scripts/run_tests.py --running-type="threads"
env:
OMP_NUM_THREADS: 7
- name: Run tests (threads, num_threads=8)
run: python3 scripts/run_tests.py --running-type="threads"
env:
OMP_NUM_THREADS: 8
- name: Run tests (threads, num_threads=11)
run: python3 scripts/run_tests.py --running-type="threads"
env:
OMP_NUM_THREADS: 11
- name: Run tests (threads, num_threads=13)
run: python3 scripts/run_tests.py --running-type="threads"
env:
OMP_NUM_THREADS: 13
- name: Run tests (threads, num_threads=15)
run: python3 scripts/run_tests.py --running-type="threads"
env:
OMP_NUM_THREADS: 15
- name: Run tests (threads, num_threads=16)
run: python3 scripts/run_tests.py --running-type="threads"
env:
OMP_NUM_THREADS: 16
ubuntu-clang-sanitizer-build:
needs:
- ubuntu-clang-build
Expand Down Expand Up @@ -1182,7 +1398,9 @@ jobs:
ubuntu-gcc-build-perf-stats:
needs:
- ubuntu-gcc-build-codecov
- ubuntu-gcc-arm64-test-extended
- ubuntu-clang-sanitizer-test-extended
- ubuntu-clang-arm64-test-extended
- windows-clang-test-extended
- windows-msvc-test-extended
runs-on: ubuntu-24.04
Expand Down
Loading