CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
171 lines
5.3 KiB
YAML
171 lines
5.3 KiB
YAML
# Build the latest versions of applications that consume Dyninst
|
|
|
|
name: Build Consumers
|
|
|
|
on:
|
|
schedule:
|
|
- cron: '0 3 * * 1' # Monday at 3AM
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
spack-build:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
consumer: [
|
|
"hpctoolkit@develop",
|
|
"must+stackwalker~backward~tsan"
|
|
# extrae+dyninst - not yet tested, may not support dyninst >10.0.0
|
|
# omnitrace - Needs updated cmake
|
|
# timemory - Needs updated cmake
|
|
]
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: ${{ matrix.consumer }}
|
|
run: |
|
|
sudo apt update -qq
|
|
sudo apt install -y -qq --no-install-recommends build-essential gcc g++ gfortran m4 cmake autoconf python3 git unzip openmpi-bin libopenmpi-dev
|
|
git clone --depth=1 --branch=develop https://github.com/spack/spack
|
|
spack/bin/spack compiler find
|
|
spack/bin/spack external find --not-buildable cmake python git m4 openmpi gmake
|
|
spack/bin/spack install ${{ matrix.consumer }} ^dyninst@master
|
|
|
|
systemtap:
|
|
permissions:
|
|
packages: read
|
|
strategy:
|
|
fail-fast: true
|
|
matrix:
|
|
os: ['ubuntu-23.10']
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: ghcr.io/dyninst/amd64/${{ matrix.os }}:latest
|
|
credentials:
|
|
username: ${{ github.actor }}
|
|
password: ${{ secrets.github_token }}
|
|
name: systemtap ${{ matrix.os }}
|
|
steps:
|
|
- name: Install dependencies
|
|
run: |
|
|
apt update
|
|
apt install -y git python3 libjson-c-dev m4 autoconf
|
|
- name: Fetch systemtap
|
|
run: |
|
|
git clone --depth=1 https://sourceware.org/git/systemtap.git
|
|
- name: Make symlinks
|
|
run: |
|
|
ln -s /dyninst/install/include /usr/include/dyninst
|
|
ln -s /dyninst/install/lib /usr/lib64/dyninst
|
|
- name: Build systemtap
|
|
run: |
|
|
cd systemtap
|
|
autoreconf
|
|
mkdir build
|
|
cd build
|
|
../configure --with-dyninst --without-python3-probes
|
|
make -j2
|
|
|
|
llnl-stat:
|
|
permissions:
|
|
packages: read
|
|
strategy:
|
|
fail-fast: true
|
|
matrix:
|
|
os: ['ubuntu-20.04']
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: ghcr.io/dyninst/amd64/${{ matrix.os }}:latest
|
|
credentials:
|
|
username: ${{ github.actor }}
|
|
password: ${{ secrets.github_token }}
|
|
name: llnl-stat ${{ matrix.os }}
|
|
steps:
|
|
- name: Install dependencies
|
|
run: |
|
|
apt update
|
|
apt install -y nano git bison flex python3 build-essential dh-autoreconf wget libgcrypt20-dev libboost-program-options-dev libboost-regex-dev libboost-wave-dev libpython3-dev python3-distutils
|
|
- name: Install GraphLib
|
|
run: |
|
|
git clone --depth=1 https://github.com/LLNL/graphlib
|
|
cd graphlib
|
|
mkdir build
|
|
cd build
|
|
cmake ..
|
|
cmake --build . --parallel 2
|
|
cmake --install . # /usr
|
|
- name: Install GraphViz
|
|
run: |
|
|
cd /
|
|
git clone --depth=1 https://gitlab.com/graphviz/graphviz.git
|
|
cd graphviz
|
|
./autogen.sh
|
|
mkdir build
|
|
cd build
|
|
../configure --without-qt --without-gts --without-doc --without-expat --without-ghostscript --without-gtkplus --without-libgd --without-pangocairo --without-popler --without-quartz --without-x
|
|
make -j2
|
|
make install
|
|
- name: Install launchmon
|
|
run: |
|
|
cd /
|
|
git clone --depth=1 https://github.com/llnl/launchmon.git
|
|
cd launchmon
|
|
./bootstrap
|
|
mkdir build
|
|
cd build
|
|
../configure
|
|
make -j2
|
|
make install
|
|
- name: Install MRNet
|
|
run: |
|
|
cd /
|
|
git clone --depth=1 https://github.com/dyninst/mrnet.git
|
|
cd mrnet
|
|
mkdir build
|
|
cd build
|
|
CC=gcc CXX=g++ ../configure --enable-shared
|
|
make -j2
|
|
make install
|
|
- name: Install STAT
|
|
run: |
|
|
cd /
|
|
git clone --depth=1 https://github.com/llnl/stat.git
|
|
cd stat
|
|
./bootstrap
|
|
mkdir build
|
|
cd build
|
|
../configure --disable-gui --disable-examples --with-stackwalker=/dyninst/install --with-mrnet=/usr/local
|
|
make -j2
|
|
tau:
|
|
permissions:
|
|
packages: read
|
|
strategy:
|
|
fail-fast: true
|
|
matrix:
|
|
os: ['ubuntu-20.04']
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: ghcr.io/dyninst/amd64/${{ matrix.os }}:latest
|
|
credentials:
|
|
username: ${{ github.actor }}
|
|
password: ${{ secrets.github_token }}
|
|
name: TAU ${{ matrix.os }}
|
|
steps:
|
|
- name: Install dependencies
|
|
run: |
|
|
# TAU assumes Dyninst needs libdwarf instead of libdw. This has no real
|
|
# effect on Dyninst as we RPATH our deps. It just makes the manually-constructed
|
|
# link line in the TAU build work.
|
|
apt update
|
|
apt install -y git libdwarf1
|
|
- name: Fix libdwarf
|
|
run: |
|
|
ln -s /usr/lib/x86_64-linux-gnu/libdwarf.so.1.0.0 /usr/lib/x86_64-linux-gnu/libdwarf.so
|
|
- name: Fetch TAU
|
|
run: |
|
|
git clone --depth=1 https://github.com/UO-OACISS/tau2
|
|
- name: Build TAU
|
|
run: |
|
|
cd tau2
|
|
./configure -dyninst=/dyninst/install
|
|
make -j2
|