diff --git a/.github/workflows/rerun.yml b/.github/workflows/rerun.yml index 7b77996af8..294d887fd2 100644 --- a/.github/workflows/rerun.yml +++ b/.github/workflows/rerun.yml @@ -16,46 +16,377 @@ env: EXCLUDED_TESTS: ".*pc_sampling.*" jobs: - rerun: + 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: [mi300-runner-set, mi200-runner-set, navi3-runner-set, vega20-runner-set] - vega20: - - | - ${{ github.event.issue.pull_request && - github.event.comment.body=='/rerun vega20' && - github.event.issue.state=='open' }} - navi3: - - | - ${{ github.event.issue.pull_request && - github.event.comment.body=='/rerun navi3' && - github.event.issue.state=='open' }} - mi300: - - | - ${{ github.event.issue.pull_request && - github.event.comment.body=='/rerun mi300' && - github.event.issue.state=='open' }} - mi200: - - | - ${{ github.event.issue.pull_request && - github.event.comment.body=='/rerun mi200' && - github.event.issue.state=='open' }} + runner: [mi200-runner-set] os: [ubuntu-22.04] build-type: [RelWithDebInfo] ci-flags: ['--linter clang-tidy'] name-tag: [''] - exclude: - - mi300: false - runner: mi300-runner-set - - mi200: false - runner: mi200-runner-set - - navi3: false - runner: navi3-runner-set - - vega20: false - runner: vega20-runner-set + 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: + - 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 + python3 -m pip install pytest + python3 -m pip install 'cmake>=3.22.0' + + - 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_LIST }} + ${{ 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/failure comment to the PR. + - name: Add comment to PR + uses: octokit/request-action@v2.x + with: + route: POST /repos/{repository}/issues/{issue_number}/comments + repository: ${{ github.repository }} + issue_number: ${{ github.event.issue.number }} + body: ${{ steps.build-test.outputs.message }}, please check https://github.com/${{github.repository}}/commit/${{github.sha}}/checks/${{github.run_id}} for more details! + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + # Post a failure message when any of the previous steps fail. + - name: Add failure comment to PR + if: ${{ failure() }} + uses: octokit/request-action@v2.x + with: + route: POST /repos/{repository}/issues/{issue_number}/comments + repository: ${{ github.repository }} + issue_number: ${{ github.event.issue.number }} + body: "Rerun Failed" + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + 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: + - 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 + python3 -m pip install pytest + python3 -m pip install 'cmake>=3.22.0' + + - 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_LIST }} + ${{ 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/failure comment to the PR. + - name: Add comment to PR + uses: octokit/request-action@v2.x + with: + route: POST /repos/{repository}/issues/{issue_number}/comments + repository: ${{ github.repository }} + issue_number: ${{ github.event.issue.number }} + body: ${{ steps.build-test.outputs.message }}, please check https://github.com/${{github.repository}}/commit/${{github.sha}}/checks/${{github.run_id}} for more details! + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + # Post a failure message when any of the previous steps fail. + - name: Add failure comment to PR + if: ${{ failure() }} + uses: octokit/request-action@v2.x + with: + route: POST /repos/{repository}/issues/{issue_number}/comments + repository: ${{ github.repository }} + issue_number: ${{ github.event.issue.number }} + body: "Rerun Failed" + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + 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: + - 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 + python3 -m pip install pytest + python3 -m pip install 'cmake>=3.22.0' + + - 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_LIST }} + ${{ 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/failure comment to the PR. + - name: Add comment to PR + uses: octokit/request-action@v2.x + with: + route: POST /repos/{repository}/issues/{issue_number}/comments + repository: ${{ github.repository }} + issue_number: ${{ github.event.issue.number }} + body: ${{ steps.build-test.outputs.message }}, please check https://github.com/${{github.repository}}/commit/${{github.sha}}/checks/${{github.run_id}} for more details! + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + # Post a failure message when any of the previous steps fail. + - name: Add failure comment to PR + if: ${{ failure() }} + uses: octokit/request-action@v2.x + with: + route: POST /repos/{repository}/issues/{issue_number}/comments + repository: ${{ github.repository }} + issue_number: ${{ github.event.issue.number }} + body: "Rerun Failed" + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + 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: + - 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 + python3 -m pip install pytest + python3 -m pip install 'cmake>=3.22.0' + + - 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_LIST }} + ${{ 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/failure comment to the PR. + - name: Add comment to PR + uses: octokit/request-action@v2.x + with: + route: POST /repos/{repository}/issues/{issue_number}/comments + repository: ${{ github.repository }} + issue_number: ${{ github.event.issue.number }} + body: ${{ steps.build-test.outputs.message }}, please check https://github.com/${{github.repository}}/commit/${{github.sha}}/checks/${{github.run_id}} for more details! + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + # Post a failure message when any of the previous steps fail. + - name: Add failure comment to PR + if: ${{ failure() }} + uses: octokit/request-action@v2.x + with: + route: POST /repos/{repository}/issues/{issue_number}/comments + repository: ${{ github.repository }} + issue_number: ${{ github.event.issue.number }} + body: "Rerun Failed" + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + 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