Files
rocm-systems/.github/workflows/rerun.yml
T
Elwazir, Ammar f16c87f594 CI: Enabling Navi3 and Vega20 runners & PR Jira Addition (#32)
* Enabling Navi3 and Vega20 runners

* Update continuous_integration.yml

* Update continuous_integration.yml

* Fixing Github Actions issues

* Fixing docs workflow

* Fixing docs workflow miniconda3 location

* Fixing docs workflow env setup

* Fixing docs workflow env setup

* Fixing docs workflow miniconda3 env

* Fixing docs source build workflow

* Balancing between navi3, vega20, mi300, mi200

* git sync workflow update

* Adding Jira ticket place holder in PR Description

* Fixing RHEL & SLES Builds

* Fixing RHEL & SLES Builds

* Fixing RHEL & SLES Builds

* Fixing Re-run workflow

* Update pull_request_template.md

* Update continuous_integration.yml

---------

Co-authored-by: Ammar ELWazir <aelwazir@amd.com>
2024-12-02 22:48:37 -06:00

588 righe
21 KiB
YAML

name: Rerun Command - Continuous Integration
on:
issue_comment:
types: [created]
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
# TODO(jrmadsen): replace LD_RUNPATH_FLAG, GPU_TARGETS, etc. with internal handling in cmake
ROCM_PATH: "/opt/rocm"
GPU_TARGETS: "gfx900 gfx906 gfx908 gfx90a gfx940 gfx941 gfx942 gfx1030 gfx1100 gfx1101 gfx1102"
PATH: "/usr/bin:$PATH"
EXCLUDED_TESTS: ".*pc_sampling.*"
jobs:
rerun-mi200:
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
strategy:
fail-fast: true
matrix:
runner: [mi200-runner-set]
os: [ubuntu-22.04]
build-type: [RelWithDebInfo]
ci-flags: ['--linter clang-tidy']
name-tag: ['']
if: |
github.event.issue.pull_request &&
github.event.comment.body=='/rerun mi200' &&
github.event.issue.state=='open'
runs-on: ${{ matrix.runner }}
# define this for containers
env:
GIT_DISCOVERY_ACROSS_FILESYSTEM: 1
steps:
# Post a start comment to the PR.
- name: Add comment to PR
uses: actions/github-script@v6
env:
COMMENT_BODY: "Rerun Started!, Please check https://github.com/${{github.repository}}/commit/${{github.sha}}/checks/${{github.run_id}} for more details."
with:
github-token: ${{ secrets.TOKEN }}
script: |
const comment_body = process.env.COMMENT_BODY;
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: comment_body
})
- uses: actions/checkout@v4
- name: Install requirements
shell: bash
run: |
git config --global --add safe.directory '*'
apt-get update
apt-get install -y cmake clang-tidy g++-11 g++-12 python3-pip
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 10 --slave /usr/bin/g++ g++ /usr/bin/g++-11
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 20 --slave /usr/bin/g++ g++ /usr/bin/g++-12
python3 -m pip install -r requirements.txt
- name: List Files
shell: bash
run: |
which-realpath() { echo -e "\n$1 resolves to $(realpath $(which $1))"; echo "$($(which $1) --version &> /dev/stdout | head -n 1)"; }
for i in python python3 git cmake ctest; do which-realpath $i; done
ls -la
cat /sys/class/kfd/kfd/topology/nodes/*/gpu_id || true; /opt/rocm/bin/rocminfo | grep gfx
- name: Configure, Build, and Test
id: build-test
timeout-minutes: 30
shell: bash
run:
python3 ./source/scripts/run-ci.py -B build
--name ${{ github.repository }}-${{ github.ref_name }}-${{ matrix.os }}${{ matrix.name-tag }}
--build-jobs 16
--site $(echo $RUNNER_HOSTNAME)-$(/opt/rocm/bin/rocm_agent_enumerator | sed -n '2 p')
--gpu-targets ${{ env.GPU_TARGETS }}
${{ matrix.ci-flags }}
--
-DROCPROFILER_DEP_ROCMCORE=ON
-DROCPROFILER_BUILD_DOCS=ON
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }}
-DCMAKE_INSTALL_PREFIX=/opt/rocprofiler-sdk
-DCPACK_GENERATOR='DEB;RPM;TGZ'
-DCPACK_PACKAGING_INSTALL_PREFIX="$(realpath /opt/rocm)"
-DPython3_EXECUTABLE=$(which python3)
--
-LE ${{ env.EXCLUDED_TESTS }}
# Post a success comment to the PR.
- name: Add comment to PR
if: ${{ success() }}
uses: actions/github-script@v6
env:
COMMENT_BODY: "Rerun finished successfully!"
with:
github-token: ${{ secrets.TOKEN }}
script: |
const comment_body = process.env.COMMENT_BODY;
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: comment_body
})
# Post a failure message when any of the previous steps fail.
- name: Add failure comment to PR
if: ${{ failure() }}
uses: actions/github-script@v6
env:
COMMENT_BODY: "Rerun Failed!"
with:
github-token: ${{ secrets.TOKEN }}
script: |
const comment_body = process.env.COMMENT_BODY;
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: comment_body
})
rerun-mi300:
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
strategy:
fail-fast: true
matrix:
runner: [mi300-runner-set]
os: [ubuntu-22.04]
build-type: [RelWithDebInfo]
ci-flags: ['--linter clang-tidy']
name-tag: ['']
if: |
github.event.issue.pull_request &&
github.event.comment.body=='/rerun mi300' &&
github.event.issue.state=='open'
runs-on: ${{ matrix.runner }}
# define this for containers
env:
GIT_DISCOVERY_ACROSS_FILESYSTEM: 1
steps:
# Post a start comment to the PR.
- name: Add comment to PR
uses: actions/github-script@v6
env:
COMMENT_BODY: "Rerun Started!, Please check https://github.com/${{github.repository}}/commit/${{github.sha}}/checks/${{github.run_id}} for more details."
with:
github-token: ${{ secrets.TOKEN }}
script: |
const comment_body = process.env.COMMENT_BODY;
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: comment_body
})
- uses: actions/checkout@v4
- name: Install requirements
shell: bash
run: |
git config --global --add safe.directory '*'
apt-get update
apt-get install -y cmake clang-tidy g++-11 g++-12 python3-pip
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 10 --slave /usr/bin/g++ g++ /usr/bin/g++-11
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 20 --slave /usr/bin/g++ g++ /usr/bin/g++-12
python3 -m pip install -r requirements.txt
- name: List Files
shell: bash
run: |
which-realpath() { echo -e "\n$1 resolves to $(realpath $(which $1))"; echo "$($(which $1) --version &> /dev/stdout | head -n 1)"; }
for i in python python3 git cmake ctest; do which-realpath $i; done
ls -la
cat /sys/class/kfd/kfd/topology/nodes/*/gpu_id || true; /opt/rocm/bin/rocminfo | grep gfx
- name: Configure, Build, and Test
id: build-test
timeout-minutes: 30
shell: bash
run:
python3 ./source/scripts/run-ci.py -B build
--name ${{ github.repository }}-${{ github.ref_name }}-${{ matrix.os }}${{ matrix.name-tag }}
--build-jobs 16
--site $(echo $RUNNER_HOSTNAME)-$(/opt/rocm/bin/rocm_agent_enumerator | sed -n '2 p')
--gpu-targets ${{ env.GPU_TARGETS }}
${{ matrix.ci-flags }}
--
-DROCPROFILER_DEP_ROCMCORE=ON
-DROCPROFILER_BUILD_DOCS=ON
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }}
-DCMAKE_INSTALL_PREFIX=/opt/rocprofiler-sdk
-DCPACK_GENERATOR='DEB;RPM;TGZ'
-DCPACK_PACKAGING_INSTALL_PREFIX="$(realpath /opt/rocm)"
-DPython3_EXECUTABLE=$(which python3)
--
-LE ${{ env.EXCLUDED_TESTS }}
# Post a success comment to the PR.
- name: Add comment to PR
if: ${{ success() }}
uses: actions/github-script@v6
env:
COMMENT_BODY: "Rerun finished successfully!"
with:
github-token: ${{ secrets.TOKEN }}
script: |
const comment_body = process.env.COMMENT_BODY;
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: comment_body
})
# Post a failure message when any of the previous steps fail.
- name: Add failure comment to PR
if: ${{ failure() }}
uses: actions/github-script@v6
env:
COMMENT_BODY: "Rerun Failed!"
with:
github-token: ${{ secrets.TOKEN }}
script: |
const comment_body = process.env.COMMENT_BODY;
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: comment_body
})
rerun-vega20:
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
strategy:
fail-fast: true
matrix:
runner: [vega20-runner-set]
os: [ubuntu-22.04]
build-type: [RelWithDebInfo]
ci-flags: ['--linter clang-tidy']
name-tag: ['']
if: |
github.event.issue.pull_request &&
github.event.comment.body=='/rerun vega20' &&
github.event.issue.state=='open'
runs-on: ${{ matrix.runner }}
# define this for containers
env:
GIT_DISCOVERY_ACROSS_FILESYSTEM: 1
steps:
# Post a start comment to the PR.
- name: Add comment to PR
uses: actions/github-script@v6
env:
COMMENT_BODY: "Rerun Started!, Please check https://github.com/${{github.repository}}/commit/${{github.sha}}/checks/${{github.run_id}} for more details."
with:
github-token: ${{ secrets.TOKEN }}
script: |
const comment_body = process.env.COMMENT_BODY;
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: comment_body
})
- uses: actions/checkout@v4
- name: Install requirements
shell: bash
run: |
git config --global --add safe.directory '*'
apt-get update
apt-get install -y cmake clang-tidy g++-11 g++-12 python3-pip
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 10 --slave /usr/bin/g++ g++ /usr/bin/g++-11
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 20 --slave /usr/bin/g++ g++ /usr/bin/g++-12
python3 -m pip install -r requirements.txt
- name: List Files
shell: bash
run: |
which-realpath() { echo -e "\n$1 resolves to $(realpath $(which $1))"; echo "$($(which $1) --version &> /dev/stdout | head -n 1)"; }
for i in python python3 git cmake ctest; do which-realpath $i; done
ls -la
cat /sys/class/kfd/kfd/topology/nodes/*/gpu_id || true; /opt/rocm/bin/rocminfo | grep gfx
- name: Configure, Build, and Test
id: build-test
timeout-minutes: 30
shell: bash
run:
python3 ./source/scripts/run-ci.py -B build
--name ${{ github.repository }}-${{ github.ref_name }}-${{ matrix.os }}${{ matrix.name-tag }}
--build-jobs 16
--site $(echo $RUNNER_HOSTNAME)-$(/opt/rocm/bin/rocm_agent_enumerator | sed -n '2 p')
--gpu-targets ${{ env.GPU_TARGETS }}
${{ matrix.ci-flags }}
--
-DROCPROFILER_DEP_ROCMCORE=ON
-DROCPROFILER_BUILD_DOCS=ON
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }}
-DCMAKE_INSTALL_PREFIX=/opt/rocprofiler-sdk
-DCPACK_GENERATOR='DEB;RPM;TGZ'
-DCPACK_PACKAGING_INSTALL_PREFIX="$(realpath /opt/rocm)"
-DPython3_EXECUTABLE=$(which python3)
--
-LE ${{ env.EXCLUDED_TESTS }}
# Post a success comment to the PR.
- name: Add comment to PR
if: ${{ success() }}
uses: actions/github-script@v6
env:
COMMENT_BODY: "Rerun finished successfully!"
with:
github-token: ${{ secrets.TOKEN }}
script: |
const comment_body = process.env.COMMENT_BODY;
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: comment_body
})
# Post a failure message when any of the previous steps fail.
- name: Add failure comment to PR
if: ${{ failure() }}
uses: actions/github-script@v6
env:
COMMENT_BODY: "Rerun Failed!"
with:
github-token: ${{ secrets.TOKEN }}
script: |
const comment_body = process.env.COMMENT_BODY;
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: comment_body
})
rerun-navi3:
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
strategy:
fail-fast: true
matrix:
runner: [navi3-runner-set]
os: [ubuntu-22.04]
build-type: [RelWithDebInfo]
ci-flags: ['--linter clang-tidy']
name-tag: ['']
if: |
github.event.issue.pull_request &&
github.event.comment.body=='/rerun navi3' &&
github.event.issue.state=='open'
runs-on: ${{ matrix.runner }}
# define this for containers
env:
GIT_DISCOVERY_ACROSS_FILESYSTEM: 1
steps:
# Post a start comment to the PR.
- name: Add comment to PR
uses: actions/github-script@v6
env:
COMMENT_BODY: "Rerun Started!, Please check https://github.com/${{github.repository}}/commit/${{github.sha}}/checks/${{github.run_id}} for more details."
with:
github-token: ${{ secrets.TOKEN }}
script: |
const comment_body = process.env.COMMENT_BODY;
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: comment_body
})
- uses: actions/checkout@v4
- name: Install requirements
shell: bash
run: |
git config --global --add safe.directory '*'
apt-get update
apt-get install -y cmake clang-tidy g++-11 g++-12 python3-pip
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 10 --slave /usr/bin/g++ g++ /usr/bin/g++-11
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 20 --slave /usr/bin/g++ g++ /usr/bin/g++-12
python3 -m pip install -r requirements.txt
- name: List Files
shell: bash
run: |
which-realpath() { echo -e "\n$1 resolves to $(realpath $(which $1))"; echo "$($(which $1) --version &> /dev/stdout | head -n 1)"; }
for i in python python3 git cmake ctest; do which-realpath $i; done
ls -la
cat /sys/class/kfd/kfd/topology/nodes/*/gpu_id || true; /opt/rocm/bin/rocminfo | grep gfx
- name: Configure, Build, and Test
id: build-test
timeout-minutes: 30
shell: bash
run:
python3 ./source/scripts/run-ci.py -B build
--name ${{ github.repository }}-${{ github.ref_name }}-${{ matrix.os }}${{ matrix.name-tag }}
--build-jobs 16
--site $(echo $RUNNER_HOSTNAME)-$(/opt/rocm/bin/rocm_agent_enumerator | sed -n '2 p')
--gpu-targets ${{ env.GPU_TARGETS }}
${{ matrix.ci-flags }}
--
-DROCPROFILER_DEP_ROCMCORE=ON
-DROCPROFILER_BUILD_DOCS=ON
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }}
-DCMAKE_INSTALL_PREFIX=/opt/rocprofiler-sdk
-DCPACK_GENERATOR='DEB;RPM;TGZ'
-DCPACK_PACKAGING_INSTALL_PREFIX="$(realpath /opt/rocm)"
-DPython3_EXECUTABLE=$(which python3)
--
-LE ${{ env.EXCLUDED_TESTS }}
# Post a success comment to the PR.
- name: Add comment to PR
if: ${{ success() }}
uses: actions/github-script@v6
env:
COMMENT_BODY: "Rerun finished successfully!"
with:
github-token: ${{ secrets.TOKEN }}
script: |
const comment_body = process.env.COMMENT_BODY;
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: comment_body
})
# Post a failure message when any of the previous steps fail.
- name: Add failure comment to PR
if: ${{ failure() }}
uses: actions/github-script@v6
env:
COMMENT_BODY: "Rerun Failed!"
with:
github-token: ${{ secrets.TOKEN }}
script: |
const comment_body = process.env.COMMENT_BODY;
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: comment_body
})
rerun-pc-sampling:
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
strategy:
fail-fast: true
matrix:
runner: [pc-sampling-runner-set]
os: [ubuntu-22.04]
build-type: [RelWithDebInfo]
ci-flags: ['--linter clang-tidy']
name-tag: ['']
if: |
github.event.issue.pull_request &&
github.event.comment.body=='/rerun pc-sampling' &&
github.event.issue.state=='open'
runs-on: ${{ matrix.runner }}
# define this for containers
env:
GIT_DISCOVERY_ACROSS_FILESYSTEM: 1
steps:
# Post a start comment to the PR.
- name: Add comment to PR
uses: actions/github-script@v6
env:
COMMENT_BODY: "Rerun Started!, Please check https://github.com/${{github.repository}}/commit/${{github.sha}}/checks/${{github.run_id}} for more details."
with:
github-token: ${{ secrets.TOKEN }}
script: |
const comment_body = process.env.COMMENT_BODY;
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: comment_body
})
- uses: actions/checkout@v4
- name: Install requirements
shell: bash
run: |
git config --global --add safe.directory '*'
apt-get update
apt-get install -y cmake clang-tidy g++-11 g++-12 python3-pip
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 10 --slave /usr/bin/g++ g++ /usr/bin/g++-11
update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 20 --slave /usr/bin/g++ g++ /usr/bin/g++-12
python3 -m pip install -r requirements.txt
- name: List Files
shell: bash
run: |
which-realpath() { echo -e "\n$1 resolves to $(realpath $(which $1))"; echo "$($(which $1) --version &> /dev/stdout | head -n 1)"; }
for i in python python3 git cmake ctest; do which-realpath $i; done
ls -la
cat /sys/class/kfd/kfd/topology/nodes/*/gpu_id || true; /opt/rocm/bin/rocminfo | grep gfx
- name: Configure, Build, and Test
id: build-test
timeout-minutes: 30
shell: bash
run:
python3 ./source/scripts/run-ci.py -B build
--name ${{ github.repository }}-${{ github.ref_name }}-${{ matrix.os }}${{ matrix.name-tag }}
--build-jobs 16
--site $(echo $RUNNER_HOSTNAME)-$(/opt/rocm/bin/rocm_agent_enumerator | sed -n '2 p')
--gpu-targets ${{ env.GPU_TARGETS }}
${{ matrix.ci-flags }}
--
-DROCPROFILER_DEP_ROCMCORE=ON
-DROCPROFILER_BUILD_DOCS=ON
-DCMAKE_BUILD_TYPE=${{ matrix.build-type }}
-DCMAKE_INSTALL_PREFIX=/opt/rocprofiler-sdk
-DCPACK_GENERATOR='DEB;RPM;TGZ'
-DCPACK_PACKAGING_INSTALL_PREFIX="$(realpath /opt/rocm)"
-DPython3_EXECUTABLE=$(which python3)
--
-L ${{ env.EXCLUDED_TESTS }}
# Post a success comment to the PR.
- name: Add comment to PR
if: ${{ success() }}
uses: actions/github-script@v6
env:
COMMENT_BODY: "Rerun finished successfully!"
with:
github-token: ${{ secrets.TOKEN }}
script: |
const comment_body = process.env.COMMENT_BODY;
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: comment_body
})
# Post a failure message when any of the previous steps fail.
- name: Add failure comment to PR
if: ${{ failure() }}
uses: actions/github-script@v6
env:
COMMENT_BODY: "Rerun Failed!"
with:
github-token: ${{ secrets.TOKEN }}
script: |
const comment_body = process.env.COMMENT_BODY;
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: comment_body
})