Forward exit code (#294) #2457
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 and cache Babeltrace2 | |
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 }} | |
- 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 | |
if: steps.babeltrace2.outputs.cache-hit != 'true' | |
- run: wget https://www.efficios.com/files/babeltrace/babeltrace2-2.0.5.tar.bz2 | |
if: steps.babeltrace2.outputs.cache-hit != 'true' | |
- run: tar -xjvf babeltrace2-2.0.5.tar.bz2 | |
if: steps.babeltrace2.outputs.cache-hit != 'true' | |
- run: | | |
wget https://github.com/argonne-lcf/THAPI-spack/raw/main/packages/babeltrace2/d2d2e6cc.patch | |
patch -p1 < d2d2e6cc.patch | |
if: steps.babeltrace2.outputs.cache-hit != 'true' | |
working-directory: babeltrace2-2.0.5 | |
- run: mkdir -p babeltrace2-2.0.5/build | |
if: steps.babeltrace2.outputs.cache-hit != 'true' | |
- run: ../configure --prefix=$HOME/babeltrace2/2.0.5 | |
if: steps.babeltrace2.outputs.cache-hit != 'true' | |
working-directory: babeltrace2-2.0.5/build | |
- run: make -j | |
if: steps.babeltrace2.outputs.cache-hit != 'true' | |
working-directory: babeltrace2-2.0.5/build | |
- run: make -j install | |
if: steps.babeltrace2.outputs.cache-hit != 'true' | |
working-directory: babeltrace2-2.0.5/build | |
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++ 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 -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 |