Skip to content

Only generate btx #3236

Only generate btx

Only generate btx #3236

Workflow file for this run

name: Presubmit
on:
push:
pull_request:
workflow_dispatch:
inputs:
debug_enabled:
type: boolean
description: 'Run the build with tmate debugging enabled (https://github.com/marketplace/actions/debugging-with-tmate)'
required: false
default: false
env:
MAKEFLAGS: "-j$(nproc) -O --shuffle"
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"]'
if: ${{ github.event_name != 'workflow_dispatch' }}
efficios_dep:
needs: pre_job
if: ${{ needs.pre_job.outputs.should_skip != 'true' }}
name: Build and Cache Efficios Dependencies
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup-thapi
build-and-check:
needs: efficios_dep
if: ${{ success() }}
name: Build and Check ubuntu-24.04
runs-on: ubuntu-24.04
strategy:
matrix:
config-option: ["", "--enable-clang-parser"]
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup-thapi
- name: Install dependencies for --enable-clang-parser
if: matrix.config-option == '--enable-clang-parser'
run: pip install git+https://github.com/TApplencourt/h2yaml
- run: mkdir -p build
- run: ./autogen.sh
- run: ../configure ${{ matrix.config-option }}
working-directory: build
- run: CC=gcc make
working-directory: build
- run: make check
working-directory: build
env:
THAPI_VALGRIND: 1
- uses: actions/upload-artifact@v4
if: failure()
with:
name: build-and-check-${{ matrix.config-option }}
path: |
build/**/*.log
build/config.log
build/**/tests/*.log
install-with-mpi:
needs: efficios_dep
if: ${{ success() }}
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: ./.github/actions/setup-thapi
- run: mkdir -p build
- run: ./autogen.sh
- run: ../configure --prefix=`pwd`/ici
working-directory: build
- run: make 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: install-with-mpi
if: ${{ success() }}
name: Integration ${{ matrix.bats_file }} ${{matrix.thapi_sync_daemon }}
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- uses: mpi4py/setup-mpi@v1
with:
mpi: intelmpi
- uses: ./.github/actions/setup-thapi
- uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: bats coreutils libpocl2 clinfo
- uses: actions/download-artifact@v4
with:
name: thapi-bin
- name: Untar THAPI
run: tar -xvf thapi.tar
- name: Setup tmate session
uses: mxschmitt/action-tmate@v3
if: ${{ github.event_name == 'workflow_dispatch' && inputs.debug_enabled }}
- name: Integration test
run: |
THAPI_BIN_DIR=./build/ici/bin bats integration_tests/
build-in-tree-and-check:
needs: efficios_dep
if: ${{ success() }}
name: Build in Tree ubuntu-24.04
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup-thapi
- run: ./autogen.sh
- run: ./configure
- run: make
- run: make check
env:
THAPI_VALGRIND: 1
- uses: actions/upload-artifact@v4
if: failure()
with:
name: build-in-tree
path: |
./**/*.log
./config.log
./**/tests/*.log
distcheck:
needs: efficios_dep
if: ${{ success() }}
name: Distcheck ubuntu-24.04
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup-thapi
- run: mkdir -p build
- run: ./autogen.sh
- run: ../configure
working-directory: build
- run: make distcheck
working-directory: build
env:
THAPI_VALGRIND: 1
dist-check:
needs: efficios_dep
if: ${{ success() }}
name: Dist and Check ubuntu-24.04
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup-thapi
- 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 check
working-directory: build
env:
THAPI_VALGRIND: 1
- uses: actions/upload-artifact@v4
if: failure()
with:
name: dist-check
path: |
build/**/*.log
build/config.log
build/**/tests/*.log
check-same-generated-files:
needs: efficios_dep
if: ${{ success() }}
name: Check same generated files
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: ./.github/actions/setup-thapi
- run: pip install pyyaml pytest pytest-icdiff
# Chekout, Configure and build target branch files
- name: Checkout target branch
uses: actions/checkout@v4
with:
ref: ${{ github.base_ref }}
path: base_branch
- name: Configure target branch
working-directory: base_branch
run: |
./autogen.sh
mkdir -p build
cd build
../configure
- name: Build target branch files
working-directory: base_branch/build
run: |
make -C utils lttng/tracepoint_gen.h
make -C mpi tracer_mpi.c mpi_library.rb mpi_babeltrace_model.yaml libmpi.la
make -C omp tracer_ompt.c omp_babeltrace_model.yaml omp_library.rb
make -C hip tracer_hip.c hip_library.rb hip_babeltrace_model.yaml libamdhip64.la
make -C cuda tracer_cuda.c cuda_library.rb cuda_babeltrace_model.yaml libcuda.la
make -C cuda tracer_cudart.c libcudart.la
make -C ze tracer_ze.c ze_library.rb ze_babeltrace_model.yaml libze_loader.la
make -C opencl libOpenCL.la
# Chekout, Configure and build PR branch files
- name: Checkout PR branch
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}
path: pr_branch
- name: Configure PR branch
working-directory: pr_branch
run: |
./autogen.sh
mkdir -p build
cd build
../configure
- name: Build PR branch files
working-directory: pr_branch/build
run: |
make -C utils lttng/tracepoint_gen.h
make -C mpi tracer_mpi.c mpi_library.rb mpi_babeltrace_model.yaml libmpi.la
make -C omp tracer_ompt.c omp_babeltrace_model.yaml omp_library.rb
make -C hip tracer_hip.c hip_library.rb hip_babeltrace_model.yaml libamdhip64.la
make -C cuda tracer_cuda.c cuda_library.rb cuda_babeltrace_model.yaml libcuda.la
make -C cuda tracer_cudart.c libcudart.la
make -C ze tracer_ze.c ze_library.rb ze_babeltrace_model.yaml libze_loader.la
make -C opencl libOpenCL.la
# Run comparison script
- name: Compare files
run: |
THAPI_REF="base_branch/build" THAPI_NEW="pr_branch/build" pytest -vv pr_branch/utils/