Files
rocm-systems/projects/rocprofiler-systems/.github/workflows/containers.yml
T
Jonathan R. Madsen 713d08de6d Support for Ubuntu 22.04 and ROCm 5.3 (#48)
* Testing and CI support for Ubuntu 22.04

* Fixes for ROCm

- Jammy does not have ROCm installers

* Name, timeout, and python updates

- renamed ubuntu-jammy-external.yml to ubuntu-jammy.yml
- increased all 5 minute timeouts to 10 minutes
- include python 3.10 in testing

* Update dyninst to remove interposed definition of _r_debug

* Rebuild Dyninst + test install script

* Revert container change

* git safe directory

* pushd -> cd

* fix MPI include

* Fix testing step

* OMPI_ALLOW_RUN_AS_ROOT

* Test script changes

* Fix mismatched malloc / delete[]

* Jammy workflow tweaks

* CPack tweak for boost deb deps

* pthread_mutex_gotcha config returns when not enabled

* fix echoing config in CI

* USE_CLANG_OMP

- option to disable using LLVM OpenMP when building OpenMP test executables
- Jammy workflow sets USE_CLANG_OMP=OFF

* Dyninst submodule boost download

- updated containers workflow to include jammy
- updated workflow to use ci

* Updates to workflows + replace test-install.sh

- test-install.sh in this branch was replaced with one in main branch

* Expand jammy test-install.sh args

* Fix openmp-cg-sampling-duration test

* update timemory submodule

- use-after-free violation in popen::pclose

* revert some tweaks to sampling-duration test

* Fix env of test-install.sh

* cmake format

* jammy bash

* CPack install for jammy

* formatting workflow action version bump

* Update timemory submodule

- libunwind submodule via timemory sets SOVERSION to 99 to avoid ABI conflicts with v8

* Fix help menu for omnitrace-sample

* Support other boolean forms in test-install.sh

* Update docker files and build-docker.sh

- consolidated cases in build-docker.sh
- support rocm version of 0.0 (no rocm install)
- support rocm v5.3
- updated centos handling

* update opensuse actions/checkout version

* Tweaks to ubuntu-focal testing

- actions/checkout@v3
- use test-install script

* update cpack

- ubuntu 22.04
- rocm 5.3
- rename os matrix field to os-version
- remove CI_ROCM_VERSION (no longer necessary)
- remove default-rocm-version matrix field (no longer necessary)
- CentOS packaging

* fix argparsing and omnitrace-sample tests in install-tests.sh

* focal rocm test install workflow fix

* Fix omnitrace-sample build

* Dockerfile.centos + build-docker.sh updates

* Update actions/upload-artifact version

* Dockerfile.ubuntu: install rocm-device-libs

* Refactor cpack

* fix cpack if quotes

* Dockerfile.ubuntu rocm < 5 installs rocm-dev

* build-release.sh defaults to boost version 1.79.0

[ROCm/rocprofiler-systems commit: ede6007f9b]
2022-10-17 12:54:26 -05:00

153 строки
4.2 KiB
YAML

name: ci-containers
# nightly build
on:
schedule:
- cron: 0 3 * * *
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
GIT_DISCOVERY_ACROSS_FILESYSTEM: 1
jobs:
omnitrace-ci:
if: github.repository == 'AMDResearch/omnitrace'
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
include:
- distro: "ubuntu"
version: "18.04"
- distro: "ubuntu"
version: "20.04"
- distro: "ubuntu"
version: "22.04"
- distro: "opensuse"
version: "15.2"
- distro: "opensuse"
version: "15.3"
- distro: "opensuse"
version: "15.4"
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build CI Container
if: ${{ matrix.rocm-version == 0 }}
timeout-minutes: 45
run: |
pushd docker
./build-docker-ci.sh --distro ${{ matrix.distro }} --versions ${{ matrix.version }} --user ${{ secrets.DOCKERHUB_USERNAME }} --push --jobs 2 --elfutils-version 0.186 --boost-version 1.79.0
popd
omnitrace-release-ubuntu:
if: github.repository == 'AMDResearch/omnitrace'
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
os: ["18.04", "20.04"]
rocm-version: ["0.0", "4.5", "5.0", "5.1", "5.2"]
default-rocm: ["5.0"]
steps:
- uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build Base Container
if: ${{ matrix.rocm-version == 0 }}
timeout-minutes: 45
run: |
pushd docker
./build-docker.sh --distro ubuntu --versions ${{ matrix.os }} --rocm-versions ${{ matrix.default-rocm }} --user ${{ secrets.DOCKERHUB_USERNAME }} --push
popd
- name: Build Base Container
if: ${{ matrix.rocm-version > 0 }}
timeout-minutes: 45
run: |
pushd docker
./build-docker.sh --distro ubuntu --versions ${{ matrix.os }} --rocm-versions ${{ matrix.rocm-version }} --user ${{ secrets.DOCKERHUB_USERNAME }} --push
popd
omnitrace-release-opensuse:
if: github.repository == 'AMDResearch/omnitrace'
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
os: ["15.2", "15.3"]
rocm-version: ["0.0", "4.5", "5.0", "5.1", "5.2"]
default-rocm: ["5.0"]
exclude:
- os: "15.2"
rocm-version: "5.1"
- os: "15.2"
rocm-version: "5.2"
steps:
- uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build Base Container
if: ${{ matrix.rocm-version == 0 }}
timeout-minutes: 45
run: |
pushd docker
./build-docker.sh --distro opensuse --versions ${{ matrix.os }} --rocm-versions ${{ matrix.default-rocm }} --user ${{ secrets.DOCKERHUB_USERNAME }} --push
popd
- name: Build Base Container
if: ${{ matrix.rocm-version > 0 }}
timeout-minutes: 45
run: |
pushd docker
./build-docker.sh --distro opensuse --versions ${{ matrix.os }} --rocm-versions ${{ matrix.rocm-version }} --user ${{ secrets.DOCKERHUB_USERNAME }} --push
popd