CI and testing updates (#203)
* Python implementation of run-ci.sh * Container workflow update - retry failed container build to combat network failures * cpack workflow update - retry failed base container build to combat network failures * General CI workflow updates - retry failed "Install packages" step to combat network failures * Miscellanous linting fixes * Formatting workflow update - improve regex for source formatting * format user.h * Add new omnitrace-avail tests * Make run-ci.py executable * workflow retry fix - timeout_seconds -> retry_wait_seconds * Fix cmake formatting glob * source formatting * Handle PRs in run-ci.py * Specify timeout_minutes in retry steps * Remove remaining --cmake-args from workflows * CI warnings about using MPICH headers * Remove text=True from run-ci.py - not capturing stdout/sterr so unnecessary * Fix OpenSUSE step label * Update omnitrace-avail-write-config tests - use TWD (Test Working Directory) instead of PWD since PWD might not be build directory * paths-ignore + workflow_dispatch
This commit is contained in:
committed by
GitHub
parent
642b6b95ca
commit
e1102a8ba4
@@ -3,6 +3,7 @@ run-name: ci-containers
|
||||
|
||||
# nightly build
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: 0 5 * * *
|
||||
|
||||
@@ -54,12 +55,16 @@ jobs:
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
|
||||
- name: Build CI Container
|
||||
if: ${{ matrix.rocm-version == 0 }}
|
||||
timeout-minutes: 45
|
||||
run: |
|
||||
pushd docker
|
||||
./build-docker-ci.sh --distro ${{ matrix.distro }} --versions ${{ matrix.version }} --user ${{ secrets.DOCKERHUB_USERNAME }} --push --jobs 2 --elfutils-version 0.186 --boost-version 1.79.0
|
||||
popd
|
||||
uses: nick-fields/retry@v2
|
||||
with:
|
||||
retry_wait_seconds: 60
|
||||
timeout_minutes: 45
|
||||
max_attempts: 3
|
||||
command: |
|
||||
pushd docker
|
||||
./build-docker-ci.sh --distro ${{ matrix.distro }} --versions ${{ matrix.version }} --user ${{ secrets.DOCKERHUB_USERNAME }} --push --jobs 2 --elfutils-version 0.186 --boost-version 1.79.0
|
||||
popd
|
||||
|
||||
omnitrace-release:
|
||||
if: github.repository == 'AMDResearch/omnitrace'
|
||||
@@ -165,7 +170,12 @@ jobs:
|
||||
|
||||
- name: Build Base Container
|
||||
timeout-minutes: 45
|
||||
run: |
|
||||
pushd docker
|
||||
./build-docker.sh --distro ${{ matrix.os-distro }} --versions ${{ matrix.os-version }} --rocm-versions ${{ matrix.rocm-version }} --user ${{ secrets.DOCKERHUB_USERNAME }} --push
|
||||
popd
|
||||
uses: nick-fields/retry@v2
|
||||
with:
|
||||
retry_wait_seconds: 60
|
||||
timeout_minutes: 45
|
||||
max_attempts: 3
|
||||
command: |
|
||||
pushd docker
|
||||
./build-docker.sh --distro ${{ matrix.os-distro }} --versions ${{ matrix.os-version }} --rocm-versions ${{ matrix.rocm-version }} --user ${{ secrets.DOCKERHUB_USERNAME }} --push
|
||||
popd
|
||||
|
||||
@@ -2,9 +2,14 @@ name: Installer Packaging (CPack)
|
||||
run-name: cpack
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches: [main, releases/**]
|
||||
tags: []
|
||||
tags:
|
||||
- v*
|
||||
paths-ignore:
|
||||
- '*.md'
|
||||
- 'source/docs/**'
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
@@ -15,7 +20,7 @@ env:
|
||||
|
||||
jobs:
|
||||
release:
|
||||
if: github.repository == 'AMDResearch/omnitrace'
|
||||
if: github.repository == 'AMDResearch/omnitrace' && startsWith(github.ref, 'refs/tags/')
|
||||
runs-on: ubuntu-20.04
|
||||
permissions:
|
||||
contents: write
|
||||
@@ -25,11 +30,36 @@ jobs:
|
||||
uses: actions/checkout@v3
|
||||
- name: Generate Release
|
||||
uses: softprops/action-gh-release@v1
|
||||
if: startsWith(github.ref, 'refs/tags/')
|
||||
with:
|
||||
draft: True
|
||||
generate_release_notes: True
|
||||
|
||||
release-docs:
|
||||
if: github.repository == 'AMDResearch/omnitrace' && startsWith(github.ref, 'refs/tags/')
|
||||
runs-on: ubuntu-20.04
|
||||
permissions:
|
||||
contents: write
|
||||
packages: write
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
ref: gh-pages
|
||||
- name: Update Docs
|
||||
uses: s-weigand/setup-conda@v1
|
||||
working-directory: source/docs
|
||||
run: |
|
||||
conda env create -n omnitrace-docs -f environment.yml
|
||||
conda activate omnitrace-docs
|
||||
git config --global user.name 'Jonathan R. Madsen'
|
||||
git config --global user.email 'jrmadsen@users.noreply.github.com'
|
||||
git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}
|
||||
git pull --rebase=true origin ${{ github.ref }}
|
||||
./update-docs.sh
|
||||
git add ../../docs
|
||||
git commit -m "Update HTML (automated)"
|
||||
git push -f
|
||||
|
||||
ubuntu:
|
||||
runs-on: ubuntu-20.04
|
||||
strategy:
|
||||
@@ -131,10 +161,15 @@ jobs:
|
||||
|
||||
- name: Build Base Container
|
||||
timeout-minutes: 20
|
||||
run: |
|
||||
pushd docker
|
||||
./build-docker.sh --distro ${{ matrix.os-distro }} --versions ${{ matrix.os-version }} --rocm-versions ${{ matrix.rocm-version }}
|
||||
popd
|
||||
uses: nick-fields/retry@v2
|
||||
with:
|
||||
retry_wait_seconds: 120
|
||||
timeout_minutes: 20
|
||||
max_attempts: 5
|
||||
command: |
|
||||
pushd docker
|
||||
./build-docker.sh --distro ${{ matrix.os-distro }} --versions ${{ matrix.os-version }} --rocm-versions ${{ matrix.rocm-version }}
|
||||
popd
|
||||
|
||||
- name: Build Release
|
||||
timeout-minutes: 150
|
||||
|
||||
@@ -5,8 +5,14 @@ run-name: formatting
|
||||
on:
|
||||
push:
|
||||
branches: [ main, develop ]
|
||||
paths-ignore:
|
||||
- '*.md'
|
||||
- 'source/docs/**'
|
||||
pull_request:
|
||||
branches: [ main, develop ]
|
||||
paths-ignore:
|
||||
- '*.md'
|
||||
- 'source/docs/**'
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
@@ -75,7 +81,7 @@ jobs:
|
||||
- name: clang-format
|
||||
run: |
|
||||
set +e
|
||||
FILES=$(find source examples -type f | egrep '\.hpp$|\.cpp$|\.cpp\.in$')
|
||||
FILES=$(find source examples tests -type f | egrep '\.(h|hpp|c|cpp)(|\.in)$')
|
||||
FORMAT_OUT=$(clang-format-11 -output-replacements-xml ${FILES})
|
||||
RET=$(echo ${FORMAT_OUT} | grep -c '<replacement ')
|
||||
if [ "${RET}" -ne 0 ]; then
|
||||
|
||||
@@ -4,8 +4,14 @@ run-name: opensuse-15
|
||||
on:
|
||||
push:
|
||||
branches: [ main, develop ]
|
||||
paths-ignore:
|
||||
- '*.md'
|
||||
- 'source/docs/**'
|
||||
pull_request:
|
||||
branches: [ main, develop ]
|
||||
paths-ignore:
|
||||
- '*.md'
|
||||
- 'source/docs/**'
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
@@ -32,8 +38,13 @@ jobs:
|
||||
|
||||
- name: Install Packages
|
||||
timeout-minutes: 10
|
||||
run:
|
||||
for i in 6 7 8 9 10; do /opt/conda/envs/py3.${i}/bin/python -m pip install numpy perfetto dataclasses; done
|
||||
uses: nick-fields/retry@v2
|
||||
with:
|
||||
retry_wait_seconds: 30
|
||||
timeout_minutes: 10
|
||||
max_attempts: 5
|
||||
command: |
|
||||
for i in 6 7 8 9 10; do /opt/conda/envs/py3.${i}/bin/python -m pip install numpy perfetto dataclasses; done
|
||||
|
||||
- name: Configure Env
|
||||
run:
|
||||
@@ -42,20 +53,20 @@ jobs:
|
||||
echo "/opt/omnitrace/bin:${HOME}/.local/bin" >> $GITHUB_PATH &&
|
||||
echo "LD_LIBRARY_PATH=/opt/omnitrace/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV
|
||||
|
||||
- name: Configure CMake
|
||||
- name: Configure, Build, and Test
|
||||
timeout-minutes: 115
|
||||
shell: bash
|
||||
run:
|
||||
git config --global --add safe.directory ${PWD} &&
|
||||
cmake --version &&
|
||||
./scripts/run-ci.sh -B build
|
||||
python3 ./scripts/run-ci.py -B build
|
||||
--name ${{ github.repository_owner }}-${{ github.ref_name }}-opensuse-${{ matrix.os-release }}-${{ matrix.compiler }}-nompi-python
|
||||
--build-jobs 2
|
||||
--site GitHub
|
||||
--cmake-args
|
||||
--
|
||||
-DCMAKE_C_COMPILER=$(echo '${{ matrix.compiler }}' | sed 's/+/c/g')
|
||||
-DCMAKE_CXX_COMPILER=${{ matrix.compiler }}
|
||||
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }}
|
||||
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }}
|
||||
-DCMAKE_INSTALL_PREFIX=/opt/omnitrace
|
||||
-DOMNITRACE_BUILD_TESTING=ON
|
||||
-DOMNITRACE_USE_MPI=OFF
|
||||
|
||||
@@ -4,8 +4,14 @@ run-name: ubuntu-bionic
|
||||
on:
|
||||
push:
|
||||
branches: [ main, develop ]
|
||||
paths-ignore:
|
||||
- '*.md'
|
||||
- 'source/docs/**'
|
||||
pull_request:
|
||||
branches: [ main, develop ]
|
||||
paths-ignore:
|
||||
- '*.md'
|
||||
- 'source/docs/**'
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
@@ -46,17 +52,22 @@ jobs:
|
||||
|
||||
- name: Install Packages
|
||||
timeout-minutes: 10
|
||||
run:
|
||||
apt-get update &&
|
||||
apt-get upgrade -y &&
|
||||
apt-get install -y build-essential m4 autoconf libtool python3-pip ${{ matrix.compiler }} &&
|
||||
if [ "${{ matrix.mpi }}" = "mpich" ]; then apt-get install -y libmpich-dev mpich; fi &&
|
||||
if [ "${{ matrix.mpi }}" = "openmpi" ]; then apt-get install -y libopenmpi-dev openmpi-bin libfabric-dev; fi &&
|
||||
python3 -m pip install --upgrade pip &&
|
||||
python3 -m pip install numpy &&
|
||||
python3 -m pip install perfetto &&
|
||||
python3 -m pip install 'cmake==3.16.3' &&
|
||||
for i in 6 7 8 9 10; do /opt/conda/envs/py3.${i}/bin/python -m pip install numpy perfetto dataclasses; done
|
||||
uses: nick-fields/retry@v2
|
||||
with:
|
||||
retry_wait_seconds: 30
|
||||
timeout_minutes: 10
|
||||
max_attempts: 5
|
||||
command: |
|
||||
apt-get update &&
|
||||
apt-get upgrade -y &&
|
||||
apt-get install -y build-essential m4 autoconf libtool python3-pip ${{ matrix.compiler }} &&
|
||||
if [ "${{ matrix.mpi }}" = "mpich" ]; then apt-get install -y libmpich-dev mpich; fi &&
|
||||
if [ "${{ matrix.mpi }}" = "openmpi" ]; then apt-get install -y libopenmpi-dev openmpi-bin libfabric-dev; fi &&
|
||||
python3 -m pip install --upgrade pip &&
|
||||
python3 -m pip install numpy &&
|
||||
python3 -m pip install perfetto &&
|
||||
python3 -m pip install 'cmake==3.16.3' &&
|
||||
for i in 6 7 8 9 10; do /opt/conda/envs/py3.${i}/bin/python -m pip install numpy perfetto dataclasses; done
|
||||
|
||||
- name: Install Kokkos
|
||||
timeout-minutes: 10
|
||||
@@ -82,11 +93,11 @@ jobs:
|
||||
cmake --version &&
|
||||
if [ "${{ matrix.mpi }}" = "nompi" ]; then USE_MPI=OFF; else USE_MPI=ON; fi &&
|
||||
append-tagname() { if [ "${1}" == "ON" ]; then TAG="${TAG}-${2}"; fi; } &&
|
||||
./scripts/run-ci.sh -B build
|
||||
python3 ./scripts/run-ci.py -B build
|
||||
--name ${{ github.repository_owner }}-${{ github.ref_name }}-ubuntu-bionic-${{ matrix.compiler }}-${{ matrix.mpi }}-python
|
||||
--build-jobs 2
|
||||
--site GitHub
|
||||
--cmake-args
|
||||
--
|
||||
-DCMAKE_C_COMPILER=$(echo '${{ matrix.compiler }}' | sed 's/+/c/g')
|
||||
-DCMAKE_CXX_COMPILER=${{ matrix.compiler }}
|
||||
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }}
|
||||
|
||||
@@ -4,8 +4,14 @@ run-name: ubuntu-focal
|
||||
on:
|
||||
push:
|
||||
branches: [ main, develop ]
|
||||
paths-ignore:
|
||||
- '*.md'
|
||||
- 'source/docs/**'
|
||||
pull_request:
|
||||
branches: [ main, develop ]
|
||||
paths-ignore:
|
||||
- '*.md'
|
||||
- 'source/docs/**'
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
@@ -62,18 +68,23 @@ jobs:
|
||||
|
||||
- name: Install Packages
|
||||
timeout-minutes: 10
|
||||
run:
|
||||
apt-get update &&
|
||||
apt-get install -y software-properties-common &&
|
||||
add-apt-repository -y ppa:ubuntu-toolchain-r/test &&
|
||||
apt-get update &&
|
||||
apt-get upgrade -y &&
|
||||
apt-get install -y build-essential m4 autoconf libtool python3-pip libiberty-dev clang libomp-dev libmpich-dev mpich environment-modules ${{ matrix.compiler }} &&
|
||||
python3 -m pip install --upgrade pip &&
|
||||
python3 -m pip install numpy &&
|
||||
python3 -m pip install perfetto &&
|
||||
python3 -m pip install 'cmake==3.16.3' &&
|
||||
for i in 6 7 8 9 10; do /opt/conda/envs/py3.${i}/bin/python -m pip install numpy perfetto dataclasses; done
|
||||
uses: nick-fields/retry@v2
|
||||
with:
|
||||
retry_wait_seconds: 30
|
||||
timeout_minutes: 10
|
||||
max_attempts: 5
|
||||
command: |
|
||||
apt-get update &&
|
||||
apt-get install -y software-properties-common &&
|
||||
add-apt-repository -y ppa:ubuntu-toolchain-r/test &&
|
||||
apt-get update &&
|
||||
apt-get upgrade -y &&
|
||||
apt-get install -y build-essential m4 autoconf libtool python3-pip libiberty-dev clang libomp-dev libmpich-dev mpich environment-modules ${{ matrix.compiler }} &&
|
||||
python3 -m pip install --upgrade pip &&
|
||||
python3 -m pip install numpy &&
|
||||
python3 -m pip install perfetto &&
|
||||
python3 -m pip install 'cmake==3.16.3' &&
|
||||
for i in 6 7 8 9 10; do /opt/conda/envs/py3.${i}/bin/python -m pip install numpy perfetto dataclasses; done
|
||||
|
||||
- name: Test Environment Modules
|
||||
timeout-minutes: 15
|
||||
@@ -102,11 +113,11 @@ jobs:
|
||||
append-tagname ${{ matrix.static-libgcc }} libgcc &&
|
||||
append-tagname ${{ matrix.static-libstdcxx }} libstdcxx &&
|
||||
cmake --version &&
|
||||
./scripts/run-ci.sh -B build
|
||||
python3 ./scripts/run-ci.py -B build
|
||||
--name ${{ github.repository_owner }}-${{ github.ref_name }}-ubuntu-focal-${{ matrix.compiler }}${TAG}
|
||||
--build-jobs 2
|
||||
--site GitHub
|
||||
--cmake-args
|
||||
--
|
||||
-DCMAKE_C_COMPILER=$(echo '${{ matrix.compiler }}' | sed 's/+/c/g')
|
||||
-DCMAKE_CXX_COMPILER=${{ matrix.compiler }}
|
||||
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }}
|
||||
@@ -127,6 +138,7 @@ jobs:
|
||||
-DOMNITRACE_MAX_THREADS=32
|
||||
-DOMNITRACE_DISABLE_EXAMPLES="transpose;rccl"
|
||||
-DOMNITRACE_BUILD_NUMBER=${{ github.run_attempt }}
|
||||
-DMPI_HEADERS_ALLOW_MPICH=OFF
|
||||
|
||||
- name: Test Build-Tree Module
|
||||
timeout-minutes: 45
|
||||
@@ -233,16 +245,21 @@ jobs:
|
||||
|
||||
- name: Install Packages
|
||||
timeout-minutes: 10
|
||||
run:
|
||||
apt-get update &&
|
||||
apt-get install -y software-properties-common wget gnupg2 &&
|
||||
wget -q -O - https://repo.radeon.com/rocm/rocm.gpg.key | apt-key add - &&
|
||||
echo "deb [arch=amd64] https://repo.radeon.com/rocm/apt/${{ matrix.rocm-version }}/ ubuntu main" | tee /etc/apt/sources.list.d/rocm.list &&
|
||||
apt-get update &&
|
||||
apt-get install -y build-essential m4 autoconf libtool python3-pip clang libomp-dev ${{ matrix.compiler }} libudev1 libnuma1 rocm-dev rocm-utils rocm-smi-lib roctracer-dev rocprofiler-dev hip-base hsa-amd-aqlprofile hsa-rocr-dev hsakmt-roct-dev libpapi-dev curl libopenmpi-dev openmpi-bin libfabric-dev &&
|
||||
python3 -m pip install --upgrade pip &&
|
||||
python3 -m pip install 'cmake==3.21.4' &&
|
||||
for i in 6 7 8 9 10; do /opt/conda/envs/py3.${i}/bin/python -m pip install numpy perfetto dataclasses; done
|
||||
uses: nick-fields/retry@v2
|
||||
with:
|
||||
retry_wait_seconds: 30
|
||||
timeout_minutes: 10
|
||||
max_attempts: 5
|
||||
command: |
|
||||
apt-get update &&
|
||||
apt-get install -y software-properties-common wget gnupg2 &&
|
||||
wget -q -O - https://repo.radeon.com/rocm/rocm.gpg.key | apt-key add - &&
|
||||
echo "deb [arch=amd64] https://repo.radeon.com/rocm/apt/${{ matrix.rocm-version }}/ ubuntu main" | tee /etc/apt/sources.list.d/rocm.list &&
|
||||
apt-get update &&
|
||||
apt-get install -y build-essential m4 autoconf libtool python3-pip clang libomp-dev ${{ matrix.compiler }} libudev1 libnuma1 rocm-dev rocm-utils rocm-smi-lib roctracer-dev rocprofiler-dev hip-base hsa-amd-aqlprofile hsa-rocr-dev hsakmt-roct-dev libpapi-dev curl libopenmpi-dev openmpi-bin libfabric-dev &&
|
||||
python3 -m pip install --upgrade pip &&
|
||||
python3 -m pip install 'cmake==3.21.4' &&
|
||||
for i in 6 7 8 9 10; do /opt/conda/envs/py3.${i}/bin/python -m pip install numpy perfetto dataclasses; done
|
||||
|
||||
- name: Install RCCL
|
||||
if: ${{ matrix.rocm-version != '4.3' }}
|
||||
@@ -283,11 +300,11 @@ jobs:
|
||||
cmake --version &&
|
||||
TAG="-rocm-${{ matrix.rocm-version }}" &&
|
||||
TAG="$(echo ${TAG} | sed 's/debian/latest/g')" &&
|
||||
./scripts/run-ci.sh -B build
|
||||
python3 ./scripts/run-ci.py -B build
|
||||
--name ${{ github.repository_owner }}-${{ github.ref_name }}-ubuntu-focal-rocm-${{ matrix.compiler }}${TAG}
|
||||
--build-jobs 2
|
||||
--site GitHub
|
||||
--cmake-args
|
||||
--
|
||||
-DCMAKE_C_COMPILER=$(echo '${{ matrix.compiler }}' | sed 's/+/c/g')
|
||||
-DCMAKE_CXX_COMPILER=${{ matrix.compiler }}
|
||||
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }}
|
||||
@@ -311,7 +328,7 @@ jobs:
|
||||
-DOMNITRACE_CI_GPU=OFF
|
||||
-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF
|
||||
-DOMNITRACE_BUILD_NUMBER=${{ github.run_attempt }}
|
||||
--ctest-args
|
||||
--
|
||||
${{ matrix.ctest-exclude }}
|
||||
|
||||
- name: Install
|
||||
@@ -392,15 +409,20 @@ jobs:
|
||||
|
||||
- name: Install Packages
|
||||
timeout-minutes: 10
|
||||
run:
|
||||
sudo apt-get update &&
|
||||
sudo apt-get install -y build-essential m4 autoconf libtool python3-pip clang libomp-dev environment-modules ${{ matrix.deps }} ${{ matrix.compiler }} &&
|
||||
if [ "${{ matrix.mpi }}" = "mpich" ]; then sudo apt-get install -y libmpich-dev mpich; fi &&
|
||||
if [ "${{ matrix.mpi }}" = "openmpi" ]; then sudo apt-get install -y libopenmpi-dev openmpi-bin libfabric-dev; fi &&
|
||||
python3 -m pip install --upgrade pip &&
|
||||
python3 -m pip install numpy &&
|
||||
python3 -m pip install perfetto &&
|
||||
python3 -m pip install 'cmake==3.16.3'
|
||||
uses: nick-fields/retry@v2
|
||||
with:
|
||||
retry_wait_seconds: 30
|
||||
timeout_minutes: 10
|
||||
max_attempts: 5
|
||||
command: |
|
||||
sudo apt-get update &&
|
||||
sudo apt-get install -y build-essential m4 autoconf libtool python3-pip clang libomp-dev environment-modules ${{ matrix.deps }} ${{ matrix.compiler }} &&
|
||||
if [ "${{ matrix.mpi }}" = "mpich" ]; then sudo apt-get install -y libmpich-dev mpich; fi &&
|
||||
if [ "${{ matrix.mpi }}" = "openmpi" ]; then sudo apt-get install -y libopenmpi-dev openmpi-bin libfabric-dev; fi &&
|
||||
python3 -m pip install --upgrade pip &&
|
||||
python3 -m pip install numpy &&
|
||||
python3 -m pip install perfetto &&
|
||||
python3 -m pip install 'cmake==3.16.3'
|
||||
|
||||
- name: Test Environment Modules
|
||||
timeout-minutes: 15
|
||||
@@ -422,11 +444,11 @@ jobs:
|
||||
cmake --version &&
|
||||
if [ "${{ matrix.mpi }}" = "nompi" ]; then USE_MPI=OFF; else USE_MPI=ON; fi &&
|
||||
if [ -z "${{ matrix.deps }}" ]; then TAG=""; else TAG="-external-deps"; fi &&
|
||||
./scripts/run-ci.sh -B ${{ github.workspace }}/build
|
||||
python3 ./scripts/run-ci.py -B ${{ github.workspace }}/build
|
||||
--name ${{ github.repository_owner }}-${{ github.ref_name }}-ubuntu-focal-${{ matrix.compiler }}-${{ matrix.mpi }}${TAG}
|
||||
--build-jobs 2
|
||||
--site GitHub
|
||||
--cmake-args
|
||||
--
|
||||
-DCMAKE_C_COMPILER=$(echo '${{ matrix.compiler }}' | sed 's/+/c/g')
|
||||
-DCMAKE_CXX_COMPILER=${{ matrix.compiler }}
|
||||
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }}
|
||||
@@ -448,6 +470,7 @@ jobs:
|
||||
-DOMNITRACE_MAX_THREADS=32
|
||||
-DOMNITRACE_DISABLE_EXAMPLES="transpose;rccl"
|
||||
-DOMNITRACE_BUILD_NUMBER=${{ github.run_attempt }}
|
||||
-DMPI_HEADERS_ALLOW_MPICH=ON
|
||||
|
||||
- name: Test Build-Tree Env
|
||||
timeout-minutes: 60
|
||||
@@ -533,19 +556,22 @@ jobs:
|
||||
|
||||
- name: Install Packages
|
||||
timeout-minutes: 10
|
||||
run:
|
||||
apt-get update &&
|
||||
apt-get install -y build-essential m4 autoconf libtool python3-pip clang libomp-dev environment-modules gcc g++ mpich libmpich-dev texinfo &&
|
||||
python3 -m pip install --upgrade pip &&
|
||||
python3 -m pip install numpy &&
|
||||
python3 -m pip install perfetto &&
|
||||
python3 -m pip install 'cmake==3.24.1' &&
|
||||
for i in 6 7 8 9 10; do /opt/conda/envs/py3.${i}/bin/python -m pip install numpy perfetto dataclasses; done
|
||||
uses: nick-fields/retry@v2
|
||||
with:
|
||||
retry_wait_seconds: 30
|
||||
timeout_minutes: 10
|
||||
max_attempts: 5
|
||||
command: |
|
||||
apt-get update &&
|
||||
apt-get install -y build-essential m4 autoconf libtool python3-pip clang libomp-dev environment-modules gcc g++ mpich libmpich-dev texinfo &&
|
||||
python3 -m pip install --upgrade pip &&
|
||||
python3 -m pip install numpy &&
|
||||
python3 -m pip install perfetto &&
|
||||
python3 -m pip install 'cmake==3.24.1' &&
|
||||
for i in 6 7 8 9 10; do /opt/conda/envs/py3.${i}/bin/python -m pip install numpy perfetto dataclasses; done
|
||||
|
||||
- name: Configure Env
|
||||
run:
|
||||
echo "CC=$(echo '${{ matrix.compiler }}' | sed 's/+/c/g')" >> $GITHUB_ENV &&
|
||||
echo "CXX=${{ matrix.compiler }}" >> $GITHUB_ENV &&
|
||||
echo "${HOME}/.local/bin" >> $GITHUB_PATH
|
||||
|
||||
- name: Configure, Build, and Test
|
||||
@@ -554,12 +580,12 @@ jobs:
|
||||
run:
|
||||
git config --global --add safe.directory ${PWD} &&
|
||||
cmake --version &&
|
||||
./scripts/run-ci.sh -B build
|
||||
python3 ./scripts/run-ci.py -B build
|
||||
--name ${{ github.repository_owner }}-${{ github.ref_name }}-ubuntu-focal-codecov-mpi-python-ompt-papi
|
||||
--build-jobs 2
|
||||
--site GitHub
|
||||
--coverage
|
||||
--cmake-args
|
||||
--
|
||||
-DCMAKE_INSTALL_PREFIX=/opt/omnitrace
|
||||
-DOMNITRACE_BUILD_CI=OFF
|
||||
-DOMNITRACE_BUILD_TESTING=ON
|
||||
|
||||
@@ -4,8 +4,14 @@ run-name: ubuntu-jammy
|
||||
on:
|
||||
push:
|
||||
branches: [ main, develop ]
|
||||
paths-ignore:
|
||||
- '*.md'
|
||||
- 'source/docs/**'
|
||||
pull_request:
|
||||
branches: [ main, develop ]
|
||||
paths-ignore:
|
||||
- '*.md'
|
||||
- 'source/docs/**'
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
@@ -65,29 +71,39 @@ jobs:
|
||||
|
||||
- name: Install Packages
|
||||
timeout-minutes: 10
|
||||
run:
|
||||
apt-get update &&
|
||||
apt-get install -y software-properties-common &&
|
||||
apt-get upgrade -y &&
|
||||
apt-get install -y build-essential m4 autoconf libtool python3-pip libiberty-dev clang libomp-dev libopenmpi-dev libfabric-dev openmpi-bin environment-modules ${{ matrix.compiler }} &&
|
||||
python3 -m pip install --upgrade pip &&
|
||||
python3 -m pip install numpy &&
|
||||
python3 -m pip install 'cmake==3.21.4' &&
|
||||
for i in 6 7 8 9 10; do /opt/conda/envs/py3.${i}/bin/python -m pip install numpy perfetto dataclasses; done
|
||||
uses: nick-fields/retry@v2
|
||||
with:
|
||||
retry_wait_seconds: 30
|
||||
timeout_minutes: 10
|
||||
max_attempts: 5
|
||||
command: |
|
||||
apt-get update &&
|
||||
apt-get install -y software-properties-common &&
|
||||
apt-get upgrade -y &&
|
||||
apt-get install -y build-essential m4 autoconf libtool python3-pip libiberty-dev clang libomp-dev libopenmpi-dev libfabric-dev openmpi-bin environment-modules ${{ matrix.compiler }} &&
|
||||
python3 -m pip install --upgrade pip &&
|
||||
python3 -m pip install numpy &&
|
||||
python3 -m pip install 'cmake==3.21.4' &&
|
||||
for i in 6 7 8 9 10; do /opt/conda/envs/py3.${i}/bin/python -m pip install numpy perfetto dataclasses; done
|
||||
|
||||
- name: Install ROCm Packages
|
||||
timeout-minutes: 10
|
||||
if: ${{ matrix.rocm-version != '0.0' }}
|
||||
shell: bash
|
||||
run: |
|
||||
wget -q -O - https://repo.radeon.com/rocm/rocm.gpg.key | apt-key add -
|
||||
echo "deb [arch=amd64] https://repo.radeon.com/rocm/apt/${{ matrix.rocm-version }}/ jammy main" | tee /etc/apt/sources.list.d/rocm.list
|
||||
apt-get update
|
||||
apt-get install -y {rocm-hip-sdk,roctracer-dev,rocprofiler-dev,rocm-smi-lib,rocminfo}${{ matrix.rocm-version }}.0
|
||||
echo "/opt/rocm/bin" >> $GITHUB_PATH
|
||||
echo "ROCM_PATH=/opt/rocm" >> $GITHUB_ENV
|
||||
echo "LD_LIBRARY_PATH=/opt/rocm/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV
|
||||
/opt/rocm/bin/hipcc -O3 -c ./examples/transpose/transpose.cpp -o /tmp/transpose.o
|
||||
uses: nick-fields/retry@v2
|
||||
with:
|
||||
retry_wait_seconds: 30
|
||||
timeout_minutes: 10
|
||||
max_attempts: 5
|
||||
shell: bash
|
||||
command: |
|
||||
wget -q -O - https://repo.radeon.com/rocm/rocm.gpg.key | apt-key add -
|
||||
echo "deb [arch=amd64] https://repo.radeon.com/rocm/apt/${{ matrix.rocm-version }}/ jammy main" | tee /etc/apt/sources.list.d/rocm.list
|
||||
apt-get update
|
||||
apt-get install -y {rocm-hip-sdk,roctracer-dev,rocprofiler-dev,rocm-smi-lib,rocminfo}${{ matrix.rocm-version }}.0
|
||||
echo "/opt/rocm/bin" >> $GITHUB_PATH
|
||||
echo "ROCM_PATH=/opt/rocm" >> $GITHUB_ENV
|
||||
echo "LD_LIBRARY_PATH=/opt/rocm/lib:${LD_LIBRARY_PATH}" >> $GITHUB_ENV
|
||||
/opt/rocm/bin/hipcc -O3 -c ./examples/transpose/transpose.cpp -o /tmp/transpose.o
|
||||
|
||||
- name: Test Environment Modules
|
||||
timeout-minutes: 15
|
||||
@@ -122,11 +138,11 @@ jobs:
|
||||
append-tagname ${{ matrix.hidden }} hidden-viz &&
|
||||
append-tagname ${{ matrix.static-libgcc }} libgcc &&
|
||||
append-tagname ${{ matrix.static-libstdcxx }} libstdcxx &&
|
||||
./scripts/run-ci.sh -B build
|
||||
python3 ./scripts/run-ci.py -B build
|
||||
--name ${{ github.repository_owner }}-${{ github.ref_name }}-ubuntu-jammy-${{ matrix.compiler }}${TAG}
|
||||
--build-jobs 2
|
||||
--site GitHub
|
||||
--cmake-args
|
||||
--
|
||||
-DCMAKE_C_COMPILER=$(echo '${{ matrix.compiler }}' | sed 's/+/c/g')
|
||||
-DCMAKE_CXX_COMPILER=${{ matrix.compiler }}
|
||||
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }}
|
||||
|
||||
Reference in New Issue
Block a user