diff --git a/.github/workflows/aqlprofile-continuous_integration.yml b/.github/workflows/aqlprofile-continuous_integration.yml index fe7c8ddde9..8af44fe938 100644 --- a/.github/workflows/aqlprofile-continuous_integration.yml +++ b/.github/workflows/aqlprofile-continuous_integration.yml @@ -45,11 +45,13 @@ jobs: strategy: fail-fast: false matrix: - runner: ['navi4', 'navi3', 'mi3xx'] - os: ['ubuntu-22.04'] - build-type: ['RelWithDebInfo'] + system: [ + {gpu: 'navi4', runner: 'rocprofiler-navi4', os: 'ubuntu-22.04', build-type: 'RelWithDebInfo'}, + {gpu: 'navi3', runner: 'rocprofiler-navi3', os: 'ubuntu-22.04', build-type: 'RelWithDebInfo'}, + {gpu: 'mi3xx', runner: 'rocprofiler-mi3xx', os: 'ubuntu-22.04', build-type: 'RelWithDebInfo'} + ] - runs-on: rocprofiler-${{ matrix.runner }} + runs-on: ${{ matrix.system.runner }} permissions: contents: read @@ -92,7 +94,7 @@ jobs: run: LD_LIBRARY_PATH=$(pwd)/build:$LD_LIBRARY_PATH /usr/bin/ctest --output-on-failure -VV -DCTEST_SOURCE_DIRECTORY="$(pwd)" -DCTEST_BINARY_DIRECTORY="$(pwd)/build" -DAQLPROFILE_BUILD_NUM_JOBS="16" -DCTEST_SITE="${RUNNER_HOSTNAME}" - -DCTEST_BUILD_NAME=PR_${{ github.ref_name }}_${{ github.repository }}-${{ matrix.os }}-${{ matrix.runner }}-core + -DCTEST_BUILD_NAME=PR_${{ github.ref_name }}_${{ github.repository }}-${{ matrix.os }}-${{ matrix.gpu }}-core -DCMAKE_CTEST_ARGUMENTS="" -DAQLPROFILE_BUILD_TESTS=ON -DAQLPROFILE_EXTRA_CONFIGURE_ARGS="" diff --git a/projects/aqlprofile/.github/dependabot.yml b/projects/aqlprofile/.github/dependabot.yml deleted file mode 100644 index 09284a9e92..0000000000 --- a/projects/aqlprofile/.github/dependabot.yml +++ /dev/null @@ -1,13 +0,0 @@ -version: 2 -updates: - - package-ecosystem: "github-actions" # See documentation for possible values - directory: "/" # Location of package manifests - schedule: - interval: "weekly" - - package-ecosystem: "pip" # See documentation for possible values - directory: "/docs/sphinx" # Location of package manifests - open-pull-requests-limit: 10 - schedule: - interval: "daily" - versioning-strategy: increase - diff --git a/projects/aqlprofile/.github/palamida.yml b/projects/aqlprofile/.github/palamida.yml deleted file mode 100644 index 47bd57a5ab..0000000000 --- a/projects/aqlprofile/.github/palamida.yml +++ /dev/null @@ -1,5 +0,0 @@ -disabled: false -scmId: gh-emu-rocm -branchesToScan: - - amd-staging - - amd-mainline \ No newline at end of file diff --git a/projects/aqlprofile/.github/workflows/codeql.yml b/projects/aqlprofile/.github/workflows/codeql.yml deleted file mode 100644 index cf434e3fc9..0000000000 --- a/projects/aqlprofile/.github/workflows/codeql.yml +++ /dev/null @@ -1,102 +0,0 @@ -name: "CodeQL Advanced" - -on: - push: - branches: [ "amd-staging" ] - pull_request: - branches: [ "amd-staging" ] - schedule: - - cron: '0 0 * * *' - -env: - EXCLUDED_PATHS: "" - -jobs: - analyze: - name: Analyze (${{ matrix.language }}) - # Runner size impacts CodeQL analysis time. To learn more, please see: - # - https://gh.io/recommended-hardware-resources-for-running-codeql - # - https://gh.io/supported-runners-and-hardware-resources - # - https://gh.io/using-larger-runners (GitHub.com only) - # Consider using larger runners or machines with greater resources for possible analysis time improvements. - runs-on: AMD-ROCm-Internal-dev1 - container: rocm/dev-ubuntu-22.04:latest - permissions: - # required for all workflows - security-events: write - - # required to fetch internal or private CodeQL packs - packages: read - - # only required for workflows in private repositories - actions: read - contents: read - - strategy: - fail-fast: false - matrix: - include: - - language: c-cpp - build-mode: manual - - language: python - build-mode: none - - language: actions - build-mode: none - - steps: - - name: Install OS requirements - timeout-minutes: 10 - shell: bash - run: | - sudo apt update - sudo apt install -y software-properties-common - sudo apt-add-repository ppa:git-core/ppa - sudo apt-get update - sudo apt install -y git - - - name: Checkout repository - uses: actions/checkout@v4 - - - if: matrix.build-mode == 'manual' - name: Install requirements - timeout-minutes: 10 - shell: bash - run: | - git config --global --add safe.directory '*' - apt-get update - apt-get install -y build-essential cmake g++-11 g++-12 python3-pip libdw-dev rocm-llvm-dev libgtest-dev libgmock-dev - update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 10 --slave /usr/bin/g++ g++ /usr/bin/g++-11 --slave /usr/bin/gcov gcov /usr/bin/gcov-11 - update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 20 --slave /usr/bin/g++ g++ /usr/bin/g++-12 --slave /usr/bin/gcov gcov /usr/bin/gcov-12 - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v3 - with: - languages: ${{ matrix.language }} - build-mode: ${{ matrix.build-mode }} - queries: security-extended - # If you wish to specify custom queries, you can do so here or in a config file. - # By default, queries listed here will override any specified in a config file. - # Prefix the list here with "+" to use these queries and those in the config file. - - # For more details on CodeQL's query packs, refer to: https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs - # queries: security-extended,security-and-quality - - # If the analyze step fails for one of the languages you are analyzing with - # "We were unable to automatically build your code", modify the matrix above - # to set the build mode to "manual" for that language. Then modify this step - # to build your code. - # â„šī¸ Command-line programs to run using the OS shell. - # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun - - if: matrix.build-mode == 'manual' - name: Configure and Build - timeout-minutes: 30 - shell: bash - run: | - cmake -B /tmp/build -DGPU_TARGETS='gfx906,gfx90a,gfx942,gfx1101,gfx1201' -DCMAKE_PREFIX_PATH=/opt/rocm - cmake --build /tmp/build --target all --parallel 16 - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3 - with: - category: "/language:${{matrix.language}}" diff --git a/projects/aqlprofile/.github/workflows/continuous_integration.yml b/projects/aqlprofile/.github/workflows/continuous_integration.yml deleted file mode 100644 index 8d42e175ac..0000000000 --- a/projects/aqlprofile/.github/workflows/continuous_integration.yml +++ /dev/null @@ -1,149 +0,0 @@ -name: Continuous Integration - -on: - workflow_dispatch: - push: - branches: [ amd-staging, amd-mainline, amd-npi ] - paths-ignore: - - '*.md' - - 'source/docs/**' - - 'CODEOWNERS' - pull_request: - paths-ignore: - - '*.md' - - 'source/docs/**' - - 'CODEOWNERS' - -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 - PATH: "/usr/bin:$PATH" - navi3_EXCLUDE_TESTS_REGEX: "" - vega20_EXCLUDE_TESTS_REGEX: "" - mi200_EXCLUDE_TESTS_REGEX: "" - mi300_EXCLUDE_TESTS_REGEX: "" - mi300a_EXCLUDE_TESTS_REGEX: "" - mi325_EXCLUDE_TESTS_REGEX: "" - navi4_EXCLUDE_TESTS_REGEX: "" - navi3_EXCLUDE_LABEL_REGEX: "" - vega20_EXCLUDE_LABEL_REGEX: "" - mi200_EXCLUDE_LABEL_REGEX: "" - mi300_EXCLUDE_LABEL_REGEX: "" - mi300a_EXCLUDE_LABEL_REGEX: "" - mi325_EXCLUDE_LABEL_REGEX: "" - navi4_EXCLUDE_LABEL_REGEX: "" - -jobs: - core-deb: - # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix - strategy: - fail-fast: false - matrix: - runner: ['navi4', 'navi3', 'mi300'] - os: ['ubuntu-22.04'] - build-type: ['RelWithDebInfo'] - - runs-on: ${{ matrix.runner }}${{ github.ref == 'refs/heads/amd-npi' && '-npi' || '' }}-emu-runner-set - if: github.event.pull_request.head.repo.full_name == 'AMD-ROCm-Internal/aqlprofile' - - permissions: - contents: read - pull-requests: write - - # define this for containers - env: - GIT_DISCOVERY_ACROSS_FILESYSTEM: 1 - CORE_EXT_RUNNER: mi300a - - steps: - - uses: actions/checkout@v4 - - - name: Install requirements - timeout-minutes: 10 - shell: bash - run: | - git config --global --add safe.directory '*' - apt-get update - apt-get install -y build-essential cmake g++-11 g++-12 python3-pip libgtest-dev libgmock-dev - update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 10 --slave /usr/bin/g++ g++ /usr/bin/g++-11 --slave /usr/bin/gcov gcov /usr/bin/gcov-11 - update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 20 --slave /usr/bin/g++ g++ /usr/bin/g++-12 --slave /usr/bin/gcov gcov /usr/bin/gcov-12 - - - name: List Files - shell: bash - run: | - echo "PATH: ${PATH}" - echo "LD_LIBRARY_PATH: ${LD_LIBRARY_PATH}" - which-realpath() { echo -e "\n$1 resolves to $(realpath $(which $1))"; echo "$($(which $1) --version &> /dev/stdout | head -n 1)"; } - for i in python3 git cmake ctest gcc g++ gcov; do which-realpath $i; done - cat /opt/rocm/.info/version - ls -la - pwd - - - name: Configure, Build, and Test - timeout-minutes: 30 - shell: bash - run: - LD_LIBRARY_PATH=$(pwd)/build:$LD_LIBRARY_PATH ctest --output-on-failure -V -DCTEST_SOURCE_DIRECTORY="$(pwd)" - -DCTEST_BINARY_DIRECTORY="$(pwd)/build" -DAQLPROFILE_BUILD_NUM_JOBS="16" -DCTEST_SITE="${RUNNER_HOSTNAME}" - -DCTEST_BUILD_NAME=PR_${{ github.ref_name }}_${{ github.repository }}-${{ matrix.os }}-${{ matrix.runner }}-core - -DCMAKE_CTEST_ARGUMENTS="" - -DAQLPROFILE_BUILD_TESTS=ON - -DAQLPROFILE_EXTRA_CONFIGURE_ARGS="" - -S ./dashboard.cmake - - core-rpm: - if: github.ref != 'refs/heads/amd-npi' && github.event.pull_request.head.repo.full_name == 'AMD-ROCm-Internal/aqlprofile' - # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix - strategy: - fail-fast: false - matrix: - runner: ['mi300'] - os: ['rhel', 'sles'] - build-type: ['RelWithDebInfo'] - ci-flags: ['--linter clang-tidy'] - - runs-on: ${{ matrix.os }}-emu-runner-set - - permissions: - contents: read - pull-requests: write - - # define this for containers - env: - GIT_DISCOVERY_ACROSS_FILESYSTEM: 1 - CORE_EXT_RUNNER: mi300 - - steps: - - uses: actions/checkout@v4 - - - name: Install requirements - timeout-minutes: 10 - shell: bash - run: | - git config --global --add safe.directory '*' - - - name: List Files - shell: bash - run: | - echo "PATH: ${PATH}" - echo "LD_LIBRARY_PATH: ${LD_LIBRARY_PATH}" - which-realpath() { echo -e "\n$1 resolves to $(realpath $(which $1))"; echo "$($(which $1) --version &> /dev/stdout | head -n 1)"; } - for i in python3 git cmake ctest gcc g++ gcov; do which-realpath $i; done - cat /opt/rocm/.info/version - ls -la - pwd - - - name: Configure, Build, and Test - timeout-minutes: 30 - shell: bash - run: - LD_LIBRARY_PATH=$(pwd)/build:$LD_LIBRARY_PATH ctest --output-on-failure -V -DCTEST_SOURCE_DIRECTORY="$(pwd)" - -DCTEST_BINARY_DIRECTORY="$(pwd)/build" -DAQLPROFILE_BUILD_NUM_JOBS="16" -DCTEST_SITE="${RUNNER_HOSTNAME}" - -DCTEST_BUILD_NAME=PR_${{ github.ref_name }}_${{ github.repository }}-${{ matrix.os }}-${{ matrix.runner }}-core - -DCMAKE_CTEST_ARGUMENTS="" - -DAQLPROFILE_BUILD_TESTS=ON - -DAQLPROFILE_EXTRA_CONFIGURE_ARGS="" - -S ./dashboard.cmake diff --git a/projects/aqlprofile/.github/workflows/external-pr-close.yml b/projects/aqlprofile/.github/workflows/external-pr-close.yml deleted file mode 100644 index fc5045d95d..0000000000 --- a/projects/aqlprofile/.github/workflows/external-pr-close.yml +++ /dev/null @@ -1,102 +0,0 @@ -name: Close external PR - -on: - pull_request_target: - types: [closed] - branches: - - amd-staging - -jobs: - git-mirror: - runs-on: ubuntu-latest - if: github.event.pull_request.head.repo.full_name == 'AMD-ROCm-Internal/aqlprofile' && contains(github.event.pull_request.head.ref, 'external-pr') - steps: - - name: Get Current PR Body - id: current_pr - run: | - # Use the PR body directly from the event payload - # This is the body as it was when the 'opened' or 'edited' event was triggered. - RAW_PR_BODY="${{ github.event.pull_request.body }}" - - # Handle cases where the body might be null (e.g., an empty PR description) - # In bash, an unset or null variable in quotes becomes an empty string, - # but it's good practice to be explicit or test. - # If RAW_PR_BODY is null from the JSON payload, it will be treated as an empty string here by bash. - # For more robust null handling if needed elsewhere: PR_BODY_FOR_SCRIPT="${RAW_PR_BODY:-}" - PR_BODY_FOR_SCRIPT="$RAW_PR_BODY" - - echo "PR Body from event payload (first 500 chars):" - echo "${PR_BODY_FOR_SCRIPT:0:500}" # Print a snippet for logging - echo "-------------------" - - # If you need to pass this body to subsequent steps via GITHUB_OUTPUT, - # the multiline escaping is still crucial. - ESCAPED_PR_BODY="${RAW_PR_BODY//'%'/'%25'}" - ESCAPED_PR_BODY="${ESCAPED_PR_BODY//$'\n'/'%0A'}" - ESCAPED_PR_BODY="${ESCAPED_PR_BODY//$'\r'/'%0D'}" - - echo "PR_BODY_CONTENT<> $GITHUB_OUTPUT - echo "$ESCAPED_PR_BODY" >> $GITHUB_OUTPUT - echo "EOF" >> $GITHUB_OUTPUT - - - name: Extract Remote PR URL and Info - id: remote_pr_info - run: | - PR_BODY="${{ steps.current_pr.outputs.PR_BODY_CONTENT }}" - echo "Current PR Body:" - echo "${PR_BODY}" - echo "-------------------" - - # Regex to find GitHub PR URLs. This is a common pattern. - # It captures owner, repo, and pr_number. - REMOTE_PR_URL_REGEX="https://github.com/([^/]+)/([^/]+)/pull/([0-9]+)" - - if [[ "$PR_BODY" =~ $REMOTE_PR_URL_REGEX ]]; then - REMOTE_PR_URL="${BASH_REMATCH[0]}" - REMOTE_OWNER="${BASH_REMATCH[1]}" - REMOTE_REPO="${BASH_REMATCH[2]}" - REMOTE_PR_NUMBER="${BASH_REMATCH[3]}" - - echo "Found Remote PR URL: $REMOTE_PR_URL" - echo "Remote Owner: $REMOTE_OWNER" - echo "Remote Repo: $REMOTE_REPO" - echo "Remote PR Number: $REMOTE_PR_NUMBER" - - echo "REMOTE_PR_URL=$REMOTE_PR_URL" >> $GITHUB_OUTPUT - echo "REMOTE_OWNER=$REMOTE_OWNER" >> $GITHUB_OUTPUT - echo "REMOTE_REPO=$REMOTE_REPO" >> $GITHUB_OUTPUT - echo "REMOTE_PR_NUMBER=$REMOTE_PR_NUMBER" >> $GITHUB_OUTPUT - echo "FOUND_URL=true" >> $GITHUB_OUTPUT - else - echo "::warning::No GitHub PR URL found in the current PR body." - echo "FOUND_URL=false" >> $GITHUB_OUTPUT - fi - - - name: Output Results - if: steps.remote_pr_info.outputs.FOUND_URL == 'true' - run: | - echo "Successfully retrieved branch info from remote PR." - echo "Remote PR URL: ${{ steps.remote_pr_info.outputs.REMOTE_PR_URL }}" - - - name: Handle No URL Found - if: steps.remote_pr_info.outputs.FOUND_URL == 'false' - run: | - echo "No remote PR URL was found in the body of PR #${{ github.event.pull_request.number }}." - - - name: Comment on and Close External PR - if: steps.remote_pr_info.outputs.FOUND_URL == 'true' - env: - GH_TOKEN: ${{ secrets.EXT_TOKEN }} - EXTERNAL_PR_NUMBER: ${{ steps.remote_pr_info.outputs.REMOTE_PR_NUMBER }} - EXTERNAL_REPO: "ROCm/aqlprofile" - run: | - COMMENT_BODY="This pull request has been closed in the internal repository. Thank you for your contribution!" - - gh pr comment "$EXTERNAL_PR_NUMBER" \ - --repo "$EXTERNAL_REPO" \ - --body "$COMMENT_BODY" - - gh pr close "$EXTERNAL_PR_NUMBER" \ - --repo "$EXTERNAL_REPO" - - echo "Commented on and Closed external PR #${EXTERNAL_PR_NUMBER}" diff --git a/projects/aqlprofile/.github/workflows/external-pr-sync.yml b/projects/aqlprofile/.github/workflows/external-pr-sync.yml deleted file mode 100644 index 5618fc8cc6..0000000000 --- a/projects/aqlprofile/.github/workflows/external-pr-sync.yml +++ /dev/null @@ -1,132 +0,0 @@ -name: Sync external PR branch to public repository - -on: - pull_request_target: - branches: - - amd-staging - -jobs: - git-mirror: - runs-on: ubuntu-latest - if: github.event.pull_request.head.repo.full_name == 'AMD-ROCm-Internal/aqlprofile' && contains(github.event.pull_request.head.ref, 'external-pr') - steps: - - name: Get Current PR Body - id: current_pr - run: | - # Use the PR body directly from the event payload - # This is the body as it was when the 'opened' or 'edited' event was triggered. - RAW_PR_BODY="${{ github.event.pull_request.body }}" - - # Handle cases where the body might be null (e.g., an empty PR description) - # In bash, an unset or null variable in quotes becomes an empty string, - # but it's good practice to be explicit or test. - # If RAW_PR_BODY is null from the JSON payload, it will be treated as an empty string here by bash. - # For more robust null handling if needed elsewhere: PR_BODY_FOR_SCRIPT="${RAW_PR_BODY:-}" - PR_BODY_FOR_SCRIPT="$RAW_PR_BODY" - - echo "PR Body from event payload (first 500 chars):" - echo "${PR_BODY_FOR_SCRIPT:0:500}" # Print a snippet for logging - echo "-------------------" - - # If you need to pass this body to subsequent steps via GITHUB_OUTPUT, - # the multiline escaping is still crucial. - ESCAPED_PR_BODY="${RAW_PR_BODY//'%'/'%25'}" - ESCAPED_PR_BODY="${ESCAPED_PR_BODY//$'\n'/'%0A'}" - ESCAPED_PR_BODY="${ESCAPED_PR_BODY//$'\r'/'%0D'}" - - echo "PR_BODY_CONTENT<> $GITHUB_OUTPUT - echo "$ESCAPED_PR_BODY" >> $GITHUB_OUTPUT - echo "EOF" >> $GITHUB_OUTPUT - - - name: Extract Remote PR URL and Info - id: remote_pr_info - run: | - PR_BODY="${{ steps.current_pr.outputs.PR_BODY_CONTENT }}" - echo "Current PR Body:" - echo "${PR_BODY}" - echo "-------------------" - - # Regex to find GitHub PR URLs. This is a common pattern. - # It captures owner, repo, and pr_number. - REMOTE_PR_URL_REGEX="https://github.com/([^/]+)/([^/]+)/pull/([0-9]+)" - - if [[ "$PR_BODY" =~ $REMOTE_PR_URL_REGEX ]]; then - REMOTE_PR_URL="${BASH_REMATCH[0]}" - REMOTE_OWNER="${BASH_REMATCH[1]}" - REMOTE_REPO="${BASH_REMATCH[2]}" - REMOTE_PR_NUMBER="${BASH_REMATCH[3]}" - - echo "Found Remote PR URL: $REMOTE_PR_URL" - echo "Remote Owner: $REMOTE_OWNER" - echo "Remote Repo: $REMOTE_REPO" - echo "Remote PR Number: $REMOTE_PR_NUMBER" - - echo "REMOTE_PR_URL=$REMOTE_PR_URL" >> $GITHUB_OUTPUT - echo "REMOTE_OWNER=$REMOTE_OWNER" >> $GITHUB_OUTPUT - echo "REMOTE_REPO=$REMOTE_REPO" >> $GITHUB_OUTPUT - echo "REMOTE_PR_NUMBER=$REMOTE_PR_NUMBER" >> $GITHUB_OUTPUT - echo "FOUND_URL=true" >> $GITHUB_OUTPUT - else - echo "::warning::No GitHub PR URL found in the current PR body." - echo "FOUND_URL=false" >> $GITHUB_OUTPUT - fi - - - name: Fetch Remote PR Branch Name - if: steps.remote_pr_info.outputs.FOUND_URL == 'true' - id: remote_pr_branch - env: - GH_TOKEN: ${{ secrets.EXT_TOKEN }} - REMOTE_OWNER: ${{ steps.remote_pr_info.outputs.REMOTE_OWNER }} - REMOTE_REPO: ${{ steps.remote_pr_info.outputs.REMOTE_REPO }} - REMOTE_PR_NUMBER: ${{ steps.remote_pr_info.outputs.REMOTE_PR_NUMBER }} - run: | - if [ -n "$GH_TOKEN" ]; then - echo "Using provided TOKEN." - ACTUAL_GH_TOKEN="$GH_TOKEN" - else - echo "::error::No token available." - exit 1 - fi - - echo "Fetching branch name for $REMOTE_OWNER/$REMOTE_REPO/pull/$REMOTE_PR_NUMBER" - REMOTE_BRANCH_NAME=$(GH_TOKEN="$ACTUAL_GH_TOKEN" gh pr view "$REMOTE_PR_NUMBER" \ - --repo "$REMOTE_OWNER/$REMOTE_REPO" \ - --json headRefName --jq .headRefName) - - if [ -n "$REMOTE_BRANCH_NAME" ]; then - echo "Remote PR Branch Name: $REMOTE_BRANCH_NAME" - echo "REMOTE_BRANCH_NAME=$REMOTE_BRANCH_NAME" >> $GITHUB_OUTPUT - else - echo "::error::Could not retrieve branch name for remote PR $REMOTE_OWNER/$REMOTE_REPO/pull/$REMOTE_PR_NUMBER. Check PAT permissions or PR validity." - # Optionally exit 1 if this is critical - # exit 1 - fi - - - name: Output Results - if: steps.remote_pr_info.outputs.FOUND_URL == 'true' && steps.remote_pr_branch.outputs.REMOTE_BRANCH_NAME - run: | - echo "Successfully retrieved branch name from remote PR." - echo "Remote PR URL: ${{ steps.remote_pr_info.outputs.REMOTE_PR_URL }}" - echo "Remote PR Branch Name: ${{ steps.remote_pr_branch.outputs.REMOTE_BRANCH_NAME }}" - # You can now use ${{ steps.remote_pr_branch.outputs.REMOTE_BRANCH_NAME }} in subsequent steps - # For example, create an artifact, comment on PR A, trigger another workflow, etc. - - - name: Handle No URL Found - if: steps.remote_pr_info.outputs.FOUND_URL == 'false' - run: | - echo "No remote PR URL was found in the body of PR #${{ github.event.pull_request.number }}." - - - name: Handle Branch Not Found - if: steps.remote_pr_info.outputs.FOUND_URL == 'true' && !steps.remote_pr_branch.outputs.REMOTE_BRANCH_NAME - run: | - echo "A remote PR URL was found, but its branch name could not be retrieved." - echo "URL: ${{ steps.remote_pr_info.outputs.REMOTE_PR_URL }}" - - - name: Sync - if: steps.remote_pr_info.outputs.FOUND_URL == 'true' && steps.remote_pr_branch.outputs.REMOTE_BRANCH_NAME - uses: AMD-ROCm-Internal/rocprofiler-github-actions@git-sync-v3 - with: - source_repo: "https://${{ secrets.TOKEN }}@github.com/AMD-ROCm-Internal/aqlprofile.git" - source_branch: "${{ github.event.pull_request.head.ref }}" - destination_repo: "https://${{ secrets.EXT_TOKEN }}@github.com/ROCm/aqlprofile.git" - destination_branch: "${{ steps.remote_pr_branch.outputs.REMOTE_BRANCH_NAME }}" diff --git a/projects/aqlprofile/.github/workflows/external-pr.yml b/projects/aqlprofile/.github/workflows/external-pr.yml deleted file mode 100644 index 85b813c0eb..0000000000 --- a/projects/aqlprofile/.github/workflows/external-pr.yml +++ /dev/null @@ -1,82 +0,0 @@ -name: Mirror External PR to Internal Repo - -on: - pull_request_target: - types: [opened, synchronize] - branches: - - amd-staging - -jobs: - mirror_pr: - runs-on: ubuntu-latest - if: github.event.pull_request.head.repo.full_name != 'AMD-ROCm-Internal/aqlprofile' - - steps: - - name: Checkout PR base - uses: actions/checkout@v4 - - - name: Setup Git User - run: | - git config --global user.name 'External PR Mirror Bot' - git config --global user.email 'bot@users.noreply.github.com' - - - uses: wei/git-sync@v3 - name: Push branch to Internal Repository - with: - source_repo: "https://${{ secrets.EXTERNAL_REPO_TOKEN }}@github.com/ROCm/aqlprofile.git" - source_branch: "${{ github.event.pull_request.head.ref }}" - destination_repo: "https://${{ secrets.INTERNAL_REPO_TOKEN }}@github.com/AMD-ROCm-Internal/aqlprofile.git" - destination_branch: "external-pr/${{ github.event.pull_request.number }}" - - - name: Create Pull Request in Internal Repository - if: ${{ github.event.action == 'opened' }} - id: create_internal_pr - env: - GH_TOKEN: ${{ secrets.INTERNAL_REPO_TOKEN }} - INTERNAL_REPO: "AMD-ROCm-Internal/aqlprofile" - INTERNAL_BASE_BRANCH: "amd-staging" - HEAD_BRANCH: "external-pr/${{ github.event.pull_request.number }}" - PR_TITLE: "Mirror: ${{ github.event.pull_request.title }} (Ext PR #${{ github.event.pull_request.number }})" - PR_BODY: | - This PR mirrors changes from external pull request: ${{ github.event.pull_request.html_url }} - - Original PR Body: - ------------------- - ${{ github.event.pull_request.body }} - run: | - # Create PR and capture its URL - INTERNAL_PR_URL=$(gh pr create \ - --repo "$INTERNAL_REPO" \ - --base "$INTERNAL_BASE_BRANCH" \ - --head "$HEAD_BRANCH" \ - --title "$PR_TITLE" \ - --body "$PR_BODY") - - if [ -z "$INTERNAL_PR_URL" ]; then - echo "Failed to create internal PR. URL is empty." - # Check if PR already exists (gh pr create might not fail if branch has open PR) - EXISTING_PR_URL=$(gh pr list --repo "$INTERNAL_REPO" --head "$HEAD_BRANCH" --json url -q '.[0].url') - if [ -n "$EXISTING_PR_URL" ]; then - echo "Internal PR already exists: $EXISTING_PR_URL" - echo "INTERNAL_PR_URL=$EXISTING_PR_URL" >> $GITHUB_OUTPUT - else - echo "::error::Failed to create or find existing internal PR." - exit 1 - fi - fi - - - - name: Comment on and Close External PR - if: steps.create_internal_pr.outputs.INTERNAL_PR_URL != '' - env: - GH_TOKEN: ${{ secrets.EXTERNAL_REPO_TOKEN }} - EXTERNAL_PR_NUMBER: ${{ github.event.pull_request.number }} - EXTERNAL_REPO: ${{ github.repository }} - run: | - COMMENT_BODY="This pull request has been mirrored to our internal repository for review and integration. Thank you for your contribution!" - - gh pr comment "$EXTERNAL_PR_NUMBER" \ - --repo "$EXTERNAL_REPO" \ - --body "$COMMENT_BODY" - - echo "Commented on external PR #${EXTERNAL_PR_NUMBER}" diff --git a/projects/aqlprofile/.github/workflows/kws-caller.yml b/projects/aqlprofile/.github/workflows/kws-caller.yml deleted file mode 100644 index 1dcf281742..0000000000 --- a/projects/aqlprofile/.github/workflows/kws-caller.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: Rocm Validation Suite KWS -on: - push: - branches: [amd-staging] - pull_request: - types: [opened, synchronize, reopened] - branches: [amd-staging] - workflow_dispatch: -jobs: - kws: - if: ${{ github.event_name == 'pull_request' }} - uses: AMD-ROCm-Internal/rocm_ci_infra/.github/workflows/kws.yml@mainline - secrets: inherit - with: - pr_number: ${{github.event.pull_request.number}} - base_branch: ${{github.base_ref}} diff --git a/projects/aqlprofile/.github/workflows/rocm-ci-caller.yml b/projects/aqlprofile/.github/workflows/rocm-ci-caller.yml deleted file mode 100644 index 6e11b1282d..0000000000 --- a/projects/aqlprofile/.github/workflows/rocm-ci-caller.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: ROCm CI Caller - -on: - pull_request: - branches: [amd-staging, amd-npi, release/rocm-rel-*] - types: [opened, reopened, synchronize] - push: - branches: [amd-mainline] - workflow_dispatch: - issue_comment: - types: [created] - -jobs: - call-workflow: - if: ${{ github.event_name != 'issue_comment' || github.event.comment.body == '!verify' }} - uses: AMD-ROCm-Internal/rocm_ci_infra/.github/workflows/rocm_ci.yml@mainline - secrets: inherit - with: - input_sha: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} - input_pr_num: ${{ github.event_name == 'pull_request' && github.event.pull_request.number || 0 }} - input_pr_url: ${{ github.event_name == 'pull_request' && github.event.pull_request.html_url || '' }} - input_pr_title: ${{ github.event_name == 'pull_request' && github.event.pull_request.title || '' }} - repository_name: ${{ github.repository }} - base_ref: ${{ github.event_name == 'pull_request' && github.base_ref || github.ref }} - trigger_event_type: ${{ github.event_name }} diff --git a/projects/aqlprofile/.github/workflows/sync-mainline.yaml b/projects/aqlprofile/.github/workflows/sync-mainline.yaml deleted file mode 100644 index 1c907ba739..0000000000 --- a/projects/aqlprofile/.github/workflows/sync-mainline.yaml +++ /dev/null @@ -1,17 +0,0 @@ -name: Sync amd-mainline to public repository - -on: - push: - branches: [ amd-mainline ] - -jobs: - git-mirror: - runs-on: AMD-ROCm-Internal-dev1 - steps: - - name: git-sync - uses: AMD-ROCm-Internal/rocprofiler-github-actions@git-sync-v3 - with: - source_repo: "https://${{ secrets.TOKEN }}@github.com/AMD-ROCm-Internal/aqlprofile.git" - source_branch: "amd-mainline" - destination_repo: "https://${{ secrets.EXT_TOKEN }}@github.com/ROCm/aqlprofile.git" - destination_branch: "amd-mainline" diff --git a/projects/aqlprofile/.github/workflows/sync-staging.yaml b/projects/aqlprofile/.github/workflows/sync-staging.yaml deleted file mode 100644 index 5087a92bea..0000000000 --- a/projects/aqlprofile/.github/workflows/sync-staging.yaml +++ /dev/null @@ -1,17 +0,0 @@ -name: Sync amd-staging to public repository - -on: - push: - branches: [ amd-staging ] - -jobs: - git-mirror: - runs-on: AMD-ROCm-Internal-dev1 - steps: - - name: git-sync - uses: AMD-ROCm-Internal/rocprofiler-github-actions@git-sync-v3 - with: - source_repo: "https://${{ secrets.TOKEN }}@github.com/AMD-ROCm-Internal/aqlprofile.git" - source_branch: "amd-staging" - destination_repo: "https://${{ secrets.EXT_TOKEN }}@github.com/ROCm/aqlprofile.git" - destination_branch: "amd-staging" diff --git a/projects/aqlprofile/dashboard.cmake b/projects/aqlprofile/dashboard.cmake index d04f05d0f4..c03b8d93dd 100644 --- a/projects/aqlprofile/dashboard.cmake +++ b/projects/aqlprofile/dashboard.cmake @@ -56,7 +56,7 @@ endif() macro(handle_error _message _ret) if(NOT ${${_ret}} EQUAL 0) dashboard_submit(PARTS Done RETURN_VALUE _submit_ret) - message(FATAL_ERROR "${_message} failed: ${${_ret}}") + message(WARNING "${_message} failed: ${${_ret}}") endif() endmacro() diff --git a/projects/rocprofiler-register/.github/palamida.yml b/projects/rocprofiler-register/.github/palamida.yml deleted file mode 100644 index 47bd57a5ab..0000000000 --- a/projects/rocprofiler-register/.github/palamida.yml +++ /dev/null @@ -1,5 +0,0 @@ -disabled: false -scmId: gh-emu-rocm -branchesToScan: - - amd-staging - - amd-mainline \ No newline at end of file diff --git a/projects/rocprofiler-register/.github/workflows/continuous-integration.yml b/projects/rocprofiler-register/.github/workflows/continuous-integration.yml deleted file mode 100644 index 05b98a4460..0000000000 --- a/projects/rocprofiler-register/.github/workflows/continuous-integration.yml +++ /dev/null @@ -1,178 +0,0 @@ -name: Continuous Integration - -on: - push: - branches: [ amd-mainline, amd-staging ] - paths-ignore: - - '*.md' - pull_request: - branches: [ amd-mainline, amd-staging ] - paths-ignore: - - '*.md' - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -jobs: - ci: - strategy: - fail-fast: false - matrix: - compiler: ['clang-14', 'clang-15', 'gcc-11', 'gcc-12'] - ci-args: [''] - ci-tag: [''] - include: - - compiler: 'gcc-12' - ci-args: '--coverage' - ci-tag: '-codecov' - - compiler: 'clang-15' - ci-args: '--linter clang-tidy' - ci-tag: '-clang-tidy' - - compiler: 'clang-13' - ci-args: '' - ci-tag: '' - - compiler: 'gcc-12' - ci-args: '--memcheck ThreadSanitizer' - ci-tag: '-thread-sanitizer' - - compiler: 'gcc-12' - ci-args: '--memcheck AddressSanitizer' - ci-tag: '-address-sanitizer' - - compiler: 'gcc-12' - ci-args: '--memcheck LeakSanitizer' - ci-tag: '-leak-sanitizer' - # - compiler: 'gcc-12' - # ci-args: '--memcheck UndefinedBehaviorSanitizer' - # ci-tag: '-undefined-behavior-sanitizer' - - runs-on: rocprof-azure-emu-runner-set - - env: - BUILD_TYPE: RelWithDebInfo - INSTALL_PREFIX: /opt/rocprofiler-register - PACKAGING_INSTALL_PREFIX: /opt/rocm - - steps: - - uses: actions/checkout@v3 - - - name: Install Packages - timeout-minutes: 25 - run: | - CC=${{ matrix.compiler }} && - CXX=$(echo ${{ matrix.compiler }} | sed 's/clang-/clang++-/1' | sed 's/gcc-/g++-/1') && - apt-get update && - apt-get install -y build-essential python3 environment-modules ${{ matrix.compiler }} ${CXX} && - update-alternatives --install /usr/bin/cc cc /usr/bin/${CC} 100 && - update-alternatives --install /usr/bin/c++ c++ /usr/bin/${CXX} 100 && - python3 -m pip install --upgrade pip && - python3 -m pip install 'cmake==3.22.0' && - python3 -m pip install -r requirements.txt - - - name: Setup GCov - timeout-minutes: 25 - if: ${{ matrix.compiler == 'gcc-12' }} - run: | - update-alternatives --install /usr/bin/gcov gcov /usr/bin/gcov-12 100 - - - name: Setup Clang-Tidy - timeout-minutes: 25 - if: ${{ matrix.compiler == 'clang-15' }} - run: | - apt-get install -y clang-tidy-15 - update-alternatives --install /usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy-15 100 - - - name: Configure, Build, and Test - timeout-minutes: 115 - shell: bash - run: - cmake --version && - python3 ./scripts/run-ci.py -B build - --name ${{ github.repository_owner }}-${{ github.ref_name }}-azure-mi300x-${{ matrix.compiler }}${{ matrix.ci-tag }} - --build-jobs 2 - --site GitHub - ${{ matrix.ci-args }} - --disable-cdash - -- - -DCMAKE_C_COMPILER=/usr/bin/cc - -DCMAKE_CXX_COMPILER=/usr/bin/c++ - -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} - -DCMAKE_INSTALL_PREFIX=${{ env.INSTALL_PREFIX }} - -DROCPROFILER_REGISTER_BUILD_TESTS=ON - -DROCPROFILER_REGISTER_BUILD_SAMPLES=ON - -- - -VV - - - name: Install - timeout-minutes: 10 - run: - cmake --build build --target install --parallel 2 - - - name: CPack and Install - run: | - cd build - cpack -G STGZ - mkdir -p ${{ env.PACKAGING_INSTALL_PREFIX }} - ./rocprofiler-register-*-Linux.sh --prefix=${{ env.PACKAGING_INSTALL_PREFIX }} --exclude-subdir --skip-license - - - name: Test Installed Packages - if: ${{ contains(matrix.compiler, 'clang-15') }} - timeout-minutes: 10 - shell: bash - run: | - CMAKE_PREFIX_PATH=/opt/rocm cmake -B build-tests-deb /opt/rocm/share/rocprofiler-register/tests - cmake --build build-tests-deb --target all --parallel 16 - ctest --test-dir build-tests-deb --output-on-failure - - - name: Test Install Modulefile - timeout-minutes: 15 - shell: bash - run: | - set -v - source /usr/share/modules/init/$(basename ${SHELL}) - module use ${{ env.INSTALL_PREFIX }}/share/modulefiles - module avail - module load rocprofiler-register - pushd tests - BUILD_DIR=${PWD}/build-rocp-reg-modulefile - cmake -B ${BUILD_DIR} . - cmake --build ${BUILD_DIR} --target all - rm -rf ${BUILD_DIR} - - - name: Test Install Setup Env - timeout-minutes: 15 - shell: bash - run: | - set -v - source ${{ env.INSTALL_PREFIX }}/share/rocprofiler-register/setup-env.sh - pushd samples/library-implementation - BUILD_DIR=${PWD}/build-rocp-reg-setup-env - cmake -B ${BUILD_DIR} . - cmake --build ${BUILD_DIR} --target all - rm -rf ${BUILD_DIR} - - - name: Test Install CPack Modulefile - timeout-minutes: 15 - shell: bash - run: | - set -v - source /usr/share/modules/init/$(basename ${SHELL}) - module use ${{ env.PACKAGING_INSTALL_PREFIX }}/share/modulefiles - module avail - module load rocprofiler-register - pushd tests - BUILD_DIR=${PWD}/build-rocp-reg-modulefile-cpack - cmake -B ${BUILD_DIR} . - cmake --build ${BUILD_DIR} --target all - rm -rf ${BUILD_DIR} - - - name: Test Install CPack Setup Env - timeout-minutes: 15 - shell: bash - run: | - set -v - source ${{ env.PACKAGING_INSTALL_PREFIX }}/share/rocprofiler-register/setup-env.sh - pushd samples/library-implementation - BUILD_DIR=${PWD}/build-rocp-reg-setup-env-cpack - cmake -B ${BUILD_DIR} . - cmake --build ${BUILD_DIR} --target all - rm -rf ${BUILD_DIR} diff --git a/projects/rocprofiler-register/.github/workflows/formatting.yml b/projects/rocprofiler-register/.github/workflows/formatting.yml deleted file mode 100644 index 789698c620..0000000000 --- a/projects/rocprofiler-register/.github/workflows/formatting.yml +++ /dev/null @@ -1,117 +0,0 @@ - -name: Formatting - -on: - workflow_dispatch: - pull_request: - branches: [ amd-mainline, amd-staging ] - paths-ignore: - - '.github/workflows/pull_*.yml' - - '.github/workflows/linting.yml' - - '.github/workflows/markdown_lint.yml' - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -jobs: - cmake: - runs-on: AMD-ROCm-Internal-dev1 - - steps: - - uses: actions/checkout@v3 - - - name: Extract branch name - shell: bash - run: | - echo "branch=${GITHUB_HEAD_REF:-${GITHUB_HEAD_REF#refs/heads/}}" >> $GITHUB_OUTPUT - id: extract_branch - - - name: Install dependencies - run: | - sudo apt-get update - sudo apt-get install -y python3-pip - python3 -m pip install -U cmake-format - - - name: Run cmake-format - run: | - set +e - cmake-format -i $(find . -type f | egrep 'CMakeLists.txt|\.cmake$') - if [ $(git diff | wc -l) -ne 0 ]; then - echo -e "\nError! CMake code not formatted. Run cmake-format...\n" - echo -e "\nFiles:\n" - git diff --name-only - echo -e "\nFull diff:\n" - git diff - exit 1 - fi - - source: - runs-on: AMD-ROCm-Internal-dev1 - container: rocm/dev-ubuntu-22.04:latest - - steps: - - uses: actions/checkout@v3 - - - name: Install dependencies - run: | - DISTRIB_CODENAME=$(cat /etc/lsb-release | grep DISTRIB_CODENAME | awk -F '=' '{print $NF}') - sudo apt-get update - sudo apt-get install -y software-properties-common wget curl clang-format-11 - - - name: Extract branch name - shell: bash - run: | - echo "branch=${GITHUB_HEAD_REF:-${GITHUB_HEAD_REF#refs/heads/}}" >> $GITHUB_OUTPUT - id: extract_branch - - - name: Run clang-format - run: | - set +e - FILES=$(find samples source tests -type f | egrep '\.(h|hpp|hh|c|cc|cpp)(|\.in)$') - FORMAT_OUT=$(clang-format-11 -i ${FILES}) - if [ $(git diff | wc -l) -ne 0 ]; then - echo -e "\nError! Code not formatted. Run clang-format (version 11)...\n" - echo -e "\nFiles:\n" - git diff --name-only - echo -e "\nFull diff:\n" - git diff - exit 1 - fi - - python: - runs-on: AMD-ROCm-Internal-dev1 - strategy: - matrix: - python-version: ['3.10'] - - steps: - - uses: actions/checkout@v3 - - - name: Extract branch name - shell: bash - run: | - echo "branch=${GITHUB_HEAD_REF:-${GITHUB_HEAD_REF#refs/heads/}}" >> $GITHUB_OUTPUT - id: extract_branch - - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - - - name: Install dependencies - run: | - python -m pip install --upgrade pip - python -m pip install black - - - name: black format - run: | - black . - if [ $(git diff | wc -l) -ne 0 ]; then - echo -e "\nError! Python code not formatted. Run black...\n" - echo -e "\nFiles:\n" - git diff --name-only - echo -e "\nFull diff:\n" - git diff - exit 1 - fi diff --git a/projects/rocprofiler-register/.github/workflows/kws-caller.yml b/projects/rocprofiler-register/.github/workflows/kws-caller.yml deleted file mode 100644 index ffcbff7b1e..0000000000 --- a/projects/rocprofiler-register/.github/workflows/kws-caller.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: Rocm Validation Suite KWS -on: - push: - branches: [amd-staging] - pull_request: - types: [opened, synchronize, reopened] - workflow_dispatch: -jobs: - kws: - if: ${{ github.event_name == 'pull_request' }} - uses: AMD-ROCm-Internal/rocm_ci_infra/.github/workflows/kws.yml@mainline - secrets: inherit - with: - pr_number: ${{github.event.pull_request.number}} - base_branch: ${{github.base_ref}} diff --git a/projects/rocprofiler-register/.github/workflows/rocm_ci_caller.yml b/projects/rocprofiler-register/.github/workflows/rocm_ci_caller.yml deleted file mode 100644 index 0311611426..0000000000 --- a/projects/rocprofiler-register/.github/workflows/rocm_ci_caller.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: ROCm CI Caller -on: - pull_request: - branches: [amd-staging, release/rocm-rel-*] - types: [opened, reopened, synchronize] - push: - branches: [amd-mainline] - workflow_dispatch: - issue_comment: - types: [created] - -jobs: - call-workflow: - if: github.event_name != 'issue_comment' ||(github.event_name == 'issue_comment' && github.event.issue.pull_request && (startsWith(github.event.comment.body, '!verify') || startsWith(github.event.comment.body, '!verify release') || startsWith(github.event.comment.body, '!verify retest'))) - uses: AMD-ROCm-Internal/rocm_ci_infra/.github/workflows/rocm_ci.yml@mainline - secrets: inherit - with: - input_sha: ${{github.event_name == 'pull_request' && github.event.pull_request.head.sha || (github.event_name == 'push' && github.sha) || (github.event_name == 'issue_comment' && github.event.issue.pull_request.head.sha) || github.sha}} - input_pr_num: ${{github.event_name == 'pull_request' && github.event.pull_request.number || (github.event_name == 'issue_comment' && github.event.issue.number) || 0}} - input_pr_url: ${{github.event_name == 'pull_request' && github.event.pull_request.html_url || (github.event_name == 'issue_comment' && github.event.issue.pull_request.html_url) || ''}} - input_pr_title: ${{github.event_name == 'pull_request' && github.event.pull_request.title || (github.event_name == 'issue_comment' && github.event.issue.pull_request.title) || ''}} - repository_name: ${{ github.repository }} - base_ref: ${{github.event_name == 'pull_request' && github.event.pull_request.base.ref || (github.event_name == 'issue_comment' && github.event.issue.pull_request.base.ref) || github.ref}} - trigger_event_type: ${{ github.event_name }} - comment_text: ${{ github.event_name == 'issue_comment' && github.event.comment.body || '' }} diff --git a/projects/rocprofiler-register/.github/workflows/sync-mainline.yaml b/projects/rocprofiler-register/.github/workflows/sync-mainline.yaml deleted file mode 100644 index aa8e487185..0000000000 --- a/projects/rocprofiler-register/.github/workflows/sync-mainline.yaml +++ /dev/null @@ -1,18 +0,0 @@ -name: Sync amd-mainline to public repository - -on: - workflow_dispatch: - push: - branches: [ amd-mainline ] - -jobs: - git-mirror: - runs-on: AMD-ROCm-Internal-dev1 - steps: - - name: git-sync - uses: AMD-ROCm-Internal/rocprofiler-github-actions@git-sync-v3 - with: - source_repo: "https://${{ secrets.TOKEN }}@github.com/AMD-ROCm-Internal/rocprofiler-register-internal.git" - source_branch: "amd-mainline" - destination_repo: "https://${{ secrets.EXT_TOKEN }}@github.com/ROCm/rocprofiler-register.git" - destination_branch: "amd-mainline" diff --git a/projects/rocprofiler-register/.github/workflows/sync-staging.yaml b/projects/rocprofiler-register/.github/workflows/sync-staging.yaml deleted file mode 100644 index 2fc355b94f..0000000000 --- a/projects/rocprofiler-register/.github/workflows/sync-staging.yaml +++ /dev/null @@ -1,18 +0,0 @@ -name: Sync amd-staging to public repository - -on: - workflow_dispatch: - push: - branches: [ amd-staging ] - -jobs: - git-mirror: - runs-on: AMD-ROCm-Internal-dev1 - steps: - - name: git-sync - uses: AMD-ROCm-Internal/rocprofiler-github-actions@git-sync-v3 - with: - source_repo: "https://${{ secrets.TOKEN }}@github.com/AMD-ROCm-Internal/rocprofiler-register-internal.git" - source_branch: "amd-staging" - destination_repo: "https://${{ secrets.EXT_TOKEN }}@github.com/ROCm/rocprofiler-register.git" - destination_branch: "amd-staging" diff --git a/projects/rocprofiler-sdk/.github/dependabot.yml b/projects/rocprofiler-sdk/.github/dependabot.yml deleted file mode 100644 index 76b9bd3ae7..0000000000 --- a/projects/rocprofiler-sdk/.github/dependabot.yml +++ /dev/null @@ -1,17 +0,0 @@ -# To get started with Dependabot version updates, you'll need to specify which -# package ecosystems to update and where the package manifests are located. -# Please see the documentation for all configuration options: -# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates - -version: 2 -updates: - - package-ecosystem: "github-actions" # See documentation for possible values - directory: "/" # Location of package manifests - schedule: - interval: "weekly" - - package-ecosystem: "pip" # See documentation for possible values - directory: "/docs/sphinx" # Location of package manifests - open-pull-requests-limit: 10 - schedule: - interval: "daily" - versioning-strategy: increase diff --git a/projects/rocprofiler-sdk/.github/palamida.yml b/projects/rocprofiler-sdk/.github/palamida.yml deleted file mode 100644 index 47bd57a5ab..0000000000 --- a/projects/rocprofiler-sdk/.github/palamida.yml +++ /dev/null @@ -1,5 +0,0 @@ -disabled: false -scmId: gh-emu-rocm -branchesToScan: - - amd-staging - - amd-mainline \ No newline at end of file diff --git a/projects/rocprofiler-sdk/.github/pull_request_template.md b/projects/rocprofiler-sdk/.github/pull_request_template.md deleted file mode 100644 index e9024f78ed..0000000000 --- a/projects/rocprofiler-sdk/.github/pull_request_template.md +++ /dev/null @@ -1,36 +0,0 @@ - -# PR Details - -## Associated Jira Ticket Number/Link - -## What type of PR is this? (check all applicable) - -- [ ] Refactor -- [ ] Feature -- [ ] Bug Fix -- [ ] Optimization -- [ ] Documentation Update -- [ ] Continuous Integration - -## Technical details - - - -## Added/updated tests? - - - -- [ ] Yes -- [ ] No, Does not apply to this PR. - -## Updated CHANGELOG? - - - -- [ ] Yes -- [ ] No, Does not apply to this PR. - -## Added/Updated documentation? - -- [ ] Yes -- [ ] No, Does not apply to this PR. diff --git a/projects/rocprofiler-sdk/.github/workflows/code_coverage.yml b/projects/rocprofiler-sdk/.github/workflows/code_coverage.yml deleted file mode 100644 index 2e8c20bf95..0000000000 --- a/projects/rocprofiler-sdk/.github/workflows/code_coverage.yml +++ /dev/null @@ -1,332 +0,0 @@ -name: Code Coverage - -permissions: - contents: read - pull-requests: write - -on: - workflow_dispatch: - push: - branches: [ amd-staging, amd-mainline ] - paths-ignore: - - '*.md' - - '**/README.md' - - 'source/docs/**' - - 'CODEOWNERS' - pull_request: - paths-ignore: - - '*.md' - - '**/README.md' - - 'source/docs/**' - - 'CODEOWNERS' - -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 gfx950 gfx1030 gfx1100 gfx1101 gfx1102 gfx1201" - PATH: "/usr/bin:$PATH" - ## No tests should be excluded here except for extreme emergencies; tests should only be disabled in CMake - ## A task should be assigned directly to fix the issue - ## Scratch memory tests need to be fixed for ROCm 7.0 release - navi3_EXCLUDE_TESTS_REGEX: "" - vega20_EXCLUDE_TESTS_REGEX: "" - mi200_EXCLUDE_TESTS_REGEX: "" - mi300_EXCLUDE_TESTS_REGEX: "" - mi300a_EXCLUDE_TESTS_REGEX: "" - mi325_EXCLUDE_TESTS_REGEX: "" - mi3xx_EXCLUDE_TESTS_REGEX: "" - navi4_EXCLUDE_TESTS_REGEX: "" - navi3_EXCLUDE_LABEL_REGEX: "" - vega20_EXCLUDE_LABEL_REGEX: "" - mi200_EXCLUDE_LABEL_REGEX: "" - mi300_EXCLUDE_LABEL_REGEX: "" - mi300a_EXCLUDE_LABEL_REGEX: "" - mi325_EXCLUDE_LABEL_REGEX: "" - mi3xx_EXCLUDE_LABEL_REGEX: "" - navi4_EXCLUDE_LABEL_REGEX: "" - GLOBAL_CMAKE_OPTIONS: "" - -jobs: - code-coverage: - if: ${{ contains(github.event_name, 'pull_request') }} - strategy: - # fail-fast: false - matrix: - runner: ['mi300x'] - os: ['ubuntu-22.04'] - build-type: ['Release'] - - runs-on: rocprof-ubuntu-22 - - # define this for containers - env: - GIT_DISCOVERY_ACROSS_FILESYSTEM: 1 - GCC_COMPILER_VERSION: 11 - ROCPROFILER_PC_SAMPLING_BETA_ENABLED: 1 - - steps: - - uses: actions/checkout@v4 - with: - submodules: true - - - name: Load Existing XML Code Coverage - if: github.event_name == 'pull_request' - id: load-coverage - uses: actions/cache@v4 - with: - key: ${{ github.event.pull_request.base.sha }}-codecov - path: .codecov/** - - - name: Copy Existing XML Code Coverage - if: github.event_name == 'pull_request' - shell: bash - run: | - if [ -d .codecov ]; then cp -r .codecov .codecov.ref; fi - - - name: Configure Env - shell: bash - run: | - echo "${PATH}:/usr/local/bin:${HOME}/.local/bin" >> $GITHUB_PATH - echo "LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib:${HOME}/.local/lib" >> $GITHUB_ENV - - - name: Install requirements - timeout-minutes: 10 - shell: bash - run: | - git config --global --add safe.directory '*' - apt-get update - apt-get install -y build-essential cmake python3-pip gcovr wkhtmltopdf xvfb xfonts-base xfonts-75dpi xfonts-100dpi xfonts-utils xfonts-encodings libfontconfig libdw-dev libsqlite3-dev - python3 -m pip install -U --user -r requirements.txt - rm -rf /opt/rocm/lib/*rocprofiler-sdk* /opt/rocm/lib/cmake/*rocprofiler-sdk* /opt/rocm/share/*rocprofiler-sdk* /opt/rocm/libexec/*rocprofiler-sdk* - - - name: Sync gcov with compilers - timeout-minutes: 10 - shell: bash - run: - apt-get install -y gcc-${{ env.GCC_COMPILER_VERSION }} g++-${{ env.GCC_COMPILER_VERSION }} && - update-alternatives - --install /usr/bin/gcc gcc /usr/bin/gcc-${{ env.GCC_COMPILER_VERSION }} 500 - --slave /usr/bin/g++ g++ /usr/bin/g++-${{ env.GCC_COMPILER_VERSION }} - --slave /usr/bin/gcov gcov /usr/bin/gcov-${{ env.GCC_COMPILER_VERSION }} - - - name: List Files - shell: bash - run: | - echo "PATH: ${PATH}" - echo "LD_LIBRARY_PATH: ${LD_LIBRARY_PATH}" - which-realpath() { echo -e "\n$1 resolves to $(realpath $(which $1))"; echo "$($(which $1) --version &> /dev/stdout | head -n 1)"; } - for i in python3 git cmake ctest gcc g++ gcov; do which-realpath $i; done - cat /opt/rocm/.info/version - ls -la - - - name: Enable PC Sampling - if: ${{ contains(matrix.runner, 'mi200') || contains(matrix.runner, 'mi300a') }} - shell: bash - run: | - echo 'ROCPROFILER_PC_SAMPLING_BETA_ENABLED=1' >> $GITHUB_ENV - - - name: Configure, Build, and Test (Total Code Coverage) - timeout-minutes: 30 - shell: bash - run: - python3 ./source/scripts/run-ci.py -B build - --name ${{ github.repository }}-${{ github.ref_name }}-${{ matrix.os }}-${{ matrix.runner }}-codecov - --build-jobs 16 - --site ${RUNNER_HOSTNAME} - --gpu-targets ${{ env.GPU_TARGETS }} - --coverage all - --run-attempt ${{ github.run_attempt }} - -- - -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} - -DPython3_EXECUTABLE=$(which python3) - ${{ env.GLOBAL_CMAKE_OPTIONS }} - -- - -LE "${${{ matrix.runner }}_EXCLUDE_LABEL_REGEX}" - -E "${${{ matrix.runner }}_EXCLUDE_TESTS_REGEX}" - - - name: Configure, Build, and Test (Tests Code Coverage) - timeout-minutes: 30 - shell: bash - run: - find build -type f | egrep '\.gcda$' | xargs rm && - python3 ./source/scripts/run-ci.py -B build - --name ${{ github.repository }}-${{ github.ref_name }}-${{ matrix.os }}-${{ matrix.runner }}-codecov-tests - --build-jobs 16 - --site ${RUNNER_HOSTNAME} - --gpu-targets ${{ env.GPU_TARGETS }} - --coverage tests - --run-attempt ${{ github.run_attempt }} - -- - -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} - -DPython3_EXECUTABLE=$(which python3) - ${{ env.GLOBAL_CMAKE_OPTIONS }} - -- - -LE "${${{ matrix.runner }}_EXCLUDE_LABEL_REGEX}" - -E "${${{ matrix.runner }}_EXCLUDE_TESTS_REGEX}" - - - name: Configure, Build, and Test (Samples Code Coverage) - timeout-minutes: 30 - shell: bash - run: - find build -type f | egrep '\.gcda$' | xargs rm && - python3 ./source/scripts/run-ci.py -B build - --name ${{ github.repository }}-${{ github.ref_name }}-${{ matrix.os }}-${{ matrix.runner }}-codecov-samples - --build-jobs 16 - --site ${RUNNER_HOSTNAME} - --gpu-targets ${{ env.GPU_TARGETS }} - --coverage samples - --run-attempt ${{ github.run_attempt }} - -- - -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} - -DPython3_EXECUTABLE=$(which python3) - ${{ env.GLOBAL_CMAKE_OPTIONS }} - -- - -LE "${${{ matrix.runner }}_EXCLUDE_LABEL_REGEX}" - -E "${${{ matrix.runner }}_EXCLUDE_TESTS_REGEX}" - - - name: Save XML Code Coverage - id: save-coverage - uses: actions/cache/save@v4 - with: - key: ${{ github.sha }}-codecov - path: | - .codecov/*.xml - - - id: generatereport - name: Generate Code Coverage Comment - if: github.event_name == 'pull_request' - timeout-minutes: 5 - shell: bash - run: | - echo "PWD: ${PWD}" - ls -la - - for i in "all" "tests" "samples"; do - wkhtmltoimage --enable-local-file-access --quality 70 .codecov/${i}.html .codecov/${i}.png - done - ls -la .codecov - which -a git - git --version - - ./source/scripts/upload-image-to-github.py --bot --token ${{ secrets.TOKEN }} --files .codecov/{all,tests,samples}.png --output-dir .codecov --name pr-${{ github.event.pull_request.number }} - - echo -e "\n${PWD}:" - ls -la . - - echo -e "\n.codecov:" - ls -la .codecov - - get-base-md-contents() { cat .codecov/${1}.png.md; } - get-full-md-contents() { cat .codecov/${1}.png.md .codecov/${1}.md; } - cat << EOF > .codecov/report.md - # Code Coverage Report - - ## Tests Only - $(get-base-md-contents tests) - - ## Samples Only - $(get-base-md-contents samples) - - ## Tests + Samples - $(get-base-md-contents all) - - - EOF - - echo 'CODECOVERAGE_REPORT< $GITHUB_OUTPUT - cat .codecov/report.md >> $GITHUB_OUTPUT - echo 'EOF' >> $GITHUB_OUTPUT - - - name: Write Code Coverage Comment - if: github.event_name == 'pull_request' - timeout-minutes: 5 - uses: actions/github-script@v6 - env: - COMMENT_BODY: | -
-

Code Coverage Report

- - - ${{ steps.generatereport.outputs.CODECOVERAGE_REPORT }} -
- with: - github-token: ${{ secrets.TOKEN }} - script: | - const commentIdentifier = ''; // Used to identify codecov comment - const commentBody = process.env.COMMENT_BODY; - - // Fetch existing comments - const { data: comments } = await github.rest.issues.listComments({ - owner: context.repo.owner, - repo: context.repo.repo, - issue_number: context.payload.pull_request.number, - }); - - // Check for an existing comment - const existingComment = comments.find(comment => comment.body.includes(commentIdentifier)); - - if (existingComment) { - // Update the existing comment - await github.rest.issues.updateComment({ - owner: context.repo.owner, - repo: context.repo.repo, - comment_id: existingComment.id, - body: commentBody, - }); - core.info(`Updated comment with ID: ${existingComment.id}`); - } else { - // Create a new comment - await github.rest.issues.createComment({ - owner: context.repo.owner, - repo: context.repo.repo, - issue_number: context.payload.pull_request.number, - body: commentBody, - }); - core.info('Created a new comment.'); - } - - - name: Archive Code Coverage Data - if: ${{ github.event_name == 'workflow_dispatch' }} - uses: actions/upload-artifact@v4 - with: - name: code-coverage-details - path: | - ${{github.workspace}}/.codecov/* - - - name: Verify Test Labels - timeout-minutes: 5 - shell: bash - run: | - pushd build - # - # if following fails, there is a test that does not have - # a label identifying it as sample or test (unit or integration). - # Recommended labels are: - # - samples - # - unittests - # - integration-tests - # - ctest -N -LE 'samples|tests' -E "${${{ matrix.runner }}_EXCLUDE_TESTS_REGEX}" -O ctest.mislabeled.log - grep 'Total Tests: 0' ctest.mislabeled.log - # - # if following fails, then there is overlap between the labels. - # A test cannot both be a sample and (unit/integration) test. - # - ctest -N -O ctest.all.log - ctest -N -O ctest.samples.log -L samples - ctest -N -O ctest.tests.log -L tests - NUM_ALL=$(grep 'Total Tests:' ctest.all.log | awk '{print $NF}') - NUM_SAMPLE=$(grep 'Total Tests:' ctest.samples.log | awk '{print $NF}') - NUM_TEST=$(grep 'Total Tests:' ctest.tests.log | awk '{print $NF}') - NUM_SUM=$((${NUM_SAMPLE} + ${NUM_TEST})) - echo "Total tests: ${NUM_ALL}" - echo "Total labeled tests: ${NUM_SUM}" - if [ ${NUM_ALL} != ${NUM_SUM} ]; then - echo "Test label overlap" - exit 1 - fi - popd diff --git a/projects/rocprofiler-sdk/.github/workflows/codeql.yml b/projects/rocprofiler-sdk/.github/workflows/codeql.yml deleted file mode 100644 index 04ebddb155..0000000000 --- a/projects/rocprofiler-sdk/.github/workflows/codeql.yml +++ /dev/null @@ -1,100 +0,0 @@ -name: "CodeQL Advanced Analysis" - -on: - workflow_dispatch: - pull_request: - branches: - - amd-staging - paths-ignore: - - '*.md' - - 'source/docs/**' - - 'CODEOWNERS' - - push: - branches: - - amd-staging - paths-ignore: - - '*.md' - - 'source/docs/**' - - 'CODEOWNERS' - -env: - ROCM_PATH: "/opt/rocm" - GPU_TARGETS: "gfx900;gfx906;gfx908;gfx90a;gfx940;gfx941;gfx942;gfx950;gfx1030;gfx1100;gfx1101;gfx1102;gfx1201" - PATH: "/usr/bin:$PATH" - EXCLUDED_PATHS: "external /tmp/build/external" - GLOBAL_CMAKE_OPTIONS: "-DROCPROFILER_INTERNAL_RCCL_API_TRACE=ON" - -jobs: - analyze: - name: Analyze (${{ matrix.language }}) - # Runner size impacts CodeQL analysis time. To learn more, please see: - # - https://gh.io/recommended-hardware-resources-for-running-codeql - # - https://gh.io/supported-runners-and-hardware-resources - # - https://gh.io/using-larger-runners (GitHub.com only) - # Consider using larger runners or machines with greater resources for possible analysis time improvements. - runs-on: AMD-ROCm-Internal-dev1 - - container: rocm/dev-ubuntu-22.04:latest - permissions: - # required for all workflows - security-events: write - - # required to fetch internal or private CodeQL packs - packages: read - - # only required for workflows in private repositories - actions: read - contents: read - - strategy: - fail-fast: false - matrix: - include: - - language: cpp - build-mode: manual - - language: python - build-mode: none - - language : actions - build-mode: none - steps: - - name: Install requirements - timeout-minutes: 10 - shell: bash - env: - DEBIAN_FRONTEND: noninteractive - run: | - sudo apt update - sudo apt install -y software-properties-common - sudo apt-add-repository ppa:git-core/ppa - sudo apt-get update - sudo apt-get install -y git build-essential cmake g++-11 g++-12 python3-pip libdw-dev libsqlite3-dev rccl-dev rocdecode-dev rocjpeg-dev - git config --global --add safe.directory '*' - sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 10 --slave /usr/bin/g++ g++ /usr/bin/g++-11 --slave /usr/bin/gcov gcov /usr/bin/gcov-11 - sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 20 --slave /usr/bin/g++ g++ /usr/bin/g++-12 --slave /usr/bin/gcov gcov /usr/bin/gcov-12 - - - uses: actions/checkout@v4 - with: - submodules: 'true' - - # Initializes the CodeQL tools for scanning. - - name: Initialize CodeQL - uses: github/codeql-action/init@v3 - with: - languages: ${{ matrix.language }} - build-mode: ${{ matrix.build-mode }} - queries: security-extended - - - name: Configure and Build - timeout-minutes: 30 - shell: bash - run: | - python3 -m pip install -r requirements.txt - cmake -B /tmp/build -DCMAKE_PREFIX_PATH=/opt/rocm ${{ env.GLOBAL_CMAKE_OPTIONS }} -DPython3_EXECUTABLE=$(which python3) . - cmake --build /tmp/build --target all --parallel 16 - rm -rf ${EXCLUDED_PATHS} - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v3 - with: - category: "/language:${{matrix.language}}" diff --git a/projects/rocprofiler-sdk/.github/workflows/continuous_integration.yml b/projects/rocprofiler-sdk/.github/workflows/continuous_integration.yml deleted file mode 100644 index 06fd44a510..0000000000 --- a/projects/rocprofiler-sdk/.github/workflows/continuous_integration.yml +++ /dev/null @@ -1,328 +0,0 @@ -name: Continuous Integration - -on: - workflow_dispatch: - push: - branches: [ amd-staging, amd-mainline ] - paths-ignore: - - '*.md' - - '**/README.md' - - 'source/docs/**' - - 'CODEOWNERS' - pull_request: - paths-ignore: - - '*.md' - - '**/README.md' - - 'source/docs/**' - - 'CODEOWNERS' - -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 gfx950 gfx1030 gfx1100 gfx1101 gfx1102 gfx1201" - PATH: "/usr/bin:$PATH" - ## No tests should be excluded here except for extreme emergencies; tests should only be disabled in CMake - ## A task should be assigned directly to fix the issue - ## Scratch memory tests need to be fixed for ROCm 7.0 release - navi3_EXCLUDE_TESTS_REGEX: "" - vega20_EXCLUDE_TESTS_REGEX: "" - mi200_EXCLUDE_TESTS_REGEX: "" - mi300_EXCLUDE_TESTS_REGEX: "" - mi300a_EXCLUDE_TESTS_REGEX: "" - mi325_EXCLUDE_TESTS_REGEX: "" - mi3xx_EXCLUDE_TESTS_REGEX: "" - navi4_EXCLUDE_TESTS_REGEX: "" - navi3_EXCLUDE_LABEL_REGEX: "" - vega20_EXCLUDE_LABEL_REGEX: "" - mi200_EXCLUDE_LABEL_REGEX: "" - mi300_EXCLUDE_LABEL_REGEX: "" - mi300a_EXCLUDE_LABEL_REGEX: "" - mi325_EXCLUDE_LABEL_REGEX: "" - mi3xx_EXCLUDE_LABEL_REGEX: "" - navi4_EXCLUDE_LABEL_REGEX: "" - GLOBAL_CMAKE_OPTIONS: "" - -jobs: - core-deb: - # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix - strategy: - fail-fast: false - matrix: - system: [ - {gpu: 'navi3', runner: 'navi3-emu-runner-set', os: 'ubuntu-22.04', build-type: 'RelWithDebInfo', ci-flags: '--linter clang-tidy'}, - {gpu: 'navi4', runner: 'navi4-emu-runner-set', os: 'ubuntu-22.04', build-type: 'RelWithDebInfo', ci-flags: '--linter clang-tidy'}, - {gpu: 'mi3xx', runner: 'rocprof-ubuntu-22', os: 'ubuntu-22.04', build-type: 'RelWithDebInfo', ci-flags: '--linter clang-tidy'} - ] - - runs-on: ${{ matrix.system.runner }} - - # define this for containers - env: - GIT_DISCOVERY_ACROSS_FILESYSTEM: 1 - CORE_EXT_RUNNER: mi3xx - - steps: - - uses: actions/checkout@v4 - - - name: Install requirements - timeout-minutes: 10 - shell: bash - run: | - git config --global --add safe.directory '*' - apt-get update - apt-get install -y build-essential cmake g++-11 g++-12 python3-pip libdw-dev libsqlite3-dev rccl-dev rccl-unittests rocjpeg-dev rocjpeg-test rocdecode-dev rocdecode-test - update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 10 --slave /usr/bin/g++ g++ /usr/bin/g++-11 --slave /usr/bin/gcov gcov /usr/bin/gcov-11 - update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 20 --slave /usr/bin/g++ g++ /usr/bin/g++-12 --slave /usr/bin/gcov gcov /usr/bin/gcov-12 - python3 -m pip install -U --user -r requirements.txt - rm -rf /opt/rocm/lib/*rocprofiler-sdk* /opt/rocm/lib/cmake/*rocprofiler-sdk* /opt/rocm/share/*rocprofiler-sdk* /opt/rocm/libexec/*rocprofiler-sdk* /opt/rocm*/lib/python*/site-packages/roctx /opt/rocm*/lib/python*/site-packages/rocpd - - - name: List Files - shell: bash - run: | - echo "PATH: ${PATH}" - echo "LD_LIBRARY_PATH: ${LD_LIBRARY_PATH}" - which-realpath() { echo -e "\n$1 resolves to $(realpath $(which $1))"; echo "$($(which $1) --version &> /dev/stdout | head -n 1)"; } - for i in python3 git cmake ctest gcc g++ gcov; do which-realpath $i; done - cat /opt/rocm/.info/version - ls -la - - - name: Enable PC Sampling - if: ${{ contains(matrix.system.gpu, 'mi200') || contains(matrix.system.gpu, 'mi300a') }} - shell: bash - run: | - echo 'ROCPROFILER_PC_SAMPLING_BETA_ENABLED=1' >> $GITHUB_ENV - - - name: Configure, Build, and Test - timeout-minutes: 30 - shell: bash - run: - python3 ./source/scripts/run-ci.py -B build - --name ${{ github.repository }}-${{ github.ref_name }}-${{ matrix.system.os }}-${{ matrix.system.gpu }}-core - --build-jobs 16 - --site ${RUNNER_HOSTNAME} - --gpu-targets ${{ env.GPU_TARGETS }} - --run-attempt ${{ github.run_attempt }} - ${{ matrix.system.ci-flags }} - -- - -DROCPROFILER_DEP_ROCMCORE=ON - -DROCPROFILER_BUILD_DOCS=OFF - -DCMAKE_BUILD_TYPE=${{ matrix.system.build-type }} - -DCMAKE_INSTALL_PREFIX=/opt/rocprofiler-sdk - -DCPACK_GENERATOR='DEB;RPM;TGZ' - -DCPACK_PACKAGING_INSTALL_PREFIX="$(realpath /opt/rocm)" - -DPython3_EXECUTABLE=$(which python3) - ${{ env.GLOBAL_CMAKE_OPTIONS }} - -- - -LE "${${{ matrix.system.gpu }}_EXCLUDE_LABEL_REGEX}" - -E "${${{ matrix.system.gpu }}_EXCLUDE_TESTS_REGEX}" - - - name: Install - if: ${{ contains(matrix.system.gpu, env.CORE_EXT_RUNNER) }} - timeout-minutes: 10 - run: - cmake --build build --target install --parallel 16 - - - name: Build Packaging - if: ${{ contains(matrix.system.gpu, env.CORE_EXT_RUNNER) }} - timeout-minutes: 10 - run: - cmake --build build --target package --parallel 16 - - - name: Test Install Build - if: ${{ contains(matrix.system.gpu, env.CORE_EXT_RUNNER) }} - timeout-minutes: 20 - shell: bash - run: | - CMAKE_PREFIX_PATH=/opt/rocprofiler-sdk cmake -B build-samples samples - CMAKE_PREFIX_PATH=/opt/rocprofiler-sdk cmake -B build-tests -DGPU_TARGETS="gfx942" tests - export LD_LIBRARY_PATH=/opt/rocprofiler-sdk/lib:${LD_LIBRARY_PATH} - cmake --build build-samples --target all --parallel 16 - cmake --build build-tests --target all --parallel 16 - ctest --test-dir build-samples -LE "${${{ matrix.system.gpu }}_EXCLUDE_LABEL_REGEX}" -E "${${{ matrix.system.gpu }}_EXCLUDE_TESTS_REGEX}" --output-on-failure - ctest --test-dir build-tests -LE "${${{ matrix.system.gpu }}_EXCLUDE_LABEL_REGEX}" -E "${${{ matrix.system.gpu }}_EXCLUDE_TESTS_REGEX}" --output-on-failure - - - name: Install Packages - if: ${{ contains(matrix.system.gpu, env.CORE_EXT_RUNNER) }} - timeout-minutes: 5 - shell: bash - run: | - export PATH=${PATH}:/usr/local/sbin:/usr/sbin:/sbin - ls -la - ls -la ./build - dpkg --force-all -i ./build/rocprofiler-sdk-roctx_*.deb - dpkg --force-all -i ./build/rocprofiler-sdk-rocpd_*.deb - for i in $(ls -S ./build/rocprofiler-sdk*.deb | egrep -v 'roctx|rocpd'); do dpkg --force-all -i ${i}; done; - - - name: Test Installed Packages - if: ${{ contains(matrix.system.gpu, env.CORE_EXT_RUNNER) }} - timeout-minutes: 20 - shell: bash - run: | - CMAKE_PREFIX_PATH=/opt/rocm cmake -B build-samples-deb /opt/rocm/share/rocprofiler-sdk/samples - CMAKE_PREFIX_PATH=/opt/rocm cmake -B build-tests-deb -DGPU_TARGETS="gfx942" /opt/rocm/share/rocprofiler-sdk/tests - cmake --build build-samples-deb --target all --parallel 16 - cmake --build build-tests-deb --target all --parallel 16 - ctest --test-dir build-samples-deb -LE "${${{ matrix.system.gpu }}_EXCLUDE_LABEL_REGEX}" -E "${${{ matrix.system.gpu }}_EXCLUDE_TESTS_REGEX}" --output-on-failure - ctest --test-dir build-tests-deb -LE "${${{ matrix.system.gpu }}_EXCLUDE_LABEL_REGEX}" -E "${${{ matrix.system.gpu }}_EXCLUDE_TESTS_REGEX}" --output-on-failure - - - name: Archive production artifacts - if: ${{ github.event_name == 'workflow_dispatch' && contains(matrix.system.gpu, env.CORE_EXT_RUNNER) }} - uses: actions/upload-artifact@v4 - with: - name: installers-deb - path: | - ${{github.workspace}}/build/*.deb - ${{github.workspace}}/build/*.rpm - ${{github.workspace}}/build/*.tgz - - core-rpm: - # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix - strategy: - fail-fast: false - matrix: - runner: ['mi300'] - os: ['rhel-8', 'sles-15'] - build-type: ['RelWithDebInfo'] - ci-flags: [''] - - runs-on: rocprof-${{ matrix.os }} - - # define this for containers - env: - GIT_DISCOVERY_ACROSS_FILESYSTEM: 1 - OS_TYPE: ${{ matrix.os }} - - steps: - - uses: actions/checkout@v4 - - - name: Install requirements - timeout-minutes: 10 - shell: bash - run: | - git config --global --add safe.directory '*' - if [ "${OS_TYPE}" == "rhel-8" ]; then - dnf makecache - dnf groupinstall -y "Development Tools" - dnf remove -y gcc-c++ - dnf install -y gcc-toolset-11-gcc-c++ llvm14-devel - source scl_source enable gcc-toolset-11 - fi - python3 -m pip install --upgrade pip - python3 -m pip install -U --user -r requirements.txt - rm -rf /opt/rocm/lib/*rocprofiler-sdk* /opt/rocm/lib/cmake/*rocprofiler-sdk* /opt/rocm/share/*rocprofiler-sdk* /opt/rocm/libexec/*rocprofiler-sdk* - - - name: List Files - shell: bash - run: | - if [ "${OS_TYPE}" == "rhel-8" ]; then - source scl_source enable gcc-toolset-11; - fi; - echo "PATH: ${PATH}" - echo "LD_LIBRARY_PATH: ${LD_LIBRARY_PATH}" - which-realpath() { echo -e "\n$1 resolves to $(realpath $(which $1))"; echo "$($(which $1) --version &> /dev/stdout | head -n 1)"; } - for i in python3 git cmake ctest gcc g++ gcov; do which-realpath $i; done - cat /opt/rocm/.info/version - ls -la - - - name: Enable PC Sampling - if: ${{ contains(matrix.runner, 'mi200') || contains(matrix.runner, 'mi300a') }} - shell: bash - run: | - echo 'ROCPROFILER_PC_SAMPLING_BETA_ENABLED=1' >> $GITHUB_ENV - - - name: Configure, Build, and Test - timeout-minutes: 30 - shell: bash - run: - if [ "${OS_TYPE}" == "rhel-8" ]; then - source scl_source enable gcc-toolset-11; - fi; - /usr/bin/python3 ./source/scripts/run-ci.py -B build - --name ${{ github.repository }}-${{ github.ref_name }}-${{ matrix.os }}-${{ matrix.runner }}-core - --build-jobs 16 - --site ${RUNNER_HOSTNAME} - --gpu-targets ${{ env.GPU_TARGETS }} - --run-attempt ${{ github.run_attempt }} - ${{ matrix.ci-flags }} - -- - -DROCPROFILER_DEP_ROCMCORE=ON - -DROCPROFILER_BUILD_DOCS=OFF - -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} - -DPython3_EXECUTABLE=$(which python3) - ${{ env.GLOBAL_CMAKE_OPTIONS }} - -- - -LE "${${{ matrix.runner }}_EXCLUDE_LABEL_REGEX}" - -E "${${{ matrix.runner }}_EXCLUDE_TESTS_REGEX}" - - sanitizers: - strategy: - fail-fast: false - matrix: - runner: ['mi3xx'] - sanitizer: ['AddressSanitizer', 'ThreadSanitizer', 'LeakSanitizer', 'UndefinedBehaviorSanitizer'] - os: ['ubuntu-22.04'] - build-type: ['RelWithDebInfo'] - - if: ${{ contains(github.event_name, 'pull_request') }} - runs-on: ${{ matrix.runner == 'mi3xx' && 'rocprof-ubuntu-22' || matrix.runner }} - - # define this for containers - env: - GIT_DISCOVERY_ACROSS_FILESYSTEM: 1 - GCC_COMPILER_VERSION: 13 - - steps: - - uses: actions/checkout@v4 - - - name: Install requirements - timeout-minutes: 10 - shell: bash - run: | - git config --global --add safe.directory '*' - apt-get update - apt-get install -y build-essential cmake python3-pip libasan8 libtsan2 software-properties-common clang-15 libdw-dev libsqlite3-dev - add-apt-repository ppa:ubuntu-toolchain-r/test - apt-get update - apt-get upgrade -y - apt-get install -y gcc-${{ env.GCC_COMPILER_VERSION }} g++-${{ env.GCC_COMPILER_VERSION }} - update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${{ env.GCC_COMPILER_VERSION }} 100 --slave /usr/bin/g++ g++ /usr/bin/g++-${{ env.GCC_COMPILER_VERSION }} --slave /usr/bin/gcov gcov /usr/bin/gcov-${{ env.GCC_COMPILER_VERSION }} - python3 -m pip install -U --user -r requirements.txt - rm -rf /opt/rocm/lib/*rocprofiler-sdk* /opt/rocm/lib/cmake/*rocprofiler-sdk* /opt/rocm/share/*rocprofiler-sdk* /opt/rocm/libexec/*rocprofiler-sdk* - - - 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 python3 git cmake ctest gcc g++ gcov; do which-realpath $i; done - cat /opt/rocm/.info/version - ls -la - - - name: Enable PC Sampling - if: ${{ contains(matrix.runner, 'mi200') || contains(matrix.runner, 'mi300a') }} - shell: bash - run: | - echo 'ROCPROFILER_PC_SAMPLING_BETA_ENABLED=1' >> $GITHUB_ENV - - - name: Configure, Build, and Test - timeout-minutes: 45 - shell: bash - run: - python3 ./source/scripts/run-ci.py -B build - --name ${{ github.repository }}-${{ github.ref_name }}-${{ matrix.os }}-${{ matrix.runner }}-${{ matrix.sanitizer }} - --build-jobs 16 - --site ${RUNNER_HOSTNAME} - --gpu-targets ${{ env.GPU_TARGETS }} - --memcheck ${{ matrix.sanitizer }} - --run-attempt ${{ github.run_attempt }} - -- - -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} - -DCMAKE_INSTALL_PREFIX="${{ env.ROCM_PATH }}" - -DPython3_EXECUTABLE=$(which python3) - ${{ env.GLOBAL_CMAKE_OPTIONS }} - -- - -LE "${${{ matrix.runner }}_EXCLUDE_LABEL_REGEX}" - -E "${${{ matrix.runner }}_EXCLUDE_TESTS_REGEX}" diff --git a/projects/rocprofiler-sdk/.github/workflows/docs.yml b/projects/rocprofiler-sdk/.github/workflows/docs.yml deleted file mode 100644 index 760f9a1404..0000000000 --- a/projects/rocprofiler-sdk/.github/workflows/docs.yml +++ /dev/null @@ -1,137 +0,0 @@ -name: Documentation - -on: - workflow_dispatch: - push: - branches: [ amd-staging, amd-mainline ] - paths: - - '*.md' - - 'VERSION' - - 'source/docs/**' - - 'source/scripts/update-docs.sh' - - 'source/include/rocprofiler-sdk/**' - - '.github/workflows/docs.yml' - pull_request: - paths: - - '*.md' - - 'VERSION' - - 'source/docs/**' - - 'source/scripts/update-docs.sh' - - 'source/include/rocprofiler-sdk/**' - - '.github/workflows/docs.yml' - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -env: - GIT_DISCOVERY_ACROSS_FILESYSTEM: 1 - -jobs: - build-docs: - runs-on: AMD-ROCm-Internal-dev1 - container: continuumio/miniconda3 - permissions: - contents: read - pages: write - id-token: write - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - submodules: true - - name: Setup Pages - uses: actions/configure-pages@v5 - - name: Create Docs Directory - run: | - git config --global --add safe.directory '*' - mkdir -p docs/_doxygen/rocprofiler-sdk - mkdir -p docs/_doxygen/roctx - - name: Install documentation dependencies - timeout-minutes: 10 - shell: bash - run: | - apt-get update - apt-get install -y doxygen graphviz build-essential cmake - - name: Build Docs - shell: bash -el {0} - working-directory: source/docs - run: | - conda init - conda env create -n rocprofiler-docs -f environment.yml - conda activate rocprofiler-docs - python3 -m pip install sphinx - python3 -m pip install doxysphinx rocm-docs-core - git config --global --add safe.directory '*' - ../scripts/update-docs.sh - - name: Upload artifact - if: ${{ github.event_name == 'workflow_dispatch' }} - uses: actions/upload-pages-artifact@v3 - with: - path: ./docs - - deploy-docs: - if: github.ref == 'refs/heads/amd-mainline' - runs-on: AMD-ROCm-Internal-dev1 - needs: build-docs - permissions: - contents: read - pages: write - id-token: write - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - steps: - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v4 - - build-docs-from-source: - runs-on: AMD-ROCm-Internal-dev1 - container: rocm/dev-ubuntu-22.04:latest - steps: - - name: Install os essentials - timeout-minutes: 10 - shell: bash - run: | - sudo apt update - sudo apt install -y software-properties-common - sudo apt-add-repository ppa:git-core/ppa - sudo apt-get update - sudo apt-get install -y git - - name: Checkout - uses: actions/checkout@v4 - with: - submodules: true - - name: Create Docs Directory - run: | - git config --global --add safe.directory '*' - mkdir -p source/docs/_doxygen/rocprofiler-sdk - mkdir -p source/docs/_doxygen/roctx - - name: Install requirements - timeout-minutes: 10 - shell: bash - run: | - git config --global --add safe.directory '*' - sudo apt-get update - sudo apt-get install -y cmake gcc g++ libdw-dev libsqlite3-dev rpm - python3 -m pip install -r requirements.txt - - - name: Configure, Build, Install, and Package - timeout-minutes: 60 - shell: bash - run: - git config --global --add safe.directory '*'; - export CMAKE_PREFIX_PATH=/opt/rocm:${CMAKE_PREFIX_PATH}; - cmake -B build - -DROCPROFILER_DEP_ROCMCORE=ON - -DROCPROFILER_BUILD_DOCS=ON - -DCMAKE_INSTALL_PREFIX=/opt/rocprofiler-sdk - -DCPACK_GENERATOR='DEB;RPM;TGZ' - -DCPACK_PACKAGING_INSTALL_PREFIX="$(realpath /opt/rocm)" - -DPython3_EXECUTABLE=$(which python3) - .; - cmake --build build --target docs --parallel 4; - cmake --build build --target all --parallel 12; - sudo cmake --build build --target install --parallel 12; - cmake --build build --target package --parallel 12 diff --git a/projects/rocprofiler-sdk/.github/workflows/formatting.yml b/projects/rocprofiler-sdk/.github/workflows/formatting.yml deleted file mode 100644 index bf78b9c4ad..0000000000 --- a/projects/rocprofiler-sdk/.github/workflows/formatting.yml +++ /dev/null @@ -1,143 +0,0 @@ - -name: Formatting - -on: - workflow_dispatch: - pull_request: - paths-ignore: - - '.github/workflows/pull_*.yml' - - '.github/workflows/linting.yml' - - '.github/workflows/markdown_lint.yml' - - '*.md' - - '**/README.md' - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -jobs: - cmake: - runs-on: AMD-ROCm-Internal-dev1 - env: - ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - steps: - - uses: actions/checkout@v4 - - - name: Extract branch name - shell: bash - run: | - echo "branch=${GITHUB_HEAD_REF:-${GITHUB_HEAD_REF#refs/heads/}}" >> $GITHUB_OUTPUT - id: extract_branch - - - name: Install dependencies - run: | - sudo apt-get update - sudo apt-get install -y python3-pip - python3 -m pip install -U cmake-format - - - name: Run cmake-format - run: | - set +e - cmake-format -i $(find . -type f | egrep 'CMakeLists.txt|\.cmake$') - if [ $(git diff | wc -l) -ne 0 ]; then - echo -e "\nError! CMake code not formatted. Run cmake-format...\n" - echo -e "\nFiles:\n" - git diff --name-only - echo -e "\nFull diff:\n" - git diff - exit 1 - fi - - source: - runs-on: AMD-ROCm-Internal-dev1 - container: rocm/dev-ubuntu-22.04:latest - env: - ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - steps: - - uses: actions/checkout@v4 - - - name: Install dependencies - run: | - DISTRIB_CODENAME=$(cat /etc/lsb-release | grep DISTRIB_CODENAME | awk -F '=' '{print $NF}') - sudo apt-get update - sudo apt-get install -y software-properties-common python3 python3-pip build-essential - sudo apt install -y wget curl clang-format-11 - - - name: Extract branch name - shell: bash - run: | - echo "branch=${GITHUB_HEAD_REF:-${GITHUB_HEAD_REF#refs/heads/}}" >> $GITHUB_OUTPUT - id: extract_branch - - - name: Run clang-format - run: | - set +e - FILES=$(find samples source tests benchmark -type f | egrep '\.(h|hpp|hh|c|cc|cpp)(|\.in)$') - FORMAT_OUT=$(clang-format-11 -i ${FILES}) - if [ $(git diff | wc -l) -ne 0 ]; then - echo -e "\nError! Code not formatted. Run clang-format (version 11)...\n" - echo -e "\nFiles:\n" - git diff --name-only - echo -e "\nFull diff:\n" - git diff - exit 1 - fi - - python: - runs-on: AMD-ROCm-Internal-dev1 - strategy: - matrix: - python-version: ['3.10'] - env: - ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - steps: - - uses: actions/checkout@v4 - - - name: Extract branch name - shell: bash - run: | - echo "branch=${GITHUB_HEAD_REF:-${GITHUB_HEAD_REF#refs/heads/}}" >> $GITHUB_OUTPUT - id: extract_branch - - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.python-version }} - - - name: Install dependencies - run: | - python -m pip install --upgrade pip - python -m pip install black - - - name: black format - run: | - black . - if [ $(git diff | wc -l) -ne 0 ]; then - echo -e "\nError! Python code not formatted. Run black...\n" - echo -e "\nFiles:\n" - git diff --name-only - echo -e "\nFull diff:\n" - git diff - exit 1 - fi - - missing-new-line: - runs-on: AMD-ROCm-Internal-dev1 - - steps: - - uses: actions/checkout@v4 - - - name: Find missing new line - shell: bash - run: | - OUTFILE=missing_newline.txt - for i in $(find source tests samples benchmark docker cmake -type f | egrep -v '\.(bin|png|csv)$|source/docs/_(build|doxygen)'); do VAL=$(tail -c 1 ${i}); if [ -n "${VAL}" ]; then echo "- ${i}" >> ${OUTFILE}; fi; done - if [[ -f ${OUTFILE} && $(cat ${OUTFILE} | wc -l) -gt 0 ]]; then - echo -e "\nError! Source code missing new line at end of file...\n" - echo -e "\nFiles:\n" - cat ${OUTFILE} - exit 1 - fi diff --git a/projects/rocprofiler-sdk/.github/workflows/kws.yml b/projects/rocprofiler-sdk/.github/workflows/kws.yml deleted file mode 100644 index c0f4f26807..0000000000 --- a/projects/rocprofiler-sdk/.github/workflows/kws.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: Rocm Validation Suite KWS -on: - push: - branches: [amd-staging, amd-mainline] - pull_request: - types: [opened, synchronize, reopened] - workflow_dispatch: -jobs: - kws: - if: ${{ github.event_name == 'pull_request' }} - uses: AMD-ROCm-Internal/rocm_ci_infra/.github/workflows/kws.yml@mainline - secrets: inherit - with: - pr_number: ${{github.event.pull_request.number}} - base_branch: ${{github.base_ref}} diff --git a/projects/rocprofiler-sdk/.github/workflows/python.yml b/projects/rocprofiler-sdk/.github/workflows/python.yml deleted file mode 100644 index d2f0ae1344..0000000000 --- a/projects/rocprofiler-sdk/.github/workflows/python.yml +++ /dev/null @@ -1,39 +0,0 @@ -name: Python Linting - -on: - workflow_dispatch: - push: - branches: [ amd-staging, amd-mainline ] - paths: - - '**.py' - pull_request: - paths: - - '**.py' - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -jobs: - linting: - runs-on: AMD-ROCm-Internal-dev1 - strategy: - matrix: - python-version: ['3.8', '3.10', '3.12'] - - steps: - - uses: actions/checkout@v4 - - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 - with: - python-version: ${{ matrix.python-version }} - - name: Install dependencies - run: | - python -m pip install --upgrade pip - if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - - name: Lint with flake8 - run: | - # stop the build if there are Python syntax errors or undefined names - flake8 source --count --show-source --statistics --select=E9,F63,F7,F82 - # flake8 options are defined in .flake8 - flake8 source --count --show-source --statistics diff --git a/projects/rocprofiler-sdk/.github/workflows/restrictions.yml b/projects/rocprofiler-sdk/.github/workflows/restrictions.yml deleted file mode 100644 index 4acabe08b8..0000000000 --- a/projects/rocprofiler-sdk/.github/workflows/restrictions.yml +++ /dev/null @@ -1,53 +0,0 @@ - -name: Code Restrictions -permissions: - contents: read - -# This workflow ensures that certain code restrictions are applied. -# For examples, rocprofiler-sdk cannot use std::regex because of issues -# when loaded into an application compiled with C++ dual ABI support because -# while std::regex itself (and std::regex_traits) being ABI-tagged, -# std::__detail::_Scanner is not. Applications compiled with dual ABI support -# will either throw an exception or produce a segfault and thus, this workflow -# attempts to catch usage of std::regex during CI. - -on: - workflow_dispatch: - pull_request: - paths-ignore: - - '.github/workflows/pull_*.yml' - - '.github/workflows/linting.yml' - - '.github/workflows/markdown_lint.yml' - - '*.md' - - '**/README.md' - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -jobs: - regex: - runs-on: AMD-ROCm-Internal-dev1 - env: - FOLDERS: "source/lib/common source/lib/rocprofiler-sdk source/lib/rocprofiler-sdk-roctx" - - steps: - - uses: actions/checkout@v4 - - - name: Install dependencies - run: | - sudo apt-get update - sudo apt-get install -y python3-pip - python3 -m pip install -U cmake-format - - - name: Apply restriction - run: | - set +e - FILES="$(find ${FOLDERS} -type f)" - GREP="$(grep -E -n 'std::regex|' ${FILES})" - if [ "${GREP}" != "" ]; then - echo -e "\nError! std::regex is not allowed in ${FOLDERS}...\n" - echo -e "\nResults:\n" - echo "${GREP}" - exit 1 - fi diff --git a/projects/rocprofiler-sdk/.github/workflows/rocm_ci_caller.yml b/projects/rocprofiler-sdk/.github/workflows/rocm_ci_caller.yml deleted file mode 100644 index 0311611426..0000000000 --- a/projects/rocprofiler-sdk/.github/workflows/rocm_ci_caller.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: ROCm CI Caller -on: - pull_request: - branches: [amd-staging, release/rocm-rel-*] - types: [opened, reopened, synchronize] - push: - branches: [amd-mainline] - workflow_dispatch: - issue_comment: - types: [created] - -jobs: - call-workflow: - if: github.event_name != 'issue_comment' ||(github.event_name == 'issue_comment' && github.event.issue.pull_request && (startsWith(github.event.comment.body, '!verify') || startsWith(github.event.comment.body, '!verify release') || startsWith(github.event.comment.body, '!verify retest'))) - uses: AMD-ROCm-Internal/rocm_ci_infra/.github/workflows/rocm_ci.yml@mainline - secrets: inherit - with: - input_sha: ${{github.event_name == 'pull_request' && github.event.pull_request.head.sha || (github.event_name == 'push' && github.sha) || (github.event_name == 'issue_comment' && github.event.issue.pull_request.head.sha) || github.sha}} - input_pr_num: ${{github.event_name == 'pull_request' && github.event.pull_request.number || (github.event_name == 'issue_comment' && github.event.issue.number) || 0}} - input_pr_url: ${{github.event_name == 'pull_request' && github.event.pull_request.html_url || (github.event_name == 'issue_comment' && github.event.issue.pull_request.html_url) || ''}} - input_pr_title: ${{github.event_name == 'pull_request' && github.event.pull_request.title || (github.event_name == 'issue_comment' && github.event.issue.pull_request.title) || ''}} - repository_name: ${{ github.repository }} - base_ref: ${{github.event_name == 'pull_request' && github.event.pull_request.base.ref || (github.event_name == 'issue_comment' && github.event.issue.pull_request.base.ref) || github.ref}} - trigger_event_type: ${{ github.event_name }} - comment_text: ${{ github.event_name == 'issue_comment' && github.event.comment.body || '' }} diff --git a/projects/rocprofiler-sdk/.github/workflows/rocm_release_compatibility.yml b/projects/rocprofiler-sdk/.github/workflows/rocm_release_compatibility.yml deleted file mode 100644 index b5a7e21030..0000000000 --- a/projects/rocprofiler-sdk/.github/workflows/rocm_release_compatibility.yml +++ /dev/null @@ -1,113 +0,0 @@ -name: ROCm Release Compatibility - -permissions: - contents: read - -on: - workflow_dispatch: - push: - branches: [ amd-staging, amd-mainline ] - paths-ignore: - - '*.md' - - 'source/docs/**' - - 'CODEOWNERS' - pull_request: - paths-ignore: - - '*.md' - - 'source/docs/**' - - 'CODEOWNERS' - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -env: - ROCM_PATH: "/opt/rocm" - PATH: "/usr/bin:$PATH" - -jobs: - rocm-release-compatibility: - strategy: - fail-fast: false - matrix: - rocm-release: ['6.2', '6.3', '6.4', 'latest'] - os: ['ubuntu-22.04'] - build-type: ['Release'] - - runs-on: AMD-ROCm-Internal-dev1 - container: - image: rocm/dev-${{ matrix.os }}:${{ matrix.rocm-release }} - - # define this for containers - env: - GIT_DISCOVERY_ACROSS_FILESYSTEM: 1 - - steps: - - name: Install Git - timeout-minutes: 25 - run: | - apt-get update - apt-get install -y software-properties-common - add-apt-repository -y ppa:git-core/ppa - apt-get update - apt-get install -y git - - - uses: actions/checkout@v4 - - - name: Install requirements - if: ${{ matrix.rocm-release == '6.2' }} - timeout-minutes: 10 - shell: bash - run: | - git config --global --add safe.directory '*' - apt-get update - apt-get install -y build-essential cmake g++-11 g++-12 python3-pip libdw-dev libsqlite3-dev - update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 10 --slave /usr/bin/g++ g++ /usr/bin/g++-11 --slave /usr/bin/gcov gcov /usr/bin/gcov-11 - update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 20 --slave /usr/bin/g++ g++ /usr/bin/g++-12 --slave /usr/bin/gcov gcov /usr/bin/gcov-12 - python3 -m pip install -U --user -r requirements.txt - - - name: Install requirements - if: ${{ matrix.rocm-release != '6.2' }} - timeout-minutes: 10 - shell: bash - run: | - git config --global --add safe.directory '*' - apt-get update - apt-get install -y build-essential cmake g++-11 g++-12 python3-pip libdw-dev libsqlite3-dev rccl-dev rccl-unittests rocjpeg-dev rocjpeg-test rocdecode-dev rocdecode-test - update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 10 --slave /usr/bin/g++ g++ /usr/bin/g++-11 --slave /usr/bin/gcov gcov /usr/bin/gcov-11 - update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 20 --slave /usr/bin/g++ g++ /usr/bin/g++-12 --slave /usr/bin/gcov gcov /usr/bin/gcov-12 - python3 -m pip install -U --user -r requirements.txt - - - name: List Files - shell: bash - run: | - echo "Number of processors: $(nproc)" - echo "PATH: ${PATH}" - echo "LD_LIBRARY_PATH: ${LD_LIBRARY_PATH}" - which-realpath() { echo -e "\n$1 resolves to $(realpath $(which $1))"; echo "$($(which $1) --version &> /dev/stdout | head -n 1)"; } - for i in python3 git cmake ctest gcc g++ gcov; do which-realpath $i; done - cat /opt/rocm/.info/version - ls -la - - - name: Configure and Build - timeout-minutes: 30 - shell: bash - run: - python3 ./source/scripts/run-ci.py -B build - --name ${{ github.repository }}-${{ github.ref_name }}-${{ matrix.os }}-rocm-${{ matrix.rocm-release }} - --build-jobs 4 - --site "$(hostname)" - --stages Start Update Configure Build Submit - --run-attempt ${{ github.run_attempt }} - --disable-cdash - -- - -DROCPROFILER_DEP_ROCMCORE=ON - -DROCPROFILER_BUILD_{TESTS,SAMPLES,DOCS}=OFF - -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} - -DCMAKE_INSTALL_PREFIX="$(realpath /opt/rocm)" - -DPython3_EXECUTABLE=$(which python3) - - - name: Install - timeout-minutes: 10 - run: - cmake --build build --target install diff --git a/projects/rocprofiler-sdk/.github/workflows/sync-mainline.yaml b/projects/rocprofiler-sdk/.github/workflows/sync-mainline.yaml deleted file mode 100644 index 7d7360e525..0000000000 --- a/projects/rocprofiler-sdk/.github/workflows/sync-mainline.yaml +++ /dev/null @@ -1,18 +0,0 @@ -name: Sync amd-mainline to public repository - -on: - workflow_dispatch: - push: - branches: [ amd-mainline ] - -jobs: - git-mirror: - runs-on: AMD-ROCm-Internal-dev1 - steps: - - name: git-sync - uses: AMD-ROCm-Internal/rocprofiler-github-actions@git-sync-v3 - with: - source_repo: "https://${{ secrets.TOKEN }}@github.com/AMD-ROCm-Internal/rocprofiler-sdk-internal.git" - source_branch: "amd-mainline" - destination_repo: "https://${{ secrets.EXT_TOKEN }}@github.com/ROCm/rocprofiler-sdk.git" - destination_branch: "amd-mainline" diff --git a/projects/rocprofiler-sdk/.github/workflows/sync-staging.yaml b/projects/rocprofiler-sdk/.github/workflows/sync-staging.yaml deleted file mode 100644 index 144828013c..0000000000 --- a/projects/rocprofiler-sdk/.github/workflows/sync-staging.yaml +++ /dev/null @@ -1,18 +0,0 @@ -name: Sync amd-staging to public repository - -on: - workflow_dispatch: - push: - branches: [ amd-staging ] - -jobs: - git-mirror: - runs-on: AMD-ROCm-Internal-dev1 - steps: - - name: git-sync - uses: AMD-ROCm-Internal/rocprofiler-github-actions@git-sync-v3 - with: - source_repo: "https://${{ secrets.TOKEN }}@github.com/AMD-ROCm-Internal/rocprofiler-sdk-internal.git" - source_branch: "amd-staging" - destination_repo: "https://${{ secrets.EXT_TOKEN }}@github.com/ROCm/rocprofiler-sdk.git" - destination_branch: "amd-staging" diff --git a/projects/rocprofiler/.github/palamida.yml b/projects/rocprofiler/.github/palamida.yml deleted file mode 100644 index 2a54378973..0000000000 --- a/projects/rocprofiler/.github/palamida.yml +++ /dev/null @@ -1,5 +0,0 @@ -disabled: false -scmId: gh-emu-rocm -branchesToScan: - - amd-staging - - amd-mainline diff --git a/projects/rocprofiler/.github/workflows/kws-caller.yml b/projects/rocprofiler/.github/workflows/kws-caller.yml deleted file mode 100644 index c0f4f26807..0000000000 --- a/projects/rocprofiler/.github/workflows/kws-caller.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: Rocm Validation Suite KWS -on: - push: - branches: [amd-staging, amd-mainline] - pull_request: - types: [opened, synchronize, reopened] - workflow_dispatch: -jobs: - kws: - if: ${{ github.event_name == 'pull_request' }} - uses: AMD-ROCm-Internal/rocm_ci_infra/.github/workflows/kws.yml@mainline - secrets: inherit - with: - pr_number: ${{github.event.pull_request.number}} - base_branch: ${{github.base_ref}} diff --git a/projects/rocprofiler/.github/workflows/rocm-ci-caller.yml b/projects/rocprofiler/.github/workflows/rocm-ci-caller.yml deleted file mode 100644 index 6e11b1282d..0000000000 --- a/projects/rocprofiler/.github/workflows/rocm-ci-caller.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: ROCm CI Caller - -on: - pull_request: - branches: [amd-staging, amd-npi, release/rocm-rel-*] - types: [opened, reopened, synchronize] - push: - branches: [amd-mainline] - workflow_dispatch: - issue_comment: - types: [created] - -jobs: - call-workflow: - if: ${{ github.event_name != 'issue_comment' || github.event.comment.body == '!verify' }} - uses: AMD-ROCm-Internal/rocm_ci_infra/.github/workflows/rocm_ci.yml@mainline - secrets: inherit - with: - input_sha: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} - input_pr_num: ${{ github.event_name == 'pull_request' && github.event.pull_request.number || 0 }} - input_pr_url: ${{ github.event_name == 'pull_request' && github.event.pull_request.html_url || '' }} - input_pr_title: ${{ github.event_name == 'pull_request' && github.event.pull_request.title || '' }} - repository_name: ${{ github.repository }} - base_ref: ${{ github.event_name == 'pull_request' && github.base_ref || github.ref }} - trigger_event_type: ${{ github.event_name }} diff --git a/projects/rocprofiler/.github/workflows/sync-mainline.yaml b/projects/rocprofiler/.github/workflows/sync-mainline.yaml deleted file mode 100644 index d047eb403e..0000000000 --- a/projects/rocprofiler/.github/workflows/sync-mainline.yaml +++ /dev/null @@ -1,18 +0,0 @@ -name: Sync amd-mainline to public repository - -on: - workflow_dispatch: - push: - branches: [ amd-mainline ] - -jobs: - git-mirror: - runs-on: AMD-ROCm-Internal-dev1 - steps: - - name: git-sync - uses: AMD-ROCm-Internal/rocprofiler-github-actions@git-sync-v3 - with: - source_repo: "https://${{ secrets.TOKEN }}@github.com/AMD-ROCm-Internal/rocprofiler.git" - source_branch: "amd-mainline" - destination_repo: "https://${{ secrets.EXT_TOKEN }}@github.com/ROCm/rocprofiler.git" - destination_branch: "amd-mainline" diff --git a/projects/rocprofiler/.github/workflows/sync-staging.yaml b/projects/rocprofiler/.github/workflows/sync-staging.yaml deleted file mode 100644 index 7ac8025741..0000000000 --- a/projects/rocprofiler/.github/workflows/sync-staging.yaml +++ /dev/null @@ -1,18 +0,0 @@ -name: Sync amd-staging to public repository - -on: - workflow_dispatch: - push: - branches: [ amd-staging ] - -jobs: - git-mirror: - runs-on: AMD-ROCm-Internal-dev1 - steps: - - name: git-sync - uses: AMD-ROCm-Internal/rocprofiler-github-actions@git-sync-v3 - with: - source_repo: "https://${{ secrets.TOKEN }}@github.com/AMD-ROCm-Internal/rocprofiler.git" - source_branch: "amd-staging" - destination_repo: "https://${{ secrets.EXT_TOKEN }}@github.com/ROCm/rocprofiler.git" - destination_branch: "amd-staging" diff --git a/projects/roctracer/.github/palamida.yml b/projects/roctracer/.github/palamida.yml deleted file mode 100644 index 2a54378973..0000000000 --- a/projects/roctracer/.github/palamida.yml +++ /dev/null @@ -1,5 +0,0 @@ -disabled: false -scmId: gh-emu-rocm -branchesToScan: - - amd-staging - - amd-mainline diff --git a/projects/roctracer/.github/workflows/kws-caller.yml b/projects/roctracer/.github/workflows/kws-caller.yml deleted file mode 100644 index ffcbff7b1e..0000000000 --- a/projects/roctracer/.github/workflows/kws-caller.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: Rocm Validation Suite KWS -on: - push: - branches: [amd-staging] - pull_request: - types: [opened, synchronize, reopened] - workflow_dispatch: -jobs: - kws: - if: ${{ github.event_name == 'pull_request' }} - uses: AMD-ROCm-Internal/rocm_ci_infra/.github/workflows/kws.yml@mainline - secrets: inherit - with: - pr_number: ${{github.event.pull_request.number}} - base_branch: ${{github.base_ref}} diff --git a/projects/roctracer/.github/workflows/rocm-ci-caller.yml b/projects/roctracer/.github/workflows/rocm-ci-caller.yml deleted file mode 100644 index aea411640c..0000000000 --- a/projects/roctracer/.github/workflows/rocm-ci-caller.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: ROCm CI Caller - -on: - pull_request: - branches: [amd-staging, amd-npi, release/rocm-rel-*, amd-mainline] - types: [opened, reopened, synchronize] - push: - branches: [amd-mainline] - workflow_dispatch: - issue_comment: - types: [created] - -jobs: - call-workflow: - if: ${{ github.event_name != 'issue_comment' || github.event.comment.body == '!verify' }} - uses: AMD-ROCm-Internal/rocm_ci_infra/.github/workflows/rocm_ci.yml@mainline - secrets: inherit - with: - input_sha: ${{ github.event_name == 'pull_request' && github.event.pull_request.head.sha || github.sha }} - input_pr_num: ${{ github.event_name == 'pull_request' && github.event.pull_request.number || 0 }} - input_pr_url: ${{ github.event_name == 'pull_request' && github.event.pull_request.html_url || '' }} - input_pr_title: ${{ github.event_name == 'pull_request' && github.event.pull_request.title || '' }} - repository_name: ${{ github.repository }} - base_ref: ${{ github.event_name == 'pull_request' && github.base_ref || github.ref }} - trigger_event_type: ${{ github.event_name }} diff --git a/projects/roctracer/.github/workflows/sync-mainline.yaml b/projects/roctracer/.github/workflows/sync-mainline.yaml deleted file mode 100644 index dc872d0d79..0000000000 --- a/projects/roctracer/.github/workflows/sync-mainline.yaml +++ /dev/null @@ -1,17 +0,0 @@ -name: Sync amd-mainline to public repository - -on: - push: - branches: [ amd-mainline ] - -jobs: - git-mirror: - runs-on: ubuntu-latest - steps: - - name: git-sync - uses: AMD-ROCm-Internal/rocprofiler-github-actions@git-sync-v3 - with: - source_repo: "https://${{ secrets.TOKEN }}@github.com/AMD-ROCm-Internal/roctracer.git" - source_branch: "amd-mainline" - destination_repo: "https://${{ secrets.EXT_TOKEN }}@github.com/ROCm/roctracer.git" - destination_branch: "amd-mainline" diff --git a/projects/roctracer/.github/workflows/sync-staging.yaml b/projects/roctracer/.github/workflows/sync-staging.yaml deleted file mode 100644 index d90030bc34..0000000000 --- a/projects/roctracer/.github/workflows/sync-staging.yaml +++ /dev/null @@ -1,17 +0,0 @@ -name: Sync amd-staging to public repository - -on: - push: - branches: [ amd-staging ] - -jobs: - git-mirror: - runs-on: ubuntu-latest - steps: - - name: git-sync - uses: AMD-ROCm-Internal/rocprofiler-github-actions@git-sync-v3 - with: - source_repo: "https://${{ secrets.TOKEN }}@github.com/AMD-ROCm-Internal/roctracer.git" - source_branch: "amd-staging" - destination_repo: "https://${{ secrets.EXT_TOKEN }}@github.com/ROCm/roctracer.git" - destination_branch: "amd-staging"