-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
migrate ARM64 testing to CircleCI (#583)
### Description This sets up ARM64 CI testing on CircleCI. Removes the ARM64 CI testing currently on Oracle Cloud, which is harder to maintain and configure. ### Related issues N/A ### Checklist _Before this pull request can be reviewed, all of these tasks should be completed. Denote completed tasks with an `x` inside the square brackets `[ ]` in the Markdown source below:_ - [x] I have added a description (see above). - [ ] I have added a link to any related issues see (see above). - [x] I have read the [Contributing Guide](https://github.com/quokka-astro/quokka/blob/development/CONTRIBUTING.md). - [ ] I have added tests for any new physics that this PR adds to the code. - [ ] I have tested this PR on my local computer and all tests pass. - [ ] I have manually triggered the GPU tests with the magic comment `/azp run`. - [x] I have requested a reviewer for this PR.
- Loading branch information
1 parent
88bdc18
commit 4c1a576
Showing
6 changed files
with
116 additions
and
124 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,114 @@ | ||
version: 2 | ||
|
||
jobs: | ||
linux-aarch64-release: | ||
working_directory: ~/linux-aarch64-release | ||
machine: | ||
image: ubuntu-2204:current | ||
# resource_class is what tells CircleCI to use an ARM worker for native arm builds | ||
# https://circleci.com/product/features/resource-classes/ | ||
# https://circleci.com/docs/using-arm/ | ||
resource_class: arm.large | ||
steps: | ||
- checkout | ||
- run: | ||
name: "Checkout Submodules" | ||
command: | | ||
git reset --hard | ||
git submodule init | ||
git submodule update | ||
- run: | ||
name: Install build dependencies | ||
command: | | ||
sudo apt update | ||
sudo apt install cmake g++ libopenmpi-dev libhdf5-openmpi-dev hdf5-tools python3 python3-setuptools | ||
python3 -m pip install -U numpy scipy matplotlib | ||
- run: | ||
name: Build | ||
command: | | ||
cmake -S . -B build \ | ||
-DAMReX_SPACEDIM=1 -DCMAKE_BUILD_TYPE=Release | ||
cmake --build build --parallel 4 | ||
- run: | ||
name: Test | ||
command: | | ||
ctest --test-dir build --output-on-failure | ||
linux-aarch64-hwasan: | ||
working_directory: ~/linux-aarch64-hwasan | ||
machine: | ||
image: ubuntu-2204:current | ||
# resource_class is what tells CircleCI to use an ARM worker for native arm builds | ||
# https://circleci.com/product/features/resource-classes/ | ||
# https://circleci.com/docs/using-arm/ | ||
resource_class: arm.large | ||
steps: | ||
- checkout | ||
- run: | ||
name: "Checkout Submodules" | ||
command: | | ||
git reset --hard | ||
git submodule init | ||
git submodule update | ||
- run: | ||
name: Install build dependencies | ||
command: | | ||
sudo apt update | ||
sudo apt install cmake clang lld libopenmpi-dev libhdf5-openmpi-dev hdf5-tools python3 python3-setuptools | ||
python3 -m pip install -U numpy scipy matplotlib | ||
- run: | ||
name: Build | ||
command: | | ||
cmake -S . -B build \ | ||
-DCMAKE_BUILD_TYPE=Release -DENABLE_HWASAN=ON \ | ||
-DCMAKE_CXX_FLAGS="-fPIC" -DCMAKE_EXE_LINKER_FLAGS="-fuse-ld=lld" -DCMAKE_SHARED_LINKER_FLAGS="-fuse-ld=lld" \ | ||
-DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ \ | ||
-DAMReX_SPACEDIM=1 | ||
cmake --build build --parallel 4 | ||
- run: | ||
name: Test | ||
no_output_timeout: 30m | ||
command: | | ||
ctest --test-dir build --output-on-failure | ||
linux-aarch64-debug: | ||
working_directory: ~/linux-aarch64-debug | ||
machine: | ||
image: ubuntu-2204:current | ||
# resource_class is what tells CircleCI to use an ARM worker for native arm builds | ||
# https://circleci.com/product/features/resource-classes/ | ||
# https://circleci.com/docs/using-arm/ | ||
resource_class: arm.large | ||
steps: | ||
- checkout | ||
- run: | ||
name: "Checkout Submodules" | ||
command: | | ||
git reset --hard | ||
git submodule init | ||
git submodule update | ||
- run: | ||
name: Install build dependencies | ||
command: | | ||
sudo apt update | ||
sudo apt install cmake g++ libopenmpi-dev libhdf5-openmpi-dev hdf5-tools python3 python3-setuptools | ||
python3 -m pip install -U numpy scipy matplotlib | ||
- run: | ||
name: Build | ||
command: | | ||
cmake -S . -B build \ | ||
-DAMReX_SPACEDIM=1 -DCMAKE_BUILD_TYPE=Debug | ||
cmake --build build --parallel 4 | ||
- run: | ||
name: Test | ||
no_output_timeout: 30m | ||
command: | | ||
ctest --test-dir build -j 4 -T Test -E "RadhydroPulseMG*" --output-on-failure | ||
workflows: | ||
version: 2 | ||
all-tests: | ||
jobs: | ||
- linux-aarch64-release | ||
- linux-aarch64-hwasan | ||
- linux-aarch64-debug |
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
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
fillin |