Archive #2308
Workflow file for this run
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
name: Presubmit | |
on: [push, pull_request] | |
jobs: | |
pre_job: | |
runs-on: ubuntu-24.04 | |
outputs: | |
should_skip: ${{ steps.skip_check.outputs.should_skip }} | |
steps: | |
- id: skip_check | |
uses: fkirc/skip-duplicate-actions@master | |
with: | |
concurrent_skipping: 'same_content' | |
skip_after_successful_duplicate: 'true' | |
paths_ignore: '["**/README.md"]' | |
do_not_skip: '["pull_request"]' | |
babeltrace2: | |
needs: pre_job | |
if: ${{ needs.pre_job.outputs.should_skip != 'true' }} | |
name: Build urcu and lttng-tools | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/cache@v4 | |
id: babeltrace2 | |
env: | |
cache-name: cache-babeltrace2 | |
with: | |
path: ~/babeltrace2/2.0.5 | |
key: ${{ runner.os }}-build-${{ env.cache-name }} | |
- name: Load Env | |
run: | | |
echo "PKG_CONFIG_PATH=$HOME/babeltrace2/2.0.5/lib/pkgconfig:$PKG_CONFIG_PATH" >> $GITHUB_ENV | |
- run: sudo apt update; sudo apt install -y gcc g++ libpopt-dev libnuma-dev liburcu-dev libc-dev | |
if: steps.babeltrace2.outputs.cache-hit != 'true' | |
# lttng-ust | |
- run: git clone https://github.com/lttng/lttng-ust | |
if: steps.babeltrace2.outputs.cache-hit != 'true' | |
- run: | | |
./bootstrap | |
./configure --disable-man-pages --prefix=$HOME/babeltrace2/2.0.5 | |
make -j$(nproc) | |
make install | |
working-directory: lttng-ust | |
if: steps.babeltrace2.outputs.cache-hit != 'true' | |
# lttng-tools need lttng-ust 2.14+ | |
- run: git clone -b anl-ms3 git://git.efficios.com/deliverable/lttng-tools.git | |
if: steps.babeltrace2.outputs.cache-hit != 'true' | |
- run: | | |
./bootstrap | |
./configure --disable-man-pages --disable-bin-lttng-crash --prefix=$HOME/babeltrace2/2.0.5 | |
make -j$(nproc) | |
make install | |
working-directory: lttng-tools | |
if: steps.babeltrace2.outputs.cache-hit != 'true' | |
# babeltrace | |
- run: git clone -b anl-ms3 git://git.efficios.com/deliverable/babeltrace.git babeltrace2-2.0.5 | |
if: steps.babeltrace2.outputs.cache-hit != 'true' | |
- run: | | |
wget https://raw.githubusercontent.com/argonne-lcf/THAPI/53262fcaaaf45d7d475884d7e63b69abe47e41d6/.github/workflows/str_nullptr.patch | |
patch -p1 < str_nullptr.patch | |
working-directory: babeltrace2-2.0.5 | |
if: steps.babeltrace2.outputs.cache-hit != 'true' | |
- run: | | |
./bootstrap | |
./configure --disable-man-pages --prefix=$HOME/babeltrace2/2.0.5 | |
make -j$(nproc) | |
make install | |
working-directory: babeltrace2-2.0.5 | |
if: steps.babeltrace2.outputs.cache-hit != 'true' | |
build-and-check: | |
needs: [babeltrace2, pre_job] | |
if: ${{ needs.pre_job.outputs.should_skip != 'true' }} | |
name: Build and Check ubuntu-24.04 | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/cache@v4 | |
id: babeltrace2 | |
env: | |
cache-name: cache-babeltrace2 | |
with: | |
path: ~/babeltrace2/2.0.5 | |
key: ${{ runner.os }}-build-${{ env.cache-name }} | |
- run: sudo apt update; sudo apt install -y gcc g++ ruby ruby-dev elfutils libelf-dev libdw-dev libprotobuf-dev protobuf-compiler valgrind libglib2.0-dev libnuma-dev liburcu-dev | |
- run: sudo gem install cast-to-yaml nokogiri babeltrace2 opencl_ruby_ffi metababel | |
- name: Load Babeltrace2 | |
run: | | |
echo "$HOME/babeltrace2/2.0.5/bin" >> $GITHUB_PATH | |
echo "PKG_CONFIG_PATH=$HOME/babeltrace2/2.0.5/lib/pkgconfig:$PKG_CONFIG_PATH" >> $GITHUB_ENV | |
echo "CPATH=$HOME/babeltrace2/2.0.5/include:$CPATH" >> $GITHUB_ENV | |
echo "LD_LIBRARY_PATH=$HOME/babeltrace2/2.0.5/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV | |
echo "LIBRARY_PATH=$HOME/babeltrace2/2.0.5/lib:$LIBRARY_PATH" >> $GITHUB_ENV | |
- run: mkdir -p build | |
- run: ./autogen.sh | |
- run: ../configure | |
working-directory: build | |
- run: make -j | |
working-directory: build | |
- run: make check | |
working-directory: build | |
env: | |
THAPI_VALGRIND: 1 | |
- uses: actions/upload-artifact@v3 | |
if: failure() | |
with: | |
name: build-and-check | |
path: | | |
build/**/*.log | |
build/config.log | |
build/**/tests/*.log | |
install-with-mpi: | |
needs: [babeltrace2, pre_job] | |
if: ${{ needs.pre_job.outputs.should_skip != 'true' }} | |
name: Install with MPI daemon support | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: mpi4py/setup-mpi@v1 | |
with: | |
mpi: intelmpi | |
- uses: actions/cache@v4 | |
id: babeltrace2 | |
env: | |
cache-name: cache-babeltrace2 | |
with: | |
path: ~/babeltrace2/2.0.5 | |
key: ${{ runner.os }}-build-${{ env.cache-name }} | |
- run: sudo apt update; sudo apt install -y gcc g++ lttng-tools liblttng-ust-dev ruby ruby-dev elfutils libelf-dev libdw-dev libprotobuf-dev protobuf-compiler libglib2.0-dev | |
- run: sudo gem install cast-to-yaml nokogiri babeltrace2 opencl_ruby_ffi metababel | |
- name: Load Babeltrace2 | |
run: | | |
echo "$HOME/babeltrace2/2.0.5/bin" >> $GITHUB_PATH | |
echo "PKG_CONFIG_PATH=$HOME/babeltrace2/2.0.5/lib/pkgconfig:$PKG_CONFIG_PATH" >> $GITHUB_ENV | |
echo "CPATH=$HOME/babeltrace2/2.0.5/include:$CPATH" >> $GITHUB_ENV | |
echo "LD_LIBRARY_PATH=$HOME/babeltrace2/2.0.5/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV | |
echo "LIBRARY_PATH=$HOME/babeltrace2/2.0.5/lib:$LIBRARY_PATH" >> $GITHUB_ENV | |
- run: mkdir -p build | |
- run: ./autogen.sh | |
- run: ../configure --prefix=`pwd`/ici | |
working-directory: build | |
- run: make -j install | |
working-directory: build | |
- name: Tar THAPI # https://github.com/actions/download-artifact?tab=readme-ov-file#permission-loss | |
run: tar -cvf thapi.tar ./build/ici/ | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: thapi-bin | |
path: thapi.tar | |
integration-tests: | |
needs: [babeltrace2, pre_job, install-with-mpi] | |
if: ${{ needs.pre_job.outputs.should_skip != 'true' }} | |
name: Integration ${{ matrix.bats_file }} ${{matrix.thapi_sync_daemon }} | |
runs-on: ubuntu-24.04 | |
env: | |
THAPI_TEST_BIN: clinfo | |
THAPI_BIN_DIR: ./build/ici/bin | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: mpi4py/setup-mpi@v1 | |
with: | |
mpi: intelmpi | |
- uses: actions/cache@v4 | |
id: babeltrace2 | |
env: | |
cache-name: cache-babeltrace2 | |
with: | |
path: ~/babeltrace2/2.0.5 | |
key: ${{ runner.os }}-build-${{ env.cache-name }} | |
- uses: actions/download-artifact@v4 | |
with: | |
name: thapi-bin | |
- name: Untar THAPI | |
run: tar -xvf thapi.tar | |
- run: sudo apt update; sudo apt install -y lttng-tools liblttng-ust-dev ruby ruby-dev libprotobuf-dev libpocl2 clinfo bats coreutils libglib2.0-dev | |
- run: sudo gem install babeltrace2 opencl_ruby_ffi | |
- name: Load Babeltrace2 | |
run: | | |
echo "$HOME/babeltrace2/2.0.5/bin" >> $GITHUB_PATH | |
echo "LD_LIBRARY_PATH=$HOME/babeltrace2/2.0.5/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV | |
- name: Integration test | |
run: | | |
bats integration_tests/ | |
build-in-tree: | |
needs: [babeltrace2, pre_job] | |
if: ${{ needs.pre_job.outputs.should_skip != 'true' }} | |
name: Build in Tree ubuntu-24.04 | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/cache@v4 | |
id: babeltrace2 | |
env: | |
cache-name: cache-babeltrace2 | |
with: | |
path: ~/babeltrace2/2.0.5 | |
key: ${{ runner.os }}-build-${{ env.cache-name }} | |
- run: sudo apt update; sudo apt install -y gcc g++ lttng-tools liblttng-ust-dev ruby ruby-dev elfutils libelf-dev libdw-dev libprotobuf-dev protobuf-compiler valgrind libglib2.0-dev | |
- run: sudo gem install cast-to-yaml nokogiri babeltrace2 opencl_ruby_ffi metababel | |
- name: Load Babeltrace2 | |
run: | | |
echo "$HOME/babeltrace2/2.0.5/bin" >> $GITHUB_PATH | |
echo "PKG_CONFIG_PATH=$HOME/babeltrace2/2.0.5/lib/pkgconfig:$PKG_CONFIG_PATH" >> $GITHUB_ENV | |
echo "CPATH=$HOME/babeltrace2/2.0.5/include:$CPATH" >> $GITHUB_ENV | |
echo "LD_LIBRARY_PATH=$HOME/babeltrace2/2.0.5/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV | |
echo "LIBRARY_PATH=$HOME/babeltrace2/2.0.5/lib:$LIBRARY_PATH" >> $GITHUB_ENV | |
- run: ./autogen.sh | |
- run: ./configure | |
- run: make -j | |
- run: make check | |
env: | |
THAPI_VALGRIND: 1 | |
- uses: actions/upload-artifact@v3 | |
if: failure() | |
with: | |
name: build-in-tree | |
path: | | |
./**/*.log | |
./config.log | |
./**/tests/*.log | |
distcheck: | |
needs: [babeltrace2, pre_job] | |
if: ${{ needs.pre_job.outputs.should_skip != 'true' }} | |
name: Distcheck ubuntu-24.04 | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/cache@v4 | |
id: babeltrace2 | |
env: | |
cache-name: cache-babeltrace2 | |
with: | |
path: ~/babeltrace2/2.0.5 | |
key: ${{ runner.os }}-build-${{ env.cache-name }} | |
- run: sudo apt update; sudo apt install -y gcc g++ lttng-tools liblttng-ust-dev ruby ruby-dev elfutils libelf-dev libdw-dev libprotobuf-dev protobuf-compiler valgrind libglib2.0-dev | |
- run: sudo gem install cast-to-yaml nokogiri babeltrace2 opencl_ruby_ffi metababel | |
- name: Load Babeltrace2 | |
run: | | |
echo "$HOME/babeltrace2/2.0.5/bin" >> $GITHUB_PATH | |
echo "PKG_CONFIG_PATH=$HOME/babeltrace2/2.0.5/lib/pkgconfig:$PKG_CONFIG_PATH" >> $GITHUB_ENV | |
echo "CPATH=$HOME/babeltrace2/2.0.5/include:$CPATH" >> $GITHUB_ENV | |
echo "LD_LIBRARY_PATH=$HOME/babeltrace2/2.0.5/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV | |
echo "LIBRARY_PATH=$HOME/babeltrace2/2.0.5/lib:$LIBRARY_PATH" >> $GITHUB_ENV | |
- run: mkdir -p build | |
- run: ./autogen.sh | |
- run: ../configure | |
working-directory: build | |
- run: make distcheck -j | |
working-directory: build | |
env: | |
THAPI_VALGRIND: 1 | |
dist-check: | |
needs: [babeltrace2, pre_job] | |
if: ${{ needs.pre_job.outputs.should_skip != 'true' }} | |
name: Dist and Check ubuntu-24.04 | |
runs-on: ubuntu-24.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/cache@v4 | |
id: babeltrace2 | |
env: | |
cache-name: cache-babeltrace2 | |
with: | |
path: ~/babeltrace2/2.0.5 | |
key: ${{ runner.os }}-build-${{ env.cache-name }} | |
- run: sudo apt update; sudo apt install -y gcc g++ lttng-tools liblttng-ust-dev ruby ruby-dev elfutils libelf-dev libdw-dev libprotobuf-dev protobuf-compiler valgrind libglib2.0-dev | |
- run: sudo gem install cast-to-yaml nokogiri babeltrace2 opencl_ruby_ffi metababel | |
- name: Load Babeltrace2 | |
run: | | |
echo "$HOME/babeltrace2/2.0.5/bin" >> $GITHUB_PATH | |
echo "PKG_CONFIG_PATH=$HOME/babeltrace2/2.0.5/lib/pkgconfig:$PKG_CONFIG_PATH" >> $GITHUB_ENV | |
echo "CPATH=$HOME/babeltrace2/2.0.5/include:$CPATH" >> $GITHUB_ENV | |
echo "LD_LIBRARY_PATH=$HOME/babeltrace2/2.0.5/lib:$LD_LIBRARY_PATH" >> $GITHUB_ENV | |
echo "LIBRARY_PATH=$HOME/babeltrace2/2.0.5/lib:$LIBRARY_PATH" >> $GITHUB_ENV | |
- run: mkdir -p build | |
- run: ./autogen.sh | |
- run: ../configure | |
working-directory: build | |
- run: make dist | |
working-directory: build | |
- name: Extract | |
run: tar -xzvf thapi-* | |
working-directory: build | |
- name: Configure | |
run: | | |
cd `find . -type d -name "thapi-*"` | |
mkdir -p build | |
cd build | |
../configure | |
working-directory: build | |
- name: Check | |
run: | | |
cd `find . -type d -name "thapi-*"` | |
cd build | |
make -j check | |
working-directory: build | |
env: | |
THAPI_VALGRIND: 1 | |
- uses: actions/upload-artifact@v3 | |
if: failure() | |
with: | |
name: dist-check | |
path: | | |
build/**/*.log | |
build/config.log | |
build/**/tests/*.log |