Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update CI to ubuntu-24.04 #869

Merged
merged 35 commits into from
Dec 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
6db755b
Update CI to ubuntu-24.04.
jrood-nrel Nov 10, 2024
e3af179
Update more.
jrood-nrel Nov 10, 2024
3111a27
Try this.
jrood-nrel Nov 10, 2024
0f06763
Merge branch 'development' into jrood/ubuntu
jrood-nrel Nov 11, 2024
9dec9f5
Try adding cxx standard 17 back.
jrood-nrel Nov 12, 2024
2046534
User older ubuntu for HIP.
jrood-nrel Nov 12, 2024
3b788dd
Try this.
jrood-nrel Nov 13, 2024
7484d79
Try this.
jrood-nrel Nov 13, 2024
2fe27bf
Try this.
jrood-nrel Nov 13, 2024
05de1e1
Try this.
jrood-nrel Nov 13, 2024
0c1a6e1
Try this.
jrood-nrel Nov 13, 2024
0e69a5e
Try non parallel ctest.
jrood-nrel Nov 14, 2024
22c208a
Don't write plots or checkpoints if not using fcompare.
jrood-nrel Nov 14, 2024
9a7dcea
Don't abort on unused inputs.
jrood-nrel Nov 15, 2024
fa7a0cb
Try this.
jrood-nrel Nov 15, 2024
6fc1bc2
Add unused inputs.
jrood-nrel Nov 15, 2024
bd6177b
Removed unused.
jrood-nrel Nov 15, 2024
dd162ff
Fix plot stuff.
jrood-nrel Nov 15, 2024
c4f5046
Try this.
jrood-nrel Nov 18, 2024
6101063
Merge branch 'development' into jrood/ubuntu
jrood-nrel Nov 18, 2024
842643d
Revert python script.
jrood-nrel Nov 18, 2024
ba7dd1a
Fix mistake.
jrood-nrel Nov 18, 2024
406a523
Try this.
jrood-nrel Nov 18, 2024
9ae0741
Try this.
jrood-nrel Nov 19, 2024
a3e13f8
Disable other tests.
jrood-nrel Dec 6, 2024
ec7df42
Remove more.
jrood-nrel Dec 6, 2024
994443f
Remove stuff.
jrood-nrel Dec 6, 2024
9381a46
Remove more.
jrood-nrel Dec 6, 2024
fe3084d
Add cat.
jrood-nrel Dec 6, 2024
d2c6761
Revert stuff.
jrood-nrel Dec 12, 2024
1a77a73
Fix more stuff.
jrood-nrel Dec 12, 2024
13541e3
Merge branch 'development' into jrood/ubuntu
jrood-nrel Dec 12, 2024
13e4753
Fix something.
jrood-nrel Dec 12, 2024
5752c6b
Fix something.
jrood-nrel Dec 12, 2024
6e3d476
Use older ubuntu for HIP.
jrood-nrel Dec 12, 2024
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
126 changes: 64 additions & 62 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ concurrency:

jobs:
Formatting:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- name: Clone
uses: actions/checkout@v4
Expand All @@ -26,7 +26,7 @@ jobs:
clangFormatVersion: 18
CPU-GNUmake:
needs: Formatting
runs-on: ubuntu-latest
runs-on: ubuntu-22.04
steps:
- name: Clone
uses: actions/checkout@v4
Expand Down Expand Up @@ -72,7 +72,7 @@ jobs:
- name: PMF debug report
working-directory: ./Exec/RegTests/PMF
run: |
egrep "warning:|error:" build-output.txt \
egrep "Warning:|Error:|warning:|error:" build-output.txt \
| egrep -v "Submodules/amrex|Submodules/sundials|GNUmakefile|ThirdParty" \
| egrep -v "ld: warning:" | sort | uniq \
| awk 'BEGIN{i=0}{print $0}{i++}END{print "Warnings: "i}' > warnings.txt
Expand All @@ -97,7 +97,7 @@ jobs:
- name: EB debug report
working-directory: ./Exec/RegTests/EB-C10
run: |
egrep "warning:|error:" build-output.txt \
egrep "Warning:|Error:|warning:|error:" build-output.txt \
| egrep -v "Submodules/amrex|Submodules/sundials|GNUmakefile|ThirdParty" \
| egrep -v "ld: warning:" | sort | uniq \
| awk 'BEGIN{i=0}{print $0}{i++}END{print "Warnings: "i}' > warnings.txt
Expand All @@ -122,7 +122,7 @@ jobs:
- name: EB OMP debug report
working-directory: ./Exec/RegTests/EB-C10
run: |
egrep "warning:|error:" build-output.txt \
egrep "Warning:|Error:|warning:|error:" build-output.txt \
| egrep -v "Submodules/amrex|Submodules/sundials|GNUmakefile|ThirdParty" \
| egrep -v "ld: warning:" | sort | uniq \
| awk 'BEGIN{i=0}{print $0}{i++}END{print "Warnings: "i}' > warnings.txt
Expand All @@ -147,7 +147,7 @@ jobs:
- name: TG debug single precision report
working-directory: ./Exec/RegTests/TG
run: |
egrep "warning:|error:" build-output.txt \
egrep "Warning:|Error:|warning:|error:" build-output.txt \
| egrep -v "Submodules/amrex|Submodules/sundials|GNUmakefile|ThirdParty" \
| egrep -v "ld: warning:" | sort | uniq \
| awk 'BEGIN{i=0}{print $0}{i++}END{print "Warnings: "i}' > warnings.txt
Expand All @@ -169,9 +169,9 @@ jobs:
- name: Soot debug report
working-directory: ./Exec/RegTests/Soot-Flame
run: |
egrep "warning:|error:" build-output.txt \
egrep "Warning:|Error:|warning:|error:" build-output.txt \
| egrep -v "Submodules/amrex|Submodules/sundials|GNUmakefile|ThirdParty" \
| egrep -v "Submodules/PelePhysics/Mechanisms" | sort | uniq \
| sort | uniq \
| awk 'BEGIN{i=0}{print $0}{i++}END{print "Warnings: "i}' > warnings.txt
cat warnings.txt
export return=$(tail -n 1 warnings.txt | awk '{print $2}')
Expand All @@ -191,9 +191,9 @@ jobs:
- name: Spray debug report
working-directory: ./Exec/RegTests/Spray-Conv
run: |
egrep "warning:|error:" build-output.txt \
egrep "Warning:|Error:|warning:|error:" build-output.txt \
| egrep -v "Submodules/amrex|Submodules/sundials|GNUmakefile|ThirdParty" \
| egrep -v "Submodules/PelePhysics/Mechanisms" | sort | uniq \
| sort | uniq \
| awk 'BEGIN{i=0}{print $0}{i++}END{print "Warnings: "i}' > warnings.txt
cat warnings.txt
export return=$(tail -n 1 warnings.txt | awk '{print $2}')
Expand All @@ -203,15 +203,15 @@ jobs:
runs-on: ${{matrix.os}}
strategy:
matrix:
os: [ubuntu-latest, macos-latest]
os: [ubuntu-22.04, macos-latest]
build_type: [Release, Debug]
include:
- os: macos-latest
install_deps: brew install mpich libtool automake ccache
comp: llvm
procs: $(sysctl -n hw.ncpu)
ccache_cache: /Users/runner/Library/Caches/ccache
- os: ubuntu-latest
- os: ubuntu-22.04
install_deps: sudo apt-get update && sudo apt-get install mpich libmpich-dev libtool-bin
comp: gnu
procs: $(nproc)
Expand Down Expand Up @@ -320,7 +320,7 @@ jobs:
- name: Report
run: |
echo "::add-matcher::.github/problem-matchers/gcc.json"
egrep "warning:|error:" ${{runner.workspace}}/build-output.txt \
egrep "Warning:|Error:|warning:|error:" ${{runner.workspace}}/build-output.txt \
| egrep -v "Submodules/amrex|Submodules/sundials" \
| egrep -v "ld: warning:" | egrep -v "lto-wrapper: warning:" | sort | uniq \
| awk 'BEGIN{i=0}{print $0}{i++}END{print "Warnings: "i}' > ${{runner.workspace}}/build-output-warnings.txt
Expand All @@ -338,13 +338,7 @@ jobs:
GPU-Nvidia:
name: GPU-CUDA
needs: [Formatting, CPU-GNUmake]
runs-on: ubuntu-20.04
strategy:
matrix:
cuda_ver: [11.4]
include:
- cuda_ver: "11.4"
cuda_pkg: 11-4
runs-on: ubuntu-24.04
steps:
- name: Clone
uses: actions/checkout@v4
Expand All @@ -360,16 +354,15 @@ jobs:
- name: Dependencies
run: |
${{github.workspace}}/Submodules/PelePhysics/Submodules/amrex/.github/workflows/dependencies/ubuntu_free_disk_space.sh
curl -O https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-keyring_1.0-1_all.deb
sudo dpkg -i cuda-keyring_1.0-1_all.deb
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get install -y \
cuda-command-line-tools-${{matrix.cuda_pkg}} \
cuda-compiler-${{matrix.cuda_pkg}} cuda-minimal-build-${{matrix.cuda_pkg}} \
cuda-nvml-dev-${{matrix.cuda_pkg}} cuda-nvtx-${{matrix.cuda_pkg}} \
libcurand-dev-${{matrix.cuda_pkg}} cuda-cupti-dev-${{matrix.cuda_pkg}} \
libcusolver-dev-${{matrix.cuda_pkg}} libcusparse-dev-${{matrix.cuda_pkg}} \
libcublas-dev-${{matrix.cuda_pkg}}
sudo apt-get install -y cuda-command-line-tools-12-6 \
cuda-compiler-12-6 cuda-minimal-build-12-6 \
cuda-nvml-dev-12-6 cuda-nvtx-12-6 \
libcurand-dev-12-6 cuda-cupti-dev-12-6 \
libcusolver-dev-12-6 libcusparse-dev-12-6 \
libcublas-dev-12-6 libcurand-dev-12-6 libnvjitlink-12-6
- name: Install Ccache
run: |
wget https://github.com/ccache/ccache/releases/download/v4.8/ccache-4.8-linux-x86_64.tar.xz
Expand All @@ -384,31 +377,33 @@ jobs:
ccache-${{github.workflow}}-${{github.job}}-git-
- name: Configure
run: |
export PATH=/usr/local/nvidia/bin:/usr/local/cuda-${{matrix.cuda_ver}}/bin:${PATH}
export LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/cuda-${{matrix.cuda_ver}}/lib:${LD_LIBRARY_PATH}
cmake -Bbuild-${{matrix.cuda_pkg}} \
export PATH=/usr/local/nvidia/bin:/usr/local/cuda-12.6/bin:${PATH}
export LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/cuda-12.6/lib:${LD_LIBRARY_PATH}
cmake -Bbuild-cuda \
-DCMAKE_BUILD_TYPE:STRING=Release \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DPELE_ENABLE_MPI:BOOL=OFF \
-DPELE_ENABLE_CUDA:BOOL=ON \
-DPELE_EXCLUDE_BUILD_IN_CI:BOOL=ON \
-DAMReX_CUDA_ERROR_CAPTURE_THIS:BOOL=ON \
-DCMAKE_CUDA_ARCHITECTURES:STRING=70 \
-DCMAKE_CUDA_ARCHITECTURES:STRING=80 \
-DCMAKE_CUDA_COMPILER_LAUNCHER:STRING=ccache \
-DCMAKE_CXX_COMPILER_LAUNCHER:STRING=ccache \
${{github.workspace}}
- name: Build
run: |
ccache -z
cmake --build build-${{matrix.cuda_pkg}} --parallel ${{env.NPROCS}}
cmake --build build-cuda --parallel ${{env.NPROCS}}
- name: Ccache Report
run: |
ccache -s
du -hs ~/.cache/ccache
GPU-AMD:
name: GPU-HIP
needs: [Formatting, CPU-GNUmake]
runs-on: ubuntu-20.04
# AMReX uses std::clamp in EB and it breaks newer ROCm or ubuntu releases due to
# error: reference to __host__ function '__glibcxx_assert_fail' in __host__ __device__ function
runs-on: ubuntu-22.04
steps:
- name: Clone
uses: actions/checkout@v4
Expand All @@ -424,14 +419,13 @@ jobs:
- name: Dependencies
run: |
${{github.workspace}}/Submodules/PelePhysics/Submodules/amrex/.github/workflows/dependencies/ubuntu_free_disk_space.sh
curl -O https://repo.radeon.com/rocm/rocm.gpg.key
sudo apt-key add rocm.gpg.key
echo 'deb [arch=amd64] https://repo.radeon.com/rocm/apt/5.6.1 ubuntu main' \
| sudo tee /etc/apt/sources.list.d/rocm.list
echo 'export PATH=/opt/rocm/llvm/bin:/opt/rocm/bin:/opt/rocm/profiler/bin:/opt/rocm/opencl/bin:$PATH' \
| sudo tee -a /etc/profile.d/rocm.sh
sudo mkdir --parents --mode=0755 /etc/apt/keyrings
wget https://repo.radeon.com/rocm/rocm.gpg.key -O - | gpg --dearmor | sudo tee /etc/apt/keyrings/rocm.gpg > /dev/null
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/6.2.4 jammy main" | sudo tee --append /etc/apt/sources.list.d/rocm.list
echo -e 'Package: *\nPin: release o=repo.radeon.com\nPin-Priority: 600' | sudo tee /etc/apt/preferences.d/rocm-pin-600
echo 'export PATH=/opt/rocm/llvm/bin:/opt/rocm/bin:/opt/rocm/profiler/bin:/opt/rocm/opencl/bin:$PATH' | sudo tee -a /etc/profile.d/rocm.sh
sudo apt-get update
sudo apt-get install -y rocm-dev rocrand-dev rocprim-dev
sudo apt-get install -y rocm-dev rocrand-dev rocprim-dev hiprand-dev
- name: Install Ccache
run: |
wget https://github.com/ccache/ccache/releases/download/v4.8/ccache-4.8-linux-x86_64.tar.xz
Expand All @@ -448,13 +442,15 @@ jobs:
run: |
source /etc/profile.d/rocm.sh
which clang
which clang++
which hipcc
hipcc --version
hipconfig --full
cmake -B${{runner.workspace}}/build-hip \
-DCMAKE_BUILD_TYPE:STRING=Release \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DCMAKE_CXX_COMPILER:STRING=$(which hipcc) \
-DCMAKE_CXX_COMPILER:STRING=$(which clang++) \
-DCMAKE_C_COMPILER:STRING=$(which clang) \
-DCMAKE_CXX_STANDARD:STRING=17 \
-DPELE_ENABLE_MPI:BOOL=OFF \
-DPELE_ENABLE_HIP:BOOL=ON \
-DPELE_EXCLUDE_BUILD_IN_CI:BOOL=ON \
Expand All @@ -480,7 +476,7 @@ jobs:
GPU-Intel:
name: GPU-SYCL
needs: [Formatting, CPU-GNUmake]
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- name: Clone
uses: actions/checkout@v4
Expand All @@ -499,8 +495,7 @@ jobs:
${{github.workspace}}/Submodules/PelePhysics/Submodules/amrex/.github/workflows/dependencies/ubuntu_free_disk_space.sh
sudo wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
echo "deb https://apt.repos.intel.com/oneapi all main" \
| sudo tee /etc/apt/sources.list.d/oneAPI.list
echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
sudo apt-get update
sudo apt-get install -y intel-oneapi-compiler-dpcpp-cpp=2024.2.1-1079 intel-oneapi-mkl-devel=2024.2.2-15
- name: Install Ccache
Expand Down Expand Up @@ -581,33 +576,38 @@ jobs:
# exit ${return}
Lint-clang-tidy:
needs: Formatting
runs-on: macos-latest
runs-on: ubuntu-24.04
steps:
- name: Clone
uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Setup
run: |
echo "NPROCS=$(sysctl -n hw.ncpu)" >> $GITHUB_ENV
echo "NPROCS=$(nproc)" >> $GITHUB_ENV
echo "CCACHE_COMPRESS=1" >> $GITHUB_ENV
echo "CCACHE_COMPRESSLEVEL=1" >> $GITHUB_ENV
echo "CCACHE_LOGFILE=${{github.workspace}}/ccache.log.txt" >> $GITHUB_ENV
echo "CCACHE_MAXSIZE=500M" >> $GITHUB_ENV
- name: Dependencies
echo "CCACHE_EXTRAFILES=${{github.workspace}}/.clang-tidy" >> $GITHUB_ENV
echo "CCACHE_MAXSIZE=50M" >> $GITHUB_ENV
echo "CTCACHE_DIR=~/.cache/ctcache" >> $GITHUB_ENV
- name: Install Ccache
run: |
brew install ccache
brew install llvm
wget https://github.com/ccache/ccache/releases/download/v4.8/ccache-4.8-linux-x86_64.tar.xz
sudo curl https://raw.githubusercontent.com/matus-chochlik/ctcache/7fd516e91c17779cbc6fc18bd119313d9532dd90/clang-tidy-cache -Lo /usr/bin/clang-tidy-cache
tar xvf ccache-4.8-linux-x86_64.tar.xz
sudo cp -f ccache-4.8-linux-x86_64/ccache /usr/local/bin/
sudo chmod +x /usr/bin/clang-tidy-cache
mkdir -p ~/.cache/ctcache
- name: Set Up Ccache
uses: actions/cache@v4
with:
path: /Users/runner/Library/Caches/ccache
path: ~/.cache
key: ccache-${{github.workflow}}-${{github.job}}-git-${{github.sha}}
restore-keys: |
ccache-${{github.workflow}}-${{github.job}}-git-
- name: Configure
run: |
export PATH=$(brew --prefix llvm)/bin:${PATH}
cmake -B${{runner.workspace}}/build-clang-tidy \
-DCMAKE_BUILD_TYPE:STRING=Release \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
Expand All @@ -623,16 +623,19 @@ jobs:
- name: Check
working-directory: ${{runner.workspace}}/build-clang-tidy
run: |
export PATH=$(brew --prefix llvm)/bin:${PATH}
cmake --build . --parallel ${{env.NPROCS}} 2>&1 | tee -a clang-tidy-full-report.txt
egrep "warning:|error:" clang-tidy-full-report.txt \
egrep "Warning:|Error:|warning:|error:" clang-tidy-full-report.txt \
| egrep -v "Submodules/amrex|Submodules/sundials" \
| egrep -v "ld: warning:" | sort | uniq \
| awk 'BEGIN{i=0}{print $0}{i++}END{print "Warnings: "i}' > clang-tidy-warnings.txt
- name: Ccache Report
run: |
ls ~/.cache
ls ~/.cache/ccache
du -hs ~/.cache/ccache
ls ~/.cache/ctcache
du -hs ~/.cache/ctcache
ccache -s
du -hs /Users/runner/Library/Caches/ccache
- name: Full report
working-directory: ${{runner.workspace}}/build-clang-tidy
run: cat clang-tidy-full-report.txt
Expand All @@ -645,7 +648,7 @@ jobs:
exit ${return}
Lint-codeql:
needs: Formatting
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- name: Clone
uses: actions/checkout@v4
Expand Down Expand Up @@ -693,7 +696,7 @@ jobs:
sarif_file: sarif-results/cpp.sarif
Lint-codespell:
needs: Formatting
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- name: Clone
uses: actions/checkout@v4
Expand All @@ -705,14 +708,13 @@ jobs:
python-version: '3.12'
- name: Dependencies
run: |
# Install Python packages
python -m pip install --upgrade pip
pip install codespell
- name: Run codespell
run: codespell
Save-PR-Number:
if: github.event_name == 'pull_request'
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- name: Save PR number
env:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/cleanup-cache-postpr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:
jobs:
CleanUpCcacheCachePostPR:
name: Clean Up Ccahe Cache Post PR
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
permissions:
actions: write
contents: read
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/cleanup-cache.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:
jobs:
CleanUpCcacheCache:
name: Clean Up Ccache Cache for ${{ github.event.workflow_run.name }}
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
permissions:
actions: write
contents: read
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ on:

jobs:
Docs:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- name: Clone
uses: actions/checkout@v4
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/post-pr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:

jobs:
cleanup:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
steps:
- name: Save PR number
env:
Expand Down
Loading
Loading