|
30 | 30 | - name: Run linter
|
31 | 31 | run: |
|
32 | 32 | python3 -m flake8 .
|
| 33 | + ubuntu-gcc-arm64-build: |
| 34 | + needs: |
| 35 | + - clang-format |
| 36 | + - python-lint |
| 37 | + runs-on: ubuntu-24.04-arm |
| 38 | + steps: |
| 39 | + - uses: actions/checkout@v4 |
| 40 | + with: |
| 41 | + submodules: recursive |
| 42 | + - name: Setup environment |
| 43 | + run: | |
| 44 | + sudo apt-get update |
| 45 | + sudo apt-get install --no-install-recommends -y gcc-14 g++-14 ninja-build libmpich-dev libomp-dev valgrind |
| 46 | + python3 -m pip install -r requirements.txt |
| 47 | + - name: ccache |
| 48 | + uses: hendrikmuhs/[email protected] |
| 49 | + with: |
| 50 | + key: ${{ runner.os }}-gcc-arm64 |
| 51 | + create-symlink: true |
| 52 | + max-size: 1G |
| 53 | + - name: CMake configure |
| 54 | + run: > |
| 55 | + cmake -S . -B build |
| 56 | + -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache |
| 57 | + -G Ninja -D USE_SEQ=ON -D USE_MPI=ON -D USE_OMP=ON -D USE_TBB=ON -D USE_STL=ON |
| 58 | + -D USE_FUNC_TESTS=ON -D USE_PERF_TESTS=ON |
| 59 | + -D CMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=install |
| 60 | + env: |
| 61 | + CC: gcc-14 |
| 62 | + CXX: g++-14 |
| 63 | + - name: Build project |
| 64 | + run: | |
| 65 | + cmake --build build --parallel |
| 66 | + env: |
| 67 | + CC: gcc-14 |
| 68 | + CXX: g++-14 |
| 69 | + - name: Install project |
| 70 | + run: | |
| 71 | + cmake --build build --target install |
| 72 | + - name: Archive installed package |
| 73 | + run: | |
| 74 | + tar -czvf ubuntu-gcc-arm64-install.tar.gz -C install . |
| 75 | + - name: Upload installed package |
| 76 | + uses: actions/upload-artifact@v4 |
| 77 | + with: |
| 78 | + name: ubuntu-gcc-arm64-install |
| 79 | + path: ubuntu-gcc-arm64-install.tar.gz |
33 | 80 | ubuntu-gcc-build:
|
34 | 81 | needs:
|
35 | 82 | - clang-format
|
@@ -237,6 +284,55 @@ jobs:
|
237 | 284 | with:
|
238 | 285 | name: ubuntu-clang-install
|
239 | 286 | path: ubuntu-clang-install.tar.gz
|
| 287 | + ubuntu-clang-arm64-build: |
| 288 | + needs: |
| 289 | + - clang-format |
| 290 | + - python-lint |
| 291 | + runs-on: ubuntu-24.04-arm |
| 292 | + steps: |
| 293 | + - uses: actions/checkout@v4 |
| 294 | + with: |
| 295 | + submodules: recursive |
| 296 | + - name: Setup environment |
| 297 | + run: | |
| 298 | + sudo apt-get update |
| 299 | + sudo apt-get install --no-install-recommends -y ninja-build libmpich-dev python3-pip valgrind |
| 300 | + wget https://apt.llvm.org/llvm.sh |
| 301 | + chmod u+x llvm.sh |
| 302 | + sudo ./llvm.sh 20 all |
| 303 | + - name: ccache |
| 304 | + uses: hendrikmuhs/[email protected] |
| 305 | + with: |
| 306 | + key: ${{ runner.os }}-clang-arm64 |
| 307 | + create-symlink: true |
| 308 | + max-size: 1G |
| 309 | + - name: CMake configure |
| 310 | + run: > |
| 311 | + cmake -S . -B build |
| 312 | + -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache |
| 313 | + -G Ninja -D USE_SEQ=ON -D USE_MPI=ON -D USE_OMP=ON -D USE_TBB=ON -D USE_STL=ON |
| 314 | + -D USE_FUNC_TESTS=ON -D USE_PERF_TESTS=ON |
| 315 | + -D CMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=install |
| 316 | + env: |
| 317 | + CC: clang-20 |
| 318 | + CXX: clang++-20 |
| 319 | + - name: Build project |
| 320 | + run: | |
| 321 | + cmake --build build --parallel |
| 322 | + env: |
| 323 | + CC: clang-20 |
| 324 | + CXX: clang++-20 |
| 325 | + - name: Install project |
| 326 | + run: | |
| 327 | + cmake --build build --target install |
| 328 | + - name: Archive installed package |
| 329 | + run: | |
| 330 | + tar -czvf ubuntu-clang-arm64-install.tar.gz -C install . |
| 331 | + - name: Upload installed package |
| 332 | + uses: actions/upload-artifact@v4 |
| 333 | + with: |
| 334 | + name: ubuntu-clang-arm64-install |
| 335 | + path: ubuntu-clang-arm64-install.tar.gz |
240 | 336 | ubuntu-clang-test:
|
241 | 337 | needs:
|
242 | 338 | - ubuntu-clang-build
|
|
0 commit comments