Skip to content

[Fusilli] Enable UBSAN builds and fix float-to-int overflow UB #647

[Fusilli] Enable UBSAN builds and fix float-to-int overflow UB

[Fusilli] Enable UBSAN builds and fix float-to-int overflow UB #647

# Copyright 2025 Advanced Micro Devices, Inc.
#
# Licensed under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
name: CI - fusilli hipdnn plugin
on:
workflow_dispatch:
pull_request:
push:
branches:
- main
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.event.number || github.sha }}
cancel-in-progress: true
jobs:
build-and-test:
name: "Build and test fusilli's hipdnn plugin"
runs-on: linux-mi325-1gpu-ossci-iree-org
container:
image: ghcr.io/rocm/no_rocm_image_ubuntu24_04
options: --device /dev/kfd --device /dev/dri
defaults:
run:
# --noprofile skips loading ~/.bash_profile
# --norc skips loading ~/.bashrc
# -exo pipefail:
# -e exit immediately if any command fails
# -x print each command before executing
# -o pipefail ensure pipeline fails if any command in it fails
# {0} github actions placeholder for the command to run
shell: bash --noprofile --norc -exo pipefail {0}
steps:
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y python3-venv
- name: Checkout fusilli
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Run ThePebble setup
working-directory: plugins/hipdnn-plugin
run: |
python3 build_tools/ThePebble.py --setup
- name: Build and test fusilli's hipdnn plugin
working-directory: plugins/hipdnn-plugin
run: |
python3 build_tools/ThePebble.py --ci-install-and-test-fusilli-plugin
ci_fusilli_plugin_summary:
if: always()
runs-on: ubuntu-24.04
needs:
- build-and-test
steps:
- name: Getting failed jobs
run: |
echo '${{ toJson(needs) }}'
FAILED_JOBS="$(echo '${{ toJson(needs) }}' \
| jq --raw-output \
'map_values(select(.result!="success" and .result!="skipped")) | keys | join(",")' \
)"
if [[ "${FAILED_JOBS}" != "" ]]; then
echo "The following jobs failed: ${FAILED_JOBS}"
exit 1
fi