From 56d060a4a970430fa3cb90e418e803e2d4d67786 Mon Sep 17 00:00:00 2001 From: Ammar ELWazir Date: Tue, 31 Oct 2023 14:32:01 +0000 Subject: [PATCH] Removing .github from the main repository Change-Id: Ia91cbd4c5145a06d4867eb4649c81ba3b95c6d6b --- .github/dependabot.yml | 11 - .github/workflows/cmake.yml | 402 ------------------- .github/workflows/continuous_integration.yml | 330 --------------- .github/workflows/docker_cleanup.yml | 27 -- .github/workflows/formatting.yml | 146 ------- .github/workflows/linting.yml | 103 ----- .github/workflows/markdown_lint.yml | 21 - .github/workflows/pull.yml | 19 - .github/workflows/pull_from_gerrit.yml | 26 -- .github/workflows/pull_latest_dockers.yml | 38 -- .gitignore | 1 + 11 files changed, 1 insertion(+), 1123 deletions(-) delete mode 100644 .github/dependabot.yml delete mode 100644 .github/workflows/cmake.yml delete mode 100644 .github/workflows/continuous_integration.yml delete mode 100644 .github/workflows/docker_cleanup.yml delete mode 100644 .github/workflows/formatting.yml delete mode 100644 .github/workflows/linting.yml delete mode 100644 .github/workflows/markdown_lint.yml delete mode 100644 .github/workflows/pull.yml delete mode 100644 .github/workflows/pull_from_gerrit.yml delete mode 100644 .github/workflows/pull_latest_dockers.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index 90e05c40d0..0000000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,11 +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" diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml deleted file mode 100644 index 584e994035..0000000000 --- a/.github/workflows/cmake.yml +++ /dev/null @@ -1,402 +0,0 @@ -name: CMake - -on: - push: - branches: [ "amd-staging" ] - paths-ignore: - - '.github/workflows/pull_*.yml' - pull_request: - branches: [ "amd-staging" ] - paths-ignore: - - '.github/workflows/pull_*.yml' - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -env: - # Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.) - BUILD_TYPE: RelWithDebInfo - PREFIX_PATH: "/opt/rocm" - ROCM_PATH: "/opt/rocm" - LD_RUNPATH_FLAG: " -Wl,--enable-new-dtags -Wl,--rpath,/opt/rocm/lib" - GPU_LIST: "gfx900 gfx906 gfx908 gfx90a gfx940 gfx941 gfx942 gfx1030 gfx1100 gfx1101 gfx1102" - -jobs: - build_run_on_mi200: - runs-on: mi200 - steps: - - name: Run on MI200 - run: echo "Running on MI200" - - build_run_on_mi200_ubuntu_22_04: - # The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac. - # You can convert this to a matrix build if you need cross-platform coverage. - # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix - runs-on: mi200 - needs: build_run_on_mi200 - container: - image: localhost:5000/mainline-ubuntu-22.04-stg1 - options: --privileged --ipc=host --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --cap-add CAP_SYS_PTRACE --cap-add CAP_SYS_ADMIN --security-opt seccomp=unconfined - - steps: - - uses: actions/checkout@v3 - - - name: Configure CMake - # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. - # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type - run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_EXPORT_COMPILE_COMMANDS=TRUE -DCMAKE_MODULE_PATH="${{env.ROCM_PATH}}/hip/cmake;${{env.ROCM_PATH}}/lib/cmake" -DCMAKE_PREFIX_PATH="${{env.PREFIX_PATH}}" -DCMAKE_INSTALL_PREFIX="${{env.ROCM_PATH}}" -DCMAKE_SHARED_LINKER_FLAGS="${{env.LD_RUNPATH_FLAG}}" -DCMAKE_INSTALL_RPATH=${{env.ROCM_RPATH}} -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=FALSE -DGPU_TARGETS="${{env.GPU_LIST}}" -DCPACK_PACKAGING_INSTALL_PREFIX=${{env.ROCM_PATH}} -DCPACK_GENERATOR='DEB;RPM;TGZ' -DCPACK_OBJCOPY_EXECUTABLE="${{env.ROCM_PATH}}/llvm/bin/llvm-objcopy" -DCPACK_READELF_EXECUTABLE="${{env.ROCM_PATH}}/llvm/bin/llvm-readelf" -DCPACK_STRIP_EXECUTABLE="${{env.ROCM_PATH}}/llvm/bin/llvm-strip" -DCPACK_OBJDUMP_EXECUTABLE="${{env.ROCM_PATH}}/llvm/bin/llvm-objdump" - - - name: Build - # Build your program with the given configuration - run: cmake --build ${{github.workspace}}/build --parallel 16 --config ${{env.BUILD_TYPE}} - - name: Preparing Test Build - run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -- -j 16 mytest - - name: Build Tests, Samples, Documentation, Packages - run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -- -j 16 tests samples doc package - - - name: Testing V1 - run: | - cd ${{github.workspace}}/build - ./run.sh - # TODO(aelwazir): Enable this once ctest is fixed - # working-directory: ${{github.workspace}}/build/tests-v2 - # Execute tests defined by the CMake configuration. - # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail - # TODO(aelwazir): Enable this once ctest is fixed - # run: ctest --parallel 16 -C ${{env.BUILD_TYPE}} - - - name: Testing V2 - run: | - cd ${{github.workspace}}/build - ./run_tests.sh - - - name: Archive production artifacts - uses: actions/upload-artifact@v3 - with: - name: artifacts - path: | - ${{github.workspace}}/build/*.deb - ${{github.workspace}}/build/*.rpm - ${{github.workspace}}/build/*.tgz - - build_run_on_mi200_ubuntu_20_04: - # The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac. - # You can convert this to a matrix build if you need cross-platform coverage. - # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix - runs-on: mi200 - needs: build_run_on_mi200 - container: - image: localhost:5000/mainline-ubuntu-20.04-stg1 - options: --privileged --ipc=host --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --cap-add CAP_SYS_PTRACE --cap-add CAP_SYS_ADMIN --security-opt seccomp=unconfined - - steps: - - uses: actions/checkout@v3 - - - name: Configure CMake - # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. - # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type - run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_EXPORT_COMPILE_COMMANDS=TRUE -DCMAKE_MODULE_PATH="${{env.ROCM_PATH}}/hip/cmake;${{env.ROCM_PATH}}/lib/cmake" -DCMAKE_PREFIX_PATH="${{env.PREFIX_PATH}}" -DCMAKE_INSTALL_PREFIX="${{env.ROCM_PATH}}" -DCMAKE_SHARED_LINKER_FLAGS="${{env.LD_RUNPATH_FLAG}}" -DCMAKE_INSTALL_RPATH=${{env.ROCM_RPATH}} -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=FALSE -DGPU_TARGETS="${{env.GPU_LIST}}" -DCPACK_PACKAGING_INSTALL_PREFIX=${{env.ROCM_PATH}} -DCPACK_GENERATOR='DEB;RPM;TGZ' -DCPACK_OBJCOPY_EXECUTABLE="${{env.ROCM_PATH}}/llvm/bin/llvm-objcopy" -DCPACK_READELF_EXECUTABLE="${{env.ROCM_PATH}}/llvm/bin/llvm-readelf" -DCPACK_STRIP_EXECUTABLE="${{env.ROCM_PATH}}/llvm/bin/llvm-strip" -DCPACK_OBJDUMP_EXECUTABLE="${{env.ROCM_PATH}}/llvm/bin/llvm-objdump" - - - name: Build - # Build your program with the given configuration - run: cmake --build ${{github.workspace}}/build --parallel 16 --config ${{env.BUILD_TYPE}} - - name: Preparing Test Build - run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -- -j 16 mytest - - name: Build Tests - run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -- -j 16 tests - - - name: Testing V1 - run: | - cd ${{github.workspace}}/build - ./run.sh - # TODO(aelwazir): Enable this once ctest is fixed - # working-directory: ${{github.workspace}}/build/tests-v2 - # Execute tests defined by the CMake configuration. - # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail - # TODO(aelwazir): Enable this once ctest is fixed - # run: ctest --parallel 16 -C ${{env.BUILD_TYPE}} - - - name: Testing V2 - run: | - cd ${{github.workspace}}/build - make -j check - - build_run_on_mi200_sles: - # The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac. - # You can convert this to a matrix build if you need cross-platform coverage. - # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix - runs-on: mi200 - needs: build_run_on_mi200 - container: - image: localhost:5000/mainline-sles-stg1 - options: --privileged --ipc=host --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --cap-add CAP_SYS_PTRACE --cap-add CAP_SYS_ADMIN --security-opt seccomp=unconfined - - steps: - - uses: actions/checkout@v3 - - - name: Configure CMake - # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. - # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type - run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_EXPORT_COMPILE_COMMANDS=TRUE -DCMAKE_MODULE_PATH="${{env.ROCM_PATH}}/hip/cmake;${{env.ROCM_PATH}}/lib/cmake" -DCMAKE_PREFIX_PATH="${{env.PREFIX_PATH}}" -DCMAKE_INSTALL_PREFIX="${{env.ROCM_PATH}}" -DCMAKE_SHARED_LINKER_FLAGS="${{env.LD_RUNPATH_FLAG}}" -DCMAKE_INSTALL_RPATH=${{env.ROCM_RPATH}} -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=FALSE -DGPU_TARGETS="${{env.GPU_LIST}}" -DCPACK_PACKAGING_INSTALL_PREFIX=${{env.ROCM_PATH}} -DCPACK_GENERATOR='DEB;RPM;TGZ' -DCPACK_OBJCOPY_EXECUTABLE="${{env.ROCM_PATH}}/llvm/bin/llvm-objcopy" -DCPACK_READELF_EXECUTABLE="${{env.ROCM_PATH}}/llvm/bin/llvm-readelf" -DCPACK_STRIP_EXECUTABLE="${{env.ROCM_PATH}}/llvm/bin/llvm-strip" -DCPACK_OBJDUMP_EXECUTABLE="${{env.ROCM_PATH}}/llvm/bin/llvm-objdump" - - - name: Build - # Build your program with the given configuration - run: cmake --build ${{github.workspace}}/build --parallel 16 --config ${{env.BUILD_TYPE}} - - name: Preparing Test Build - run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -- -j 16 mytest - - name: Build Tests - run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -- -j 16 tests - - - name: Testing V1 - run: | - cd ${{github.workspace}}/build - ./run.sh - # TODO(aelwazir): Enable this once ctest is fixed - # working-directory: ${{github.workspace}}/build/tests-v2 - # Execute tests defined by the CMake configuration. - # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail - # TODO(aelwazir): Enable this once ctest is fixed - # run: ctest --parallel 16 -C ${{env.BUILD_TYPE}} - - - name: Testing V2 - run: | - cd ${{github.workspace}}/build - make -j check - - build_run_on_mi200_rhel_8: - # The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac. - # You can convert this to a matrix build if you need cross-platform coverage. - # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix - runs-on: mi200 - needs: build_run_on_mi200 - container: - image: localhost:5000/mainline-rhel-8.x-stg1 - options: --privileged --ipc=host --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --cap-add CAP_SYS_PTRACE --cap-add CAP_SYS_ADMIN --security-opt seccomp=unconfined - - steps: - - uses: actions/checkout@v3 - - - name: Configure CMake - # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. - # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type - run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_EXPORT_COMPILE_COMMANDS=TRUE -DCMAKE_MODULE_PATH="${{env.ROCM_PATH}}/hip/cmake;${{env.ROCM_PATH}}/lib/cmake" -DCMAKE_PREFIX_PATH="${{env.PREFIX_PATH}}" -DCMAKE_INSTALL_PREFIX="${{env.ROCM_PATH}}" -DCMAKE_SHARED_LINKER_FLAGS="${{env.LD_RUNPATH_FLAG}}" -DCMAKE_INSTALL_RPATH=${{env.ROCM_RPATH}} -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=FALSE -DGPU_TARGETS="${{env.GPU_LIST}}" -DCPACK_PACKAGING_INSTALL_PREFIX=${{env.ROCM_PATH}} -DCPACK_GENERATOR='DEB;RPM;TGZ' -DCPACK_OBJCOPY_EXECUTABLE="${{env.ROCM_PATH}}/llvm/bin/llvm-objcopy" -DCPACK_READELF_EXECUTABLE="${{env.ROCM_PATH}}/llvm/bin/llvm-readelf" -DCPACK_STRIP_EXECUTABLE="${{env.ROCM_PATH}}/llvm/bin/llvm-strip" -DCPACK_OBJDUMP_EXECUTABLE="${{env.ROCM_PATH}}/llvm/bin/llvm-objdump" - - - name: Build - # Build your program with the given configuration - run: cmake --build ${{github.workspace}}/build --parallel 16 --config ${{env.BUILD_TYPE}} - - name: Preparing Test Build - run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -- -j 16 mytest - - name: Build Tests - run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -- -j 16 tests - - - name: Testing V1 - run: | - cd ${{github.workspace}}/build - ./run.sh - # TODO(aelwazir): Enable this once ctest is fixed - # working-directory: ${{github.workspace}}/build/tests-v2 - # Execute tests defined by the CMake configuration. - # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail - # TODO(aelwazir): Enable this once ctest is fixed - # run: ctest --parallel 16 -C ${{env.BUILD_TYPE}} - - - name: Testing V2 - run: | - cd ${{github.workspace}}/build - make -j check - - build_run_on_mi200_rhel_9: - # The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac. - # You can convert this to a matrix build if you need cross-platform coverage. - # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix - runs-on: mi200 - needs: build_run_on_mi200 - container: - image: localhost:5000/mainline-rhel-9.x-stg1 - options: --privileged --ipc=host --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --cap-add CAP_SYS_PTRACE --cap-add CAP_SYS_ADMIN --security-opt seccomp=unconfined - - steps: - - uses: actions/checkout@v3 - - - name: Configure CMake - # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. - # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type - run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_EXPORT_COMPILE_COMMANDS=TRUE -DCMAKE_MODULE_PATH="${{env.ROCM_PATH}}/hip/cmake;${{env.ROCM_PATH}}/lib/cmake" -DCMAKE_PREFIX_PATH="${{env.PREFIX_PATH}}" -DCMAKE_INSTALL_PREFIX="${{env.ROCM_PATH}}" -DCMAKE_SHARED_LINKER_FLAGS="${{env.LD_RUNPATH_FLAG}}" -DCMAKE_INSTALL_RPATH=${{env.ROCM_RPATH}} -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=FALSE -DGPU_TARGETS="${{env.GPU_LIST}}" -DCPACK_PACKAGING_INSTALL_PREFIX=${{env.ROCM_PATH}} -DCPACK_GENERATOR='DEB;RPM;TGZ' -DCPACK_OBJCOPY_EXECUTABLE="${{env.ROCM_PATH}}/llvm/bin/llvm-objcopy" -DCPACK_READELF_EXECUTABLE="${{env.ROCM_PATH}}/llvm/bin/llvm-readelf" -DCPACK_STRIP_EXECUTABLE="${{env.ROCM_PATH}}/llvm/bin/llvm-strip" -DCPACK_OBJDUMP_EXECUTABLE="${{env.ROCM_PATH}}/llvm/bin/llvm-objdump" - - - name: Build - # Build your program with the given configuration - run: cmake --build ${{github.workspace}}/build --parallel 16 --config ${{env.BUILD_TYPE}} - - name: Preparing Test Build - run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -- -j 16 mytest - - name: Build Tests - run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -- -j 16 tests - - - name: Testing V1 - run: | - cd ${{github.workspace}}/build - ./run.sh - # TODO(aelwazir): Enable this once ctest is fixed - # working-directory: ${{github.workspace}}/build/tests-v2 - # Execute tests defined by the CMake configuration. - # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail - # TODO(aelwazir): Enable this once ctest is fixed - # run: ctest --parallel 16 -C ${{env.BUILD_TYPE}} - - - name: Testing V2 - run: | - cd ${{github.workspace}}/build - make -j check - - build_run_on_vega20: - # The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac. - # You can convert this to a matrix build if you need cross-platform coverage. - # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix - runs-on: vega20 - - steps: - - uses: actions/checkout@v3 - - - name: Configure CMake - # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. - # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type - run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_EXPORT_COMPILE_COMMANDS=TRUE -DCMAKE_MODULE_PATH="${{env.ROCM_PATH}}/hip/cmake;${{env.ROCM_PATH}}/lib/cmake" -DCMAKE_PREFIX_PATH="${{env.PREFIX_PATH}}" -DCMAKE_INSTALL_PREFIX="${{env.ROCM_PATH}}" -DCMAKE_SHARED_LINKER_FLAGS="${{env.LD_RUNPATH_FLAG}}" -DCMAKE_INSTALL_RPATH=${{env.ROCM_RPATH}} -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=FALSE -DGPU_TARGETS="${{env.GPU_LIST}}" -DCPACK_PACKAGING_INSTALL_PREFIX=${{env.ROCM_PATH}} -DCPACK_GENERATOR='DEB;RPM;TGZ' -DCPACK_OBJCOPY_EXECUTABLE="${{env.ROCM_PATH}}/llvm/bin/llvm-objcopy" -DCPACK_READELF_EXECUTABLE="${{env.ROCM_PATH}}/llvm/bin/llvm-readelf" -DCPACK_STRIP_EXECUTABLE="${{env.ROCM_PATH}}/llvm/bin/llvm-strip" -DCPACK_OBJDUMP_EXECUTABLE="${{env.ROCM_PATH}}/llvm/bin/llvm-objdump" - - - name: Build - # Build your program with the given configuration - run: cmake --build ${{github.workspace}}/build --parallel 16 --config ${{env.BUILD_TYPE}} - - name: Preparing Test Build - run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -- -j 16 mytest - - name: Build Tests - run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -- -j 16 tests - - - name: Testing V1 - run: | - cd ${{github.workspace}}/build - ./run.sh - # TODO(aelwazir): Enable this once ctest is fixed - # working-directory: ${{github.workspace}}/build/tests-v2 - # Execute tests defined by the CMake configuration. - # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail - # TODO(aelwazir): Enable this once ctest is fixed - # run: ctest --parallel 16 -C ${{env.BUILD_TYPE}} - - - name: Testing V2 - run: | - cd ${{github.workspace}}/build - make -j check - - build_run_on_navi32: - # The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac. - # You can convert this to a matrix build if you need cross-platform coverage. - # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix - runs-on: navi32 - - steps: - - uses: actions/checkout@v3 - - - name: Configure CMake - # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. - # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type - run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_EXPORT_COMPILE_COMMANDS=TRUE -DCMAKE_MODULE_PATH="${{env.ROCM_PATH}}/hip/cmake;${{env.ROCM_PATH}}/lib/cmake" -DCMAKE_PREFIX_PATH="${{env.PREFIX_PATH}}" -DCMAKE_INSTALL_PREFIX="${{env.ROCM_PATH}}" -DCMAKE_SHARED_LINKER_FLAGS="${{env.LD_RUNPATH_FLAG}}" -DCMAKE_INSTALL_RPATH=${{env.ROCM_RPATH}} -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=FALSE -DGPU_TARGETS="${{env.GPU_LIST}}" -DCPACK_PACKAGING_INSTALL_PREFIX=${{env.ROCM_PATH}} -DCPACK_GENERATOR='DEB;RPM;TGZ' -DCPACK_OBJCOPY_EXECUTABLE="${{env.ROCM_PATH}}/llvm/bin/llvm-objcopy" -DCPACK_READELF_EXECUTABLE="${{env.ROCM_PATH}}/llvm/bin/llvm-readelf" -DCPACK_STRIP_EXECUTABLE="${{env.ROCM_PATH}}/llvm/bin/llvm-strip" -DCPACK_OBJDUMP_EXECUTABLE="${{env.ROCM_PATH}}/llvm/bin/llvm-objdump" - - - name: Build - # Build your program with the given configuration - run: cmake --build ${{github.workspace}}/build --parallel 16 --config ${{env.BUILD_TYPE}} - - name: Preparing Test Build - run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -- -j 16 mytest - - name: Build Tests - run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -- -j 16 tests - - - name: Testing V1 - run: | - cd ${{github.workspace}}/build - ./run.sh - # TODO(aelwazir): Enable this once ctest is fixed - # working-directory: ${{github.workspace}}/build/tests-v2 - # Execute tests defined by the CMake configuration. - # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail - # TODO(aelwazir): Enable this once ctest is fixed - # run: ctest --parallel 16 -C ${{env.BUILD_TYPE}} - - - name: Testing V2 - run: | - cd ${{github.workspace}}/build - make -j check - - build_run_on_mi100: - # The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac. - # You can convert this to a matrix build if you need cross-platform coverage. - # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix - runs-on: mi100 - - steps: - - uses: actions/checkout@v3 - - - name: Configure CMake - # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. - # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type - run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_EXPORT_COMPILE_COMMANDS=TRUE -DCMAKE_MODULE_PATH="${{env.ROCM_PATH}}/hip/cmake;${{env.ROCM_PATH}}/lib/cmake" -DCMAKE_PREFIX_PATH="${{env.PREFIX_PATH}}" -DCMAKE_INSTALL_PREFIX="${{env.ROCM_PATH}}" -DCMAKE_SHARED_LINKER_FLAGS="${{env.LD_RUNPATH_FLAG}}" -DCMAKE_INSTALL_RPATH=${{env.ROCM_RPATH}} -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=FALSE -DGPU_TARGETS="${{env.GPU_LIST}}" -DCPACK_PACKAGING_INSTALL_PREFIX=${{env.ROCM_PATH}} -DCPACK_GENERATOR='DEB;RPM;TGZ' -DCPACK_OBJCOPY_EXECUTABLE="${{env.ROCM_PATH}}/llvm/bin/llvm-objcopy" -DCPACK_READELF_EXECUTABLE="${{env.ROCM_PATH}}/llvm/bin/llvm-readelf" -DCPACK_STRIP_EXECUTABLE="${{env.ROCM_PATH}}/llvm/bin/llvm-strip" -DCPACK_OBJDUMP_EXECUTABLE="${{env.ROCM_PATH}}/llvm/bin/llvm-objdump" - - - name: Build - # Build your program with the given configuration - run: cmake --build ${{github.workspace}}/build --parallel 16 --config ${{env.BUILD_TYPE}} - - name: Preparing Test Build - run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -- -j 16 mytest - - name: Build Tests - run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -- -j 16 tests - - - name: Testing V1 - run: | - cd ${{github.workspace}}/build - ./run.sh - # TODO(aelwazir): Enable this once ctest is fixed - # working-directory: ${{github.workspace}}/build/tests-v2 - # Execute tests defined by the CMake configuration. - # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail - # TODO(aelwazir): Enable this once ctest is fixed - # run: ctest --parallel 16 -C ${{env.BUILD_TYPE}} - - - name: Testing V2 - run: | - cd ${{github.workspace}}/build - make -j check - - # To be enabled once we have access to navi21 - # build_run_on_navi21: - # # The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac. - # # You can convert this to a matrix build if you need cross-platform coverage. - # # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix - # runs-on: navi21 - - # steps: - # - uses: actions/checkout@v3 - - # - name: Configure CMake - # # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. - # # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type - # run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_EXPORT_COMPILE_COMMANDS=TRUE -DCMAKE_MODULE_PATH="${{env.ROCM_PATH}}/hip/cmake;${{env.ROCM_PATH}}/lib/cmake" -DCMAKE_PREFIX_PATH="${{env.PREFIX_PATH}}" -DCMAKE_INSTALL_PREFIX="${{env.ROCM_PATH}}" -DCMAKE_SHARED_LINKER_FLAGS="${{env.LD_RUNPATH_FLAG}}" -DCMAKE_INSTALL_RPATH=${{env.ROCM_RPATH}} -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=FALSE -DGPU_TARGETS="${{env.GPU_LIST}}" -DCPACK_PACKAGING_INSTALL_PREFIX=${{env.ROCM_PATH}} -DCPACK_GENERATOR='DEB;RPM;TGZ' -DCPACK_OBJCOPY_EXECUTABLE="${{env.ROCM_PATH}}/llvm/bin/llvm-objcopy" -DCPACK_READELF_EXECUTABLE="${{env.ROCM_PATH}}/llvm/bin/llvm-readelf" -DCPACK_STRIP_EXECUTABLE="${{env.ROCM_PATH}}/llvm/bin/llvm-strip" -DCPACK_OBJDUMP_EXECUTABLE="${{env.ROCM_PATH}}/llvm/bin/llvm-objdump" - - # - name: Build - # # Build your program with the given configuration - # run: cmake --build ${{github.workspace}}/build --parallel 16 --config ${{env.BUILD_TYPE}} - # - name: Preparing Test Build - # run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -- -j 16 mytest - # - name: Build Tests - # run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -- -j 16 tests - - # - name: Testing V1 - # run: | - # cd ${{github.workspace}}/build - # ./run.sh - # # TODO(aelwazir): Enable this once ctest is fixed - # # working-directory: ${{github.workspace}}/build/tests-v2 - # # Execute tests defined by the CMake configuration. - # # See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail - # # TODO(aelwazir): Enable this once ctest is fixed - # # run: ctest --parallel 16 -C ${{env.BUILD_TYPE}} - - # - name: Testing V2 - # run: | - # cd ${{github.workspace}}/build - # make -j check diff --git a/.github/workflows/continuous_integration.yml b/.github/workflows/continuous_integration.yml deleted file mode 100644 index c19ecf9298..0000000000 --- a/.github/workflows/continuous_integration.yml +++ /dev/null @@ -1,330 +0,0 @@ -name: Continuous Integration - -on: - workflow_dispatch: - push: - branches: [ "amd-staging" ] - paths-ignore: - - '.github/workflows/pull_*.yml' - - '.github/workflows/linting.yml' - - '.github/workflows/markdown_lint.yml' - - '*.md' - pull_request: - branches: [ "amd-staging" ] - paths-ignore: - - '.github/workflows/pull_*.yml' - - '.github/workflows/linting.yml' - - '.github/workflows/markdown_lint.yml' - - '*.md' - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -env: - # TODO(jrmadsen): replace LD_RUNPATH_FLAG, GPU_LIST, etc. with internal handling in cmake - ROCM_PATH: "/opt/rocm" - CMAKE_PREFIX_PATH: "/opt/rocm" - LD_RUNPATH_FLAG: " -Wl,--enable-new-dtags -Wl,--rpath,/opt/rocm/lib" - GPU_LIST: "gfx900 gfx906 gfx908 gfx90a gfx940 gfx941 gfx942 gfx1030 gfx1100 gfx1101 gfx1102" - -jobs: - get_latest_mainline_build_number: - runs-on: mi200 - - outputs: - LATEST_BUILD_NUMBER: ${{ steps.get_build_number.outputs.LATEST_BUILD_NUMBER }} - - steps: - - id: get_build_number - run: echo "LATEST_BUILD_NUMBER=$(wget -qO- 'http://rocm-ci.amd.com/job/compute-rocm-dkms-no-npi-hipclang/lastSuccessfulBuild/buildNumber')" >> $GITHUB_OUTPUT - - Mi200-Ubuntu22-Doc-Packages: - # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix - strategy: - fail-fast: true - max-parallel: 4 - matrix: - include: - - os: 'ubuntu-22.04' - runner: 'renderD129' - device: '/renderD129' - build-type: 'Release' - ci-flags: '--coverage' - name-tag: '-codecov' - - os: 'ubuntu-22.04' - runner: 'renderD130' - device: '/renderD130' - build-type: 'RelWithDebInfo' - ci-flags: '' - name-tag: '' - - runs-on: ${{ matrix.runner }} - - # define this for containers - env: - GIT_DISCOVERY_ACROSS_FILESYSTEM: 1 - - container: - image: compute-artifactory.amd.com:5000/rocm-plus-docker/compute-rocm-dkms-no-npi-hipclang:${{ needs.get_latest_mainline_build_number.outputs.LATEST_BUILD_NUMBER }}-${{ matrix.os }}-stg1 - options: --memory=128g --cpus=32 --ipc=host --device=/dev/kfd --device=/dev/dri${{ matrix.device }} --group-add video --cap-add=SYS_PTRACE --cap-add CAP_SYS_PTRACE --cap-add CAP_SYS_ADMIN --security-opt seccomp=unconfined - - if: ${{ always() }} - needs: get_latest_mainline_build_number - - steps: - - uses: actions/checkout@v3 - - - name: List Files - shell: bash - run: | - which-realpath() { echo "$1 resolves to $(realpath $(which $1))"; } - for i in python python3 git cmake ctest; do which-realpath $i; done - ls -la - - - name: Install Python requirements - shell: bash - run: pip3 install -r requirements.txt - - - name: Configure, Build, and Test - timeout-minutes: 30 - shell: bash - run: - python3 ./script/run-ci.py -B build - --name ${{ github.repository }}-${{ github.ref_name }}-mi200-${{ matrix.os }}${{ matrix.name-tag }} - --build-jobs 12 - --site mi200 - --gpu-targets ${{ env.GPU_LIST }} - ${{ matrix.ci-flags }} - -- - -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} - -DCMAKE_INSTALL_PREFIX="${{ env.ROCM_PATH }}" - -DCMAKE_MODULE_PATH="${{ env.ROCM_PATH }}/hip/cmake;${{ env.ROCM_PATH }}/lib/cmake" - -DCMAKE_SHARED_LINKER_FLAGS="${{ env.LD_RUNPATH_FLAG }}" - -DCMAKE_INSTALL_RPATH=${{ env.ROCM_PATH }} - -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF - -DCPACK_PACKAGING_INSTALL_PREFIX=${{ env.ROCM_PATH }} - -DCPACK_OBJCOPY_EXECUTABLE="${{ env.ROCM_PATH }}/llvm/bin/llvm-objcopy" - -DCPACK_READELF_EXECUTABLE="${{ env.ROCM_PATH }}/llvm/bin/llvm-readelf" - -DCPACK_STRIP_EXECUTABLE="${{ env.ROCM_PATH }}/llvm/bin/llvm-strip" - -DCPACK_OBJDUMP_EXECUTABLE="${{ env.ROCM_PATH }}/llvm/bin/llvm-objdump" - -DCPACK_GENERATOR='DEB;RPM;TGZ' - -DPython3_EXECUTABLE=$(which python3) - - - name: Install - timeout-minutes: 10 - run: - cmake --build build --target install --parallel 8 - - - name: Build Docs - timeout-minutes: 10 - run: - cmake --build build --target doc --parallel 8 - - - name: Build Packaging - timeout-minutes: 10 - run: - cmake --build build --target package --parallel 8 - - - name: Archive production artifacts - uses: actions/upload-artifact@v3 - with: - name: artifacts - path: | - ${{github.workspace}}/build/*.deb - ${{github.workspace}}/build/*.rpm - ${{github.workspace}}/build/*.tgz - - Building-Testing: - # See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix - - strategy: - fail-fast: true - matrix: - runner: ['vega20', 'mi100', 'navi21', 'navi32'] - device: [''] - os: ['ubuntu-22.04'] - build-type: ['RelWithDebInfo'] - ci-flags: [''] - name-tag: [''] - extra-options: [''] - include: - - os: 'rhel-8.x' - runner: 'renderD131' - device: '/renderD131' - build-type: 'RelWithDebInfo' - ci-flags: '' - name-tag: '' - extra-options: '--memory=128g --cpus=32' - - os: 'rhel-9.x' - runner: 'renderD129' - device: '/renderD129' - build-type: 'RelWithDebInfo' - ci-flags: '' - name-tag: '' - extra-options: '--memory=128g --cpus=32' - - os: 'sles' - runner: 'renderD130' - device: '/renderD130' - build-type: 'RelWithDebInfo' - ci-flags: '' - name-tag: '' - extra-options: '--memory=128g --cpus=32' - - os: 'ubuntu-20.04' - runner: 'renderD131' - device: '/renderD131' - build-type: 'RelWithDebInfo' - ci-flags: '' - name-tag: '' - extra-options: '--memory=128g --cpus=32' - - runs-on: ${{ matrix.runner }} - - # define this for containers - env: - GIT_DISCOVERY_ACROSS_FILESYSTEM: 1 - - container: - image: compute-artifactory.amd.com:5000/rocm-plus-docker/compute-rocm-dkms-no-npi-hipclang:${{ needs.get_latest_mainline_build_number.outputs.LATEST_BUILD_NUMBER }}-${{ matrix.os }}-stg1 - options: ${{ matrix.extra-options }} --ipc=host --device=/dev/kfd --device=/dev/dri${{ matrix.device }} --group-add video --cap-add=SYS_PTRACE --cap-add CAP_SYS_PTRACE --cap-add CAP_SYS_ADMIN --security-opt seccomp=unconfined - - if: ${{ always() }} - needs: get_latest_mainline_build_number - - steps: - - uses: actions/checkout@v3 - - - name: List Files - shell: bash - run: | - which-realpath() { echo "$1 resolves to $(realpath $(which $1))"; } - for i in python python3 git cmake ctest; do which-realpath $i; done - ls -la - - - name: Install Python requirements - shell: bash - run: pip3 install -r requirements.txt - - - name: Configure, Build, and Test - if: ${{ matrix.runner != 'navi32' }} - timeout-minutes: 30 - shell: bash - run: - python3 ./script/run-ci.py -B build - --name ${{ github.repository }}-${{ github.ref_name }}-${{ matrix.runner }}-${{ matrix.os }}${{ matrix.name-tag }} - --build-jobs 12 - --site ${{ matrix.runner }} - --gpu-targets ${{ env.GPU_LIST }} - ${{ matrix.ci-flags }} - -- - -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} - -DCMAKE_INSTALL_PREFIX="${{ env.ROCM_PATH }}" - -DCMAKE_MODULE_PATH="${{ env.ROCM_PATH }}/hip/cmake;${{ env.ROCM_PATH }}/lib/cmake" - -DCMAKE_SHARED_LINKER_FLAGS="${{ env.LD_RUNPATH_FLAG }}" - -DCMAKE_INSTALL_RPATH=${{ env.ROCM_PATH }} - -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF - -DCPACK_PACKAGING_INSTALL_PREFIX=${{ env.ROCM_PATH }} - -DCPACK_OBJCOPY_EXECUTABLE="${{ env.ROCM_PATH }}/llvm/bin/llvm-objcopy" - -DCPACK_READELF_EXECUTABLE="${{ env.ROCM_PATH }}/llvm/bin/llvm-readelf" - -DCPACK_STRIP_EXECUTABLE="${{ env.ROCM_PATH }}/llvm/bin/llvm-strip" - -DCPACK_OBJDUMP_EXECUTABLE="${{ env.ROCM_PATH }}/llvm/bin/llvm-objdump" - -DCPACK_GENERATOR='DEB;RPM;TGZ' - -DPython3_EXECUTABLE=$(which python3) - - - name: Configure, Build, and Test - if: ${{ matrix.runner == 'navi32' }} - timeout-minutes: 30 - shell: bash - run: - python3 ./script/run-ci.py -B build - --name ${{ github.repository }}-${{ github.ref_name }}-${{ matrix.runner }}${{ matrix.name-tag }} - --build-jobs 12 - --site ${{ matrix.runner }} - --gpu-targets ${{ env.GPU_LIST }} - ${{ matrix.ci-flags }} - -- - -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} - -DCMAKE_INSTALL_PREFIX="${{ env.ROCM_PATH }}" - -DCMAKE_MODULE_PATH="${{ env.ROCM_PATH }}/hip/cmake;${{ env.ROCM_PATH }}/lib/cmake" - -DCMAKE_SHARED_LINKER_FLAGS="${{ env.LD_RUNPATH_FLAG }}" - -DCMAKE_INSTALL_RPATH=${{ env.ROCM_PATH }} - -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF - -DCPACK_PACKAGING_INSTALL_PREFIX=${{ env.ROCM_PATH }} - -DCPACK_OBJCOPY_EXECUTABLE="${{ env.ROCM_PATH }}/llvm/bin/llvm-objcopy" - -DCPACK_READELF_EXECUTABLE="${{ env.ROCM_PATH }}/llvm/bin/llvm-readelf" - -DCPACK_STRIP_EXECUTABLE="${{ env.ROCM_PATH }}/llvm/bin/llvm-strip" - -DCPACK_OBJDUMP_EXECUTABLE="${{ env.ROCM_PATH }}/llvm/bin/llvm-objdump" - -DCPACK_GENERATOR='DEB;RPM;TGZ' - -DPython3_EXECUTABLE=$(which python3) - -- - -LE v1 - - sanitizers: - # 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: - include: - - os: 'ubuntu-22.04' - runner: 'vega20' - build-type: 'RelWithDebInfo' - ci-flags: '' - sanitizer: 'ThreadSanitizer' - - os: 'ubuntu-22.04' - runner: 'navi32' - build-type: 'RelWithDebInfo' - ci-flags: '' - sanitizer: 'LeakSanitizer' - - os: 'ubuntu-22.04' - runner: 'mi100' - build-type: 'RelWithDebInfo' - ci-flags: '' - sanitizer: 'AddressSanitizer' - - runs-on: ${{ matrix.runner }} - - # define this for containers - env: - GIT_DISCOVERY_ACROSS_FILESYSTEM: 1 - - container: - image: compute-artifactory.amd.com:5000/rocm-plus-docker/compute-rocm-dkms-no-npi-hipclang:${{ needs.get_latest_mainline_build_number.outputs.LATEST_BUILD_NUMBER }}-${{ matrix.os }}-stg1 - options: --privileged --ipc=host --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --cap-add CAP_SYS_PTRACE --cap-add CAP_SYS_ADMIN --security-opt seccomp=unconfined - - if: ${{ always() }} - needs: get_latest_mainline_build_number - - steps: - - uses: actions/checkout@v3 - - - name: List Files - shell: bash - run: | - which-realpath() { echo "$1 resolves to $(realpath $(which $1))"; } - for i in python python3 git cmake ctest; do which-realpath $i; done - ls -la - - - name: Install Python requirements - shell: bash - run: pip3 install -r requirements.txt - - - name: Configure, Build, and Test - timeout-minutes: 30 - shell: bash - run: - python3 ./script/run-ci.py -B build - --name ${{ github.repository }}-${{ github.ref_name }}-mi100-${{ matrix.sanitizer }} - --build-jobs 12 - --site mi100 - --gpu-targets ${{ env.GPU_LIST }} - --memcheck=${{ matrix.sanitizer }} - ${{ matrix.ci-flags }} - -- - -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} - -DCMAKE_INSTALL_PREFIX="${{ env.ROCM_PATH }}" - -DCMAKE_MODULE_PATH="${{ env.ROCM_PATH }}/hip/cmake;${{ env.ROCM_PATH }}/lib/cmake" - -DCMAKE_SHARED_LINKER_FLAGS="${{ env.LD_RUNPATH_FLAG }}" - -DCMAKE_INSTALL_RPATH=${{ env.ROCM_PATH }} - -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF - -DPython3_EXECUTABLE=$(which python3) diff --git a/.github/workflows/docker_cleanup.yml b/.github/workflows/docker_cleanup.yml deleted file mode 100644 index 9caa4adf0f..0000000000 --- a/.github/workflows/docker_cleanup.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: Dockers Cleanup - -on: - # allow triggering manually - workflow_dispatch: - # run on weekly schedule - schedule: - - cron: "0 0 * * 6" - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -jobs: - cleanup-dockers: - - strategy: - fail-fast: false - matrix: - runner: ['vega20', mi200, mi100, navi21, navi31] - - runs-on: ${{ matrix.runner }} - - steps: - - name: prune-dockers - run: | - docker system prune -f -a --volumes diff --git a/.github/workflows/formatting.yml b/.github/workflows/formatting.yml deleted file mode 100644 index 9af70090c4..0000000000 --- a/.github/workflows/formatting.yml +++ /dev/null @@ -1,146 +0,0 @@ - -name: Formatting - -on: - workflow_dispatch: - pull_request: - branches: [ 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: ubuntu-22.04 - - 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 - - - name: Create pull request - if: failure() - uses: peter-evans/create-pull-request@v5 - with: - commit-message: "cmake formatting (cmake-format)" - branch: ${{ steps.extract_branch.outputs.branch }}-cmake-format - delete-branch: true - title: "Format cmake code (via cmake-format) on ${{ steps.extract_branch.outputs.branch }}" - base: ${{ steps.extract_branch.outputs.branch }} - - source: - runs-on: ubuntu-22.04 - - 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 include plugin samples src test tests-v2 -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 - - - name: Create pull request - if: failure() - uses: peter-evans/create-pull-request@v5 - with: - commit-message: "source formatting (clang-format v11)" - branch: ${{ steps.extract_branch.outputs.branch }}-clang-format - delete-branch: true - title: "Format source code (via clang-format v11) on ${{ steps.extract_branch.outputs.branch }}" - base: ${{ steps.extract_branch.outputs.branch }} - - python: - runs-on: ubuntu-22.04 - 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 - - - name: Create pull request - if: failure() - uses: peter-evans/create-pull-request@v5 - with: - commit-message: "python formatting (black)" - branch: ${{ steps.extract_branch.outputs.branch }}-python-format - delete-branch: true - title: "Format python code (via black) on ${{ steps.extract_branch.outputs.branch }}" - base: ${{ steps.extract_branch.outputs.branch }} diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml deleted file mode 100644 index 361088e9bb..0000000000 --- a/.github/workflows/linting.yml +++ /dev/null @@ -1,103 +0,0 @@ -name: Linting - -on: - workflow_dispatch: - push: - branches: [ "amd-staging" ] - paths-ignore: - - '.github/workflows/pull_*.yml' - - '*.md' - pull_request: - branches: [ "amd-staging" ] - paths-ignore: - - '.github/workflows/pull_*.yml' - - '*.md' - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -env: - # TODO(jrmadsen): replace LD_RUNPATH_FLAG, GPU_LIST, etc. with internal handling in cmake - GIT_DISCOVERY_ACROSS_FILESYSTEM: 1 - ROCM_PATH: "/opt/rocm" - CMAKE_PREFIX_PATH: "/opt/rocm" - LD_RUNPATH_FLAG: " -Wl,--enable-new-dtags -Wl,--rpath,/opt/rocm/lib" - GPU_LIST: "gfx900 gfx906 gfx908 gfx90a gfx940 gfx941 gfx942 gfx1030 gfx1100 gfx1101 gfx1102" - -jobs: - get_latest_mainline_build_number: - runs-on: mi200 - - outputs: - LATEST_BUILD_NUMBER: ${{ steps.get_build_number.outputs.LATEST_BUILD_NUMBER }} - - steps: - - id: get_build_number - run: echo "LATEST_BUILD_NUMBER=$(wget -qO- 'http://rocm-ci.amd.com/job/compute-rocm-dkms-no-npi-hipclang/lastSuccessfulBuild/buildNumber')" >> $GITHUB_OUTPUT - - linting: - strategy: - fail-fast: false - matrix: - include: - - build-type: 'Debug' - linter: 'clang-tidy' - runner: 'mi100' - os: 'ubuntu-22.04' - - build-type: 'Release' - linter: 'clang-tidy' - runner: 'vega20' - os: 'ubuntu-22.04' - - runs-on: ${{ matrix.runner }} - - needs: get_latest_mainline_build_number - - container: - image: compute-artifactory.amd.com:5000/rocm-plus-docker/compute-rocm-dkms-no-npi-hipclang:${{ needs.get_latest_mainline_build_number.outputs.LATEST_BUILD_NUMBER }}-${{ matrix.os }}-stg1 - options: --ipc=host --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --cap-add CAP_SYS_PTRACE --cap-add CAP_SYS_ADMIN --security-opt seccomp=unconfined - - steps: - - uses: actions/checkout@v3 - - - name: List Files - shell: bash - run: | - which-realpath() { echo "$1 resolves to $(realpath $(which $1))"; } - for i in python python3 git cmake ctest; do which-realpath $i; done - ls -la - - - name: Update container - run: | - apt-get update - apt-get install -y clang-tidy-11 g++-12 - update-alternatives --install /usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy-11 10 - update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 10 --slave /usr/bin/g++ g++ /usr/bin/g++-11 - update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 20 --slave /usr/bin/g++ g++ /usr/bin/g++-12 - - - name: Install Python requirements - shell: bash - run: | - python3 -m pip install -r requirements.txt - - - name: Configure, Build, and Test - timeout-minutes: 30 - shell: bash - run: - python3 ./script/run-ci.py -B build - --name ${{ github.repository }}-${{ github.ref_name }}-${{ matrix.runner }}-${{ matrix.linter }}-${{ matrix.build-type }} - --build-jobs 12 - --site ${{ matrix.runner }} - --gpu-targets ${{ env.GPU_LIST }} - --linter ${{ matrix.linter }} - -- - -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} - -DCMAKE_INSTALL_PREFIX="${{ env.ROCM_PATH }}" - -DCMAKE_MODULE_PATH="${{ env.ROCM_PATH }}/hip/cmake;${{ env.ROCM_PATH }}/lib/cmake" - -DCMAKE_SHARED_LINKER_FLAGS="${{ env.LD_RUNPATH_FLAG }}" - -DCMAKE_INSTALL_RPATH=${{ env.ROCM_PATH }} - -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=OFF - -DPython3_EXECUTABLE=$(which python3) - -- - -VV diff --git a/.github/workflows/markdown_lint.yml b/.github/workflows/markdown_lint.yml deleted file mode 100644 index 2523de0d0a..0000000000 --- a/.github/workflows/markdown_lint.yml +++ /dev/null @@ -1,21 +0,0 @@ -name: Markdown Lint - -on: - workflow_dispatch: - pull_request: - branches: [ "amd-staging" ] - paths: - - '*.md' - -jobs: - check-readme: - runs-on: ubuntu-latest - steps: - - name: Check out code - uses: actions/checkout@v3 - - - name: Lint Markdown files - uses: avto-dev/markdown-lint@v1 - with: - config: './.markdown-lint-config.yml' - args: './README.md' diff --git a/.github/workflows/pull.yml b/.github/workflows/pull.yml deleted file mode 100644 index 71a78e9885..0000000000 --- a/.github/workflows/pull.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: "Pull from Gerrit" -on: - schedule: - - cron: "* */23 * * *" - -jobs: - pull: - runs-on: mi200 - steps: - - name: Adding Gerrit Remote - run: git remote add gerrit ssh://aelwazir@gerrit-git.amd.com:29418/compute/ec/rocprofiler - - name: Fetching Gerrit - run: git fetch --all - - name: Checking out amd-staging - run: git checkout amd-staging - - name: Merging staging branches - run: git merge gerrit/amd-staging - - name: Pushing to amd-staging - run: git push origin amd-staging \ No newline at end of file diff --git a/.github/workflows/pull_from_gerrit.yml b/.github/workflows/pull_from_gerrit.yml deleted file mode 100644 index 0b2d003655..0000000000 --- a/.github/workflows/pull_from_gerrit.yml +++ /dev/null @@ -1,26 +0,0 @@ -name: "Pull from Gerrit" - -on: - # allow triggering manually - workflow_dispatch: - schedule: - - cron: "0 */23 * * *" - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -jobs: - pull: - runs-on: navi32 - steps: - - name: Pull from Gerrit to gerrit-amd-staging branch - run: | - cd ${{github.workspace}} - git config --global --add safe.directory ${{github.workspace}} - git remote add gerrit ssh://aelwazir@gerrit-git.amd.com:29418/compute/ec/rocprofiler - git fetch --all - git checkout gerrit/amd-staging - git checkout -b gerrit-amd-staging - git push origin gerrit-amd-staging - git checkout amd-staging diff --git a/.github/workflows/pull_latest_dockers.yml b/.github/workflows/pull_latest_dockers.yml deleted file mode 100644 index 5540a70ff7..0000000000 --- a/.github/workflows/pull_latest_dockers.yml +++ /dev/null @@ -1,38 +0,0 @@ -name: Get Latest Dockers - -on: - # allow triggering manually - workflow_dispatch: - # run when updated - push: - branches: '*' - paths: - - '.github/workflows/pull_latest_dockers.yml' - # run when updated - schedule: - - cron: "0 */23 * * *" - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -jobs: - update-runner-mainline: - - strategy: - fail-fast: false - matrix: - runner: ['mi200', 'mi100', 'vega20', 'navi32'] - os: ['ubuntu-22.04', 'ubuntu-20.04', 'sles', 'rhel-9.x', 'rhel-8.x'] - - runs-on: ${{ matrix.runner }} - - steps: - - name: pull-image - run: | - docker pull compute-artifactory.amd.com:5000/rocm-plus-docker/compute-rocm-dkms-no-npi-hipclang:$(wget -qO- "http://rocm-ci.amd.com/job/compute-rocm-dkms-no-npi-hipclang/lastSuccessfulBuild/buildNumber")-${{ matrix.os }}-stg1 - - - name: tag-image - run: | - docker tag compute-artifactory.amd.com:5000/rocm-plus-docker/compute-rocm-dkms-no-npi-hipclang:$(wget -qO- "http://rocm-ci.amd.com/job/compute-rocm-dkms-no-npi-hipclang/lastSuccessfulBuild/buildNumber")-${{ matrix.os }}-stg1 localhost:5000/mainline-${{ matrix.os }}-stg1:latest - docker push localhost:5000/mainline-${{ matrix.os }}-stg1:latest diff --git a/.gitignore b/.gitignore index e35a85685c..4e36f8d28b 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ compile_commands.json .cache .DS_Store plugin/att/__pycache__ +.github