Release 1.3.0 preparations (#109)

* v1.3.0

* ROCm 5.2 and extensions tweaks

* Container workflow + miscellaneous updates

* Misc fixes + timemory submodule update

- timemory submodule update for multiple definitions of variant_apply

* Increase timeouts

* Remove obsolete Julia docs and script

- support for rocprofiler makes rocprof merging obsolete

* Fix cpack testing and combine cpack workflows into single script

* Install components + omnitrace tpl exes

- Improved COMPONENT specification for installs
- Install PAPI executables with omnitrace- prefix and hyphens
- Install Perfetto executables with omnitrace- prefix and hyphens

* Update docs on perfetto and papi command-line tools

* remove ubuntu 22.04 from containers workflow

* remove containers workflow running on all pushes

* Fix CI_SCRIPT_ARGS

* Fix PAPI utils install

* Fixed traced test in workflow + removed return char

- validate-perfetto-proto.py had return character

* Fix test-docker-release.sh script to use correct container

* Release build bc RelWtihDebInfo using too much memory
此提交包含在:
Jonathan R. Madsen
2022-07-23 03:02:31 -05:00
提交者 GitHub
父節點 0729e1737b
當前提交 ea282d9301
共有 28 個檔案被更改,包括 608 行新增423 行删除
+144
查看文件
@@ -0,0 +1,144 @@
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:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
include:
- distro: "ubuntu"
version: "18.04"
- distro: "ubuntu"
version: "20.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
popd
omnitrace-release-ubuntu:
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:
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
-96
查看文件
@@ -1,96 +0,0 @@
name: cpack-opensuse
on:
push:
branches: [releases/**]
tags: []
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
GIT_DISCOVERY_ACROSS_FILESYSTEM: 1
jobs:
cpack:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
os: ["15.2", "15.3"]
rocm-version: ["4.5", "5.0", "5.1"]
extensions: ["--rocm +python --core +python"]
exclude:
- os: "15.2"
rocm-version: "5.1"
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Build Base Container
timeout-minutes: 20
run: |
pushd docker
./build-docker.sh --distro opensuse --versions ${{ matrix.os }} --rocm-versions ${{ matrix.rocm-version }}
popd
- name: Build Release
timeout-minutes: 150
run: |
pushd docker
./build-docker-release.sh --distro opensuse --versions ${{ matrix.os }} --rocm-versions ${{ matrix.rocm-version }} -- ${{ matrix.extensions }}
popd
- name: List Files
timeout-minutes: 10
run: |
find build-release -type f | egrep '\.(sh|deb|rpm)$'
- name: STGZ Artifacts
timeout-minutes: 10
uses: actions/upload-artifact@v2
with:
name: opensuse-stgz-installers
path: |
build-release/stgz/*.sh
- name: RPM Artifacts
timeout-minutes: 10
uses: actions/upload-artifact@v2
with:
name: opensuse-rpm-installers
path: |
build-release/rpm/*.rpm
# before testing remove any artifacts of the build
- name: Remove Build
timeout-minutes: 10
continue-on-error: true
run: |
mv build-release/stgz/*.sh ./
mv build-release/rpm/*.rpm ./
sudo rm -rf build-release
sudo rm -rf /opt/omnitrace
- name: Test STGZ Install
timeout-minutes: 20
continue-on-error: true
run: |
set -v
for i in omnitrace-*.sh
do
./docker/test-docker-release.sh --distro opensuse --versions ${{ matrix.os }} --rocm-versions ${{ matrix.rocm-version }} -- --stgz ${i}
done
- name: Test RPM Install
timeout-minutes: 20
continue-on-error: true
run: |
set -v
for i in omnitrace-*.rpm
do
./docker/test-docker-release.sh --distro opensuse --versions ${{ matrix.os }} --rocm-versions ${{ matrix.rocm-version }} -- --rpm ${i}
done
-93
查看文件
@@ -1,93 +0,0 @@
name: cpack-ubuntu
on:
push:
branches: [releases/**]
tags: []
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
GIT_DISCOVERY_ACROSS_FILESYSTEM: 1
jobs:
cpack:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
os: ["18.04", "20.04"]
rocm-version: ["4.5", "5.0", "5.1"]
extensions: ["--rocm +python --core +python"]
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Build Base Container
timeout-minutes: 20
run: |
pushd docker
./build-docker.sh --distro ubuntu --versions ${{ matrix.os }} --rocm-versions ${{ matrix.rocm-version }}
popd
- name: Build Release
timeout-minutes: 150
run: |
pushd docker
./build-docker-release.sh --distro ubuntu --versions ${{ matrix.os }} --rocm-versions ${{ matrix.rocm-version }} -- ${{ matrix.extensions }}
popd
- name: List Files
timeout-minutes: 10
run: |
find build-release -type f | egrep '\.(sh|deb|rpm)$'
- name: STGZ Artifacts
timeout-minutes: 10
uses: actions/upload-artifact@v2
with:
name: ubuntu-stgz-installers
path: |
build-release/stgz/*.sh
- name: DEB Artifacts
timeout-minutes: 10
uses: actions/upload-artifact@v2
with:
name: ubuntu-deb-installers
path: |
build-release/deb/*.deb
# before testing remove any artifacts of the build
- name: Remove Build
timeout-minutes: 10
continue-on-error: true
run: |
mv build-release/stgz/*.sh ./
mv build-release/deb/*.deb ./
sudo rm -rf build-release
sudo rm -rf /opt/omnitrace
- name: Test STGZ Install
timeout-minutes: 20
continue-on-error: true
run: |
set -v
for i in omnitrace-*.sh
do
./docker/test-docker-release.sh --distro ubuntu --versions ${{ matrix.os }} --rocm-versions ${{ matrix.rocm-version }} -- --stgz ${i}
done
- name: Test DEB Install
timeout-minutes: 20
continue-on-error: true
run: |
set -v
for i in omnitrace_*.deb
do
./docker/test-docker-release.sh --distro ubuntu --versions ${{ matrix.os }} --rocm-versions ${{ matrix.rocm-version }} -- --deb ${i}
done
+201
查看文件
@@ -0,0 +1,201 @@
name: cpack
on:
push:
branches: [main, releases/**]
tags: []
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
GIT_DISCOVERY_ACROSS_FILESYSTEM: 1
jobs:
ubuntu:
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
with:
submodules: recursive
- name: Configure ROCm Version
if: ${{ matrix.rocm-version == 0 }}
run: |
echo "CI_ROCM_VERSION=${{ matrix.default-rocm }}" >> $GITHUB_ENV
echo "CI_SCRIPT_ARGS=--core +python" >> $GITHUB_ENV
- name: Configure ROCm Version
if: ${{ matrix.rocm-version > 0 }}
run: |
echo "CI_ROCM_VERSION=${{ matrix.rocm-version }}" >> $GITHUB_ENV
echo "CI_SCRIPT_ARGS=--rocm +python" >> $GITHUB_ENV
- name: Build Base Container
timeout-minutes: 20
run: |
pushd docker
./build-docker.sh --distro ubuntu --versions ${{ matrix.os }} --rocm-versions ${CI_ROCM_VERSION}
popd
- name: Build Release
timeout-minutes: 150
run: |
pushd docker
./build-docker-release.sh --distro ubuntu --versions ${{ matrix.os }} --rocm-versions ${CI_ROCM_VERSION} -- ${CI_SCRIPT_ARGS}
popd
- name: List Files
timeout-minutes: 10
run: |
find build-release -type f | egrep '\.(sh|deb|rpm)$'
- name: STGZ Artifacts
timeout-minutes: 10
uses: actions/upload-artifact@v2
with:
name: ubuntu-stgz-installers
path: |
build-release/stgz/*.sh
- name: DEB Artifacts
timeout-minutes: 10
uses: actions/upload-artifact@v2
with:
name: ubuntu-deb-installers
path: |
build-release/deb/*.deb
# before testing remove any artifacts of the build
- name: Remove Build
timeout-minutes: 10
continue-on-error: true
run: |
mv build-release/stgz/*.sh ./
mv build-release/deb/*.deb ./
sudo rm -rf build-release
sudo rm -rf /opt/omnitrace
- name: Test STGZ Install
timeout-minutes: 20
continue-on-error: true
run: |
set -v
for i in omnitrace-*.sh
do
./docker/test-docker-release.sh --distro ubuntu --versions ${{ matrix.os }} --rocm-versions ${CI_ROCM_VERSION} -- --stgz ${i}
done
- name: Test DEB Install
timeout-minutes: 20
continue-on-error: true
run: |
set -v
for i in omnitrace_*.deb
do
./docker/test-docker-release.sh --distro ubuntu --versions ${{ matrix.os }} --rocm-versions ${CI_ROCM_VERSION} -- --deb ${i}
done
opensuse:
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
with:
submodules: recursive
- name: Configure ROCm Version
if: ${{ matrix.rocm-version == 0 }}
run: |
echo "CI_ROCM_VERSION=${{ matrix.default-rocm }}" >> $GITHUB_ENV
echo "CI_SCRIPT_ARGS=--core +python" >> $GITHUB_ENV
- name: Configure ROCm Version
if: ${{ matrix.rocm-version > 0 }}
run: |
echo "CI_ROCM_VERSION=${{ matrix.rocm-version }}" >> $GITHUB_ENV
echo "CI_SCRIPT_ARGS=--rocm +python" >> $GITHUB_ENV
- name: Build Base Container
timeout-minutes: 20
run: |
pushd docker
./build-docker.sh --distro opensuse --versions ${{ matrix.os }} --rocm-versions ${CI_ROCM_VERSION}
popd
- name: Build Release
timeout-minutes: 150
run: |
pushd docker
./build-docker-release.sh --distro opensuse --versions ${{ matrix.os }} --rocm-versions ${CI_ROCM_VERSION} -- ${CI_SCRIPT_ARGS}
popd
- name: List Files
timeout-minutes: 10
run: |
find build-release -type f | egrep '\.(sh|deb|rpm)$'
- name: STGZ Artifacts
timeout-minutes: 10
uses: actions/upload-artifact@v2
with:
name: opensuse-stgz-installers
path: |
build-release/stgz/*.sh
- name: RPM Artifacts
timeout-minutes: 10
uses: actions/upload-artifact@v2
with:
name: opensuse-rpm-installers
path: |
build-release/rpm/*.rpm
# before testing remove any artifacts of the build
- name: Remove Build
timeout-minutes: 10
continue-on-error: true
run: |
mv build-release/stgz/*.sh ./
mv build-release/rpm/*.rpm ./
sudo rm -rf build-release
sudo rm -rf /opt/omnitrace
- name: Test STGZ Install
timeout-minutes: 20
continue-on-error: true
run: |
set -v
for i in omnitrace-*.sh
do
./docker/test-docker-release.sh --distro opensuse --versions ${{ matrix.os }} --rocm-versions ${CI_ROCM_VERSION} -- --stgz ${i}
done
- name: Test RPM Install
timeout-minutes: 20
continue-on-error: true
run: |
set -v
for i in omnitrace-*.rpm
do
./docker/test-docker-release.sh --distro opensuse --versions ${{ matrix.os }} --rocm-versions ${CI_ROCM_VERSION} -- --rpm ${i}
done
+1 -1
查看文件
@@ -19,7 +19,7 @@ jobs:
opensuse:
runs-on: ubuntu-20.04
container:
image: jrmadsen/omnitrace-ci:opensuse-${{ matrix.os-release }}
image: jrmadsen/omnitrace:ci-base-opensuse-${{ matrix.os-release }}
strategy:
matrix:
compiler: ['g++']
+1 -1
查看文件
@@ -21,7 +21,7 @@ jobs:
ubuntu-bionic:
runs-on: ubuntu-18.04
container:
image: jrmadsen/omnitrace-ci:ubuntu-18.04
image: jrmadsen/omnitrace:ci-base-ubuntu-18.04
strategy:
matrix:
compiler: ['g++-7', 'g++-8']
+6 -5
查看文件
@@ -18,7 +18,7 @@ jobs:
ubuntu-focal-external:
runs-on: ubuntu-20.04
container:
image: jrmadsen/omnitrace-ci:ubuntu-20.04
image: jrmadsen/omnitrace:ci-base-ubuntu-20.04
strategy:
matrix:
compiler: ['g++-7', 'g++-8']
@@ -42,7 +42,7 @@ jobs:
lto: 'OFF'
strip: 'ON'
python: 'ON'
build-type: 'RelWithDebInfo'
build-type: 'Release'
mpi-headers: 'ON'
static-libgcc: 'ON'
static-libstdcxx: 'OFF'
@@ -171,7 +171,7 @@ jobs:
ubuntu-focal-external-rocm:
runs-on: ubuntu-20.04
container:
image: jrmadsen/omnitrace-ci:ubuntu-20.04
image: jrmadsen/omnitrace:ci-base-ubuntu-20.04
strategy:
matrix:
compiler: ['g++']
@@ -250,7 +250,7 @@ jobs:
timeout-minutes: 10
run: |
set -v
traced --background
omnitrace-perfetto-traced --background
export OMNITRACE_DEBUG=ON
export OMNITRACE_PERFETTO_BACKEND=system
which omnitrace-avail
@@ -265,10 +265,11 @@ jobs:
omnitrace -e -v 1 -o ls.inst --simulate -- ls
omnitrace -e -v 1 --simulate -- ls
omnitrace -e -v 1 -o ls.inst -- ls
perfetto --out ls-perfetto-trace.proto --txt -c omnitrace.cfg
omnitrace-perfetto --out ls-perfetto-trace.proto --txt -c omnitrace.cfg
./ls.inst
omnitrace -e -v 1 -- ls
du -m ls-perfetto-trace.proto
/opt/conda/envs/py3.8/bin/python ./tests/validate-perfetto-proto.py -p -i ./ls-perfetto-trace.proto
- name: Test User API
timeout-minutes: 10