From 6a183e6d8dd6730544d2957d1f29da9f064efee4 Mon Sep 17 00:00:00 2001 From: Raghuveer Devulapalli Date: Thu, 11 Jun 2026 06:45:44 +0000 Subject: [PATCH 1/4] Update to latest Intel SDE and use wget instead of curl --- .github/workflows/build-numpy.yml | 4 +-- .github/workflows/build-test-on-32bit.sh | 2 +- .github/workflows/c-cpp.yml | 36 ++++++++++++------------ 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/.github/workflows/build-numpy.yml b/.github/workflows/build-numpy.yml index a74dce96..d08cf923 100644 --- a/.github/workflows/build-numpy.yml +++ b/.github/workflows/build-numpy.yml @@ -47,7 +47,7 @@ jobs: - name: Install Intel SDE run: | - curl -o /tmp/sde.tar.xz https://downloadmirror.intel.com/859732/sde-external-9.58.0-2025-06-16-lin.tar.xz + wget -O /tmp/sde.tar.xz https://downloadmirror.intel.com/915934/sde-external-10.8.0-2026-03-15-lin.tar.xz mkdir /tmp/sde && tar -xvf /tmp/sde.tar.xz -C /tmp/sde/ sudo mv /tmp/sde/* /opt/sde && sudo ln -s /opt/sde/sde64 /usr/bin/sde @@ -100,7 +100,7 @@ jobs: - name: Install Intel SDE run: | - curl -o /tmp/sde.tar.xz https://downloadmirror.intel.com/859732/sde-external-9.58.0-2025-06-16-lin.tar.xz + wget -O /tmp/sde.tar.xz https://downloadmirror.intel.com/915934/sde-external-10.8.0-2026-03-15-lin.tar.xz mkdir /tmp/sde && tar -xvf /tmp/sde.tar.xz -C /tmp/sde/ sudo mv /tmp/sde/* /opt/sde && sudo ln -s /opt/sde/sde64 /usr/bin/sde diff --git a/.github/workflows/build-test-on-32bit.sh b/.github/workflows/build-test-on-32bit.sh index ca213888..687dadc8 100644 --- a/.github/workflows/build-test-on-32bit.sh +++ b/.github/workflows/build-test-on-32bit.sh @@ -15,7 +15,7 @@ cmake .. -DBUILD_GMOCK=OFF make install ## Install Intel SDE -curl -o /tmp/sde.tar.xz https://downloadmirror.intel.com/859732/sde-external-9.58.0-2025-06-16-lin.tar.xz +wget -O /tmp/sde.tar.xz https://downloadmirror.intel.com/915934/sde-external-10.8.0-2026-03-15-lin.tar.xz mkdir /tmp/sde && tar -xvf /tmp/sde.tar.xz -C /tmp/sde/ mv /tmp/sde/* /opt/sde && ln -s /opt/sde/sde /usr/bin/sde diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index eb25cc74..87c95544 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -67,11 +67,11 @@ jobs: - name: Install dependencies run: | sudo apt update - sudo apt -y install g++-9 libgtest-dev meson curl git + sudo apt -y install g++-9 libgtest-dev meson wget git - name: Install Intel SDE run: | - curl -o /tmp/sde.tar.xz https://downloadmirror.intel.com/859732/sde-external-9.58.0-2025-06-16-lin.tar.xz + wget -O /tmp/sde.tar.xz https://downloadmirror.intel.com/915934/sde-external-10.8.0-2026-03-15-lin.tar.xz mkdir /tmp/sde && tar -xvf /tmp/sde.tar.xz -C /tmp/sde/ sudo mv /tmp/sde/* /opt/sde && sudo ln -s /opt/sde/sde64 /usr/bin/sde @@ -97,11 +97,11 @@ jobs: - name: Install dependencies run: | sudo apt update - sudo apt -y install g++-10 libgtest-dev meson curl git + sudo apt -y install g++-10 libgtest-dev meson wget git - name: Install Intel SDE run: | - curl -o /tmp/sde.tar.xz https://downloadmirror.intel.com/859732/sde-external-9.58.0-2025-06-16-lin.tar.xz + wget -O /tmp/sde.tar.xz https://downloadmirror.intel.com/915934/sde-external-10.8.0-2026-03-15-lin.tar.xz mkdir /tmp/sde && tar -xvf /tmp/sde.tar.xz -C /tmp/sde/ sudo mv /tmp/sde/* /opt/sde && sudo ln -s /opt/sde/sde64 /usr/bin/sde @@ -127,11 +127,11 @@ jobs: - name: Install dependencies run: | sudo apt update - sudo apt -y install g++-11 libgtest-dev meson curl git + sudo apt -y install g++-11 libgtest-dev meson wget git - name: Install Intel SDE run: | - curl -o /tmp/sde.tar.xz https://downloadmirror.intel.com/859732/sde-external-9.58.0-2025-06-16-lin.tar.xz + wget -O /tmp/sde.tar.xz https://downloadmirror.intel.com/915934/sde-external-10.8.0-2026-03-15-lin.tar.xz mkdir /tmp/sde && tar -xvf /tmp/sde.tar.xz -C /tmp/sde/ sudo mv /tmp/sde/* /opt/sde && sudo ln -s /opt/sde/sde64 /usr/bin/sde @@ -156,11 +156,11 @@ jobs: - name: Install dependencies run: | sudo apt update - sudo apt -y install g++-13 libgtest-dev meson curl git + sudo apt -y install g++-13 libgtest-dev meson wget git - name: Install Intel SDE run: | - curl -o /tmp/sde.tar.xz https://downloadmirror.intel.com/859732/sde-external-9.58.0-2025-06-16-lin.tar.xz + wget -O /tmp/sde.tar.xz https://downloadmirror.intel.com/915934/sde-external-10.8.0-2026-03-15-lin.tar.xz mkdir /tmp/sde && tar -xvf /tmp/sde.tar.xz -C /tmp/sde/ sudo mv /tmp/sde/* /opt/sde && sudo ln -s /opt/sde/sde64 /usr/bin/sde @@ -193,11 +193,11 @@ jobs: - name: Install dependencies run: | sudo apt update - sudo apt -y install clang-18 libomp-18-dev libgtest-dev meson curl git + sudo apt -y install clang-18 libomp-18-dev libgtest-dev meson wget git - name: Install Intel SDE run: | - curl -o /tmp/sde.tar.xz https://downloadmirror.intel.com/859732/sde-external-9.58.0-2025-06-16-lin.tar.xz + wget -O /tmp/sde.tar.xz https://downloadmirror.intel.com/915934/sde-external-10.8.0-2026-03-15-lin.tar.xz mkdir /tmp/sde && tar -xvf /tmp/sde.tar.xz -C /tmp/sde/ sudo mv /tmp/sde/* /opt/sde && sudo ln -s /opt/sde/sde64 /usr/bin/sde @@ -231,11 +231,11 @@ jobs: - name: Install dependencies run: | sudo apt update - sudo apt -y install g++-10 libgtest-dev meson curl git + sudo apt -y install g++-10 libgtest-dev meson wget git - name: Install Intel SDE run: | - curl -o /tmp/sde.tar.xz https://downloadmirror.intel.com/859732/sde-external-9.58.0-2025-06-16-lin.tar.xz + wget -O /tmp/sde.tar.xz https://downloadmirror.intel.com/915934/sde-external-10.8.0-2026-03-15-lin.tar.xz mkdir /tmp/sde && tar -xvf /tmp/sde.tar.xz -C /tmp/sde/ sudo mv /tmp/sde/* /opt/sde && sudo ln -s /opt/sde/sde64 /usr/bin/sde @@ -263,11 +263,11 @@ jobs: - name: Install dependencies run: | sudo apt update - sudo apt -y install g++-13 libgtest-dev meson curl git + sudo apt -y install g++-13 libgtest-dev meson wget git - name: Install Intel SDE run: | - curl -o /tmp/sde.tar.xz https://downloadmirror.intel.com/859732/sde-external-9.58.0-2025-06-16-lin.tar.xz + wget -O /tmp/sde.tar.xz https://downloadmirror.intel.com/915934/sde-external-10.8.0-2026-03-15-lin.tar.xz mkdir /tmp/sde && tar -xvf /tmp/sde.tar.xz -C /tmp/sde/ sudo mv /tmp/sde/* /opt/sde && sudo ln -s /opt/sde/sde64 /usr/bin/sde @@ -312,13 +312,13 @@ jobs: echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list sudo add-apt-repository -y "deb https://apt.repos.intel.com/oneapi all main" sudo apt update --allow-insecure-repositories - sudo apt --allow-unauthenticated -y install intel-oneapi-compiler-dpcpp-cpp libgtest-dev curl git python3-pip meson + sudo apt --allow-unauthenticated -y install intel-oneapi-compiler-dpcpp-cpp libgtest-dev wget git python3-pip meson - name: Install Intel SDE run: | - #INTEL_SDE_URL=$(curl -s https://www.intel.com/content/www/us/en/download/684897/813591/intel-software-development-emulator.html | grep -Po 'https://downloadmirror.intel.com/.*lin.tar.xz(?=")') - #curl -o /tmp/sde.tar.xz $INTEL_SDE_URL - curl -o /tmp/sde.tar.xz https://downloadmirror.intel.com/859732/sde-external-9.58.0-2025-06-16-lin.tar.xz + #INTEL_SDE_URL=$(wget -s https://www.intel.com/content/www/us/en/download/684897/813591/intel-software-development-emulator.html | grep -Po 'https://downloadmirror.intel.com/.*lin.tar.xz(?=")') + #wget -O /tmp/sde.tar.xz $INTEL_SDE_URL + wget -O /tmp/sde.tar.xz https://downloadmirror.intel.com/915934/sde-external-10.8.0-2026-03-15-lin.tar.xz mkdir /tmp/sde && tar -xvf /tmp/sde.tar.xz -C /tmp/sde/ sudo mv /tmp/sde/* /opt/sde && sudo ln -s /opt/sde/sde64 /usr/bin/sde From f5fbf83637b36169947401b2666bbf68fb4b7fa8 Mon Sep 17 00:00:00 2001 From: Raghuveer Devulapalli Date: Wed, 24 Jun 2026 16:21:37 +0000 Subject: [PATCH 2/4] Replace wget/curl Intel SDE downloads with setup-sde GitHub action - Replace manual wget downloads with petarpetrovt/setup-sde@v5.0 action - Updated c-cpp.yml (8 jobs) and build-numpy.yml (2 jobs) - Use SDE version 9.58.0 with SDE_PATH environment variable --- .github/workflows/build-numpy.yml | 26 +++++--- .github/workflows/c-cpp.yml | 106 ++++++++++++++++++------------ 2 files changed, 80 insertions(+), 52 deletions(-) diff --git a/.github/workflows/build-numpy.yml b/.github/workflows/build-numpy.yml index d08cf923..e8bea4ac 100644 --- a/.github/workflows/build-numpy.yml +++ b/.github/workflows/build-numpy.yml @@ -45,11 +45,14 @@ jobs: with: python-version: '3.12' - - name: Install Intel SDE - run: | - wget -O /tmp/sde.tar.xz https://downloadmirror.intel.com/915934/sde-external-10.8.0-2026-03-15-lin.tar.xz - mkdir /tmp/sde && tar -xvf /tmp/sde.tar.xz -C /tmp/sde/ - sudo mv /tmp/sde/* /opt/sde && sudo ln -s /opt/sde/sde64 /usr/bin/sde + - name: Setup Intel SDE + uses: petarpetrovt/setup-sde@31aa4a8e85e109bef00f1d838613fcc6ec421271 # v5.0 + with: + environmentVariableName: SDE_PATH + sdeVersion: 9.58.0 + + - name: Add Intel SDE to PATH + run: echo "$SDE_PATH" >> "$GITHUB_PATH" - name: Install NumPy dependencies working-directory: ${{ github.workspace }}/numpy @@ -98,11 +101,14 @@ jobs: sudo apt update sudo apt -y install g++-12 gcc-12 git - - name: Install Intel SDE - run: | - wget -O /tmp/sde.tar.xz https://downloadmirror.intel.com/915934/sde-external-10.8.0-2026-03-15-lin.tar.xz - mkdir /tmp/sde && tar -xvf /tmp/sde.tar.xz -C /tmp/sde/ - sudo mv /tmp/sde/* /opt/sde && sudo ln -s /opt/sde/sde64 /usr/bin/sde + - name: Setup Intel SDE + uses: petarpetrovt/setup-sde@31aa4a8e85e109bef00f1d838613fcc6ec421271 # v5.0 + with: + environmentVariableName: SDE_PATH + sdeVersion: 9.58.0 + + - name: Add Intel SDE to PATH + run: echo "$SDE_PATH" >> "$GITHUB_PATH" - name: Checkout NumPy main uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 87c95544..2be891c9 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -69,11 +69,14 @@ jobs: sudo apt update sudo apt -y install g++-9 libgtest-dev meson wget git - - name: Install Intel SDE - run: | - wget -O /tmp/sde.tar.xz https://downloadmirror.intel.com/915934/sde-external-10.8.0-2026-03-15-lin.tar.xz - mkdir /tmp/sde && tar -xvf /tmp/sde.tar.xz -C /tmp/sde/ - sudo mv /tmp/sde/* /opt/sde && sudo ln -s /opt/sde/sde64 /usr/bin/sde + - name: Setup Intel SDE + uses: petarpetrovt/setup-sde@31aa4a8e85e109bef00f1d838613fcc6ec421271 # v5.0 + with: + environmentVariableName: SDE_PATH + sdeVersion: 9.58.0 + + - name: Add Intel SDE to PATH + run: echo "$SDE_PATH" >> "$GITHUB_PATH" - name: Build env: @@ -99,11 +102,14 @@ jobs: sudo apt update sudo apt -y install g++-10 libgtest-dev meson wget git - - name: Install Intel SDE - run: | - wget -O /tmp/sde.tar.xz https://downloadmirror.intel.com/915934/sde-external-10.8.0-2026-03-15-lin.tar.xz - mkdir /tmp/sde && tar -xvf /tmp/sde.tar.xz -C /tmp/sde/ - sudo mv /tmp/sde/* /opt/sde && sudo ln -s /opt/sde/sde64 /usr/bin/sde + - name: Setup Intel SDE + uses: petarpetrovt/setup-sde@31aa4a8e85e109bef00f1d838613fcc6ec421271 # v5.0 + with: + environmentVariableName: SDE_PATH + sdeVersion: 9.58.0 + + - name: Add Intel SDE to PATH + run: echo "$SDE_PATH" >> "$GITHUB_PATH" - name: Build env: @@ -129,11 +135,14 @@ jobs: sudo apt update sudo apt -y install g++-11 libgtest-dev meson wget git - - name: Install Intel SDE - run: | - wget -O /tmp/sde.tar.xz https://downloadmirror.intel.com/915934/sde-external-10.8.0-2026-03-15-lin.tar.xz - mkdir /tmp/sde && tar -xvf /tmp/sde.tar.xz -C /tmp/sde/ - sudo mv /tmp/sde/* /opt/sde && sudo ln -s /opt/sde/sde64 /usr/bin/sde + - name: Setup Intel SDE + uses: petarpetrovt/setup-sde@31aa4a8e85e109bef00f1d838613fcc6ec421271 # v5.0 + with: + environmentVariableName: SDE_PATH + sdeVersion: 9.58.0 + + - name: Add Intel SDE to PATH + run: echo "$SDE_PATH" >> "$GITHUB_PATH" - name: Build env: @@ -158,11 +167,14 @@ jobs: sudo apt update sudo apt -y install g++-13 libgtest-dev meson wget git - - name: Install Intel SDE - run: | - wget -O /tmp/sde.tar.xz https://downloadmirror.intel.com/915934/sde-external-10.8.0-2026-03-15-lin.tar.xz - mkdir /tmp/sde && tar -xvf /tmp/sde.tar.xz -C /tmp/sde/ - sudo mv /tmp/sde/* /opt/sde && sudo ln -s /opt/sde/sde64 /usr/bin/sde + - name: Setup Intel SDE + uses: petarpetrovt/setup-sde@31aa4a8e85e109bef00f1d838613fcc6ec421271 # v5.0 + with: + environmentVariableName: SDE_PATH + sdeVersion: 9.58.0 + + - name: Add Intel SDE to PATH + run: echo "$SDE_PATH" >> "$GITHUB_PATH" - name: Build examples env: @@ -195,11 +207,14 @@ jobs: sudo apt update sudo apt -y install clang-18 libomp-18-dev libgtest-dev meson wget git - - name: Install Intel SDE - run: | - wget -O /tmp/sde.tar.xz https://downloadmirror.intel.com/915934/sde-external-10.8.0-2026-03-15-lin.tar.xz - mkdir /tmp/sde && tar -xvf /tmp/sde.tar.xz -C /tmp/sde/ - sudo mv /tmp/sde/* /opt/sde && sudo ln -s /opt/sde/sde64 /usr/bin/sde + - name: Setup Intel SDE + uses: petarpetrovt/setup-sde@31aa4a8e85e109bef00f1d838613fcc6ec421271 # v5.0 + with: + environmentVariableName: SDE_PATH + sdeVersion: 9.58.0 + + - name: Add Intel SDE to PATH + run: echo "$SDE_PATH" >> "$GITHUB_PATH" - name: Build examples env: @@ -233,11 +248,14 @@ jobs: sudo apt update sudo apt -y install g++-10 libgtest-dev meson wget git - - name: Install Intel SDE - run: | - wget -O /tmp/sde.tar.xz https://downloadmirror.intel.com/915934/sde-external-10.8.0-2026-03-15-lin.tar.xz - mkdir /tmp/sde && tar -xvf /tmp/sde.tar.xz -C /tmp/sde/ - sudo mv /tmp/sde/* /opt/sde && sudo ln -s /opt/sde/sde64 /usr/bin/sde + - name: Setup Intel SDE + uses: petarpetrovt/setup-sde@31aa4a8e85e109bef00f1d838613fcc6ec421271 # v5.0 + with: + environmentVariableName: SDE_PATH + sdeVersion: 9.58.0 + + - name: Add Intel SDE to PATH + run: echo "$SDE_PATH" >> "$GITHUB_PATH" - name: Build env: @@ -265,11 +283,14 @@ jobs: sudo apt update sudo apt -y install g++-13 libgtest-dev meson wget git - - name: Install Intel SDE - run: | - wget -O /tmp/sde.tar.xz https://downloadmirror.intel.com/915934/sde-external-10.8.0-2026-03-15-lin.tar.xz - mkdir /tmp/sde && tar -xvf /tmp/sde.tar.xz -C /tmp/sde/ - sudo mv /tmp/sde/* /opt/sde && sudo ln -s /opt/sde/sde64 /usr/bin/sde + - name: Setup Intel SDE + uses: petarpetrovt/setup-sde@31aa4a8e85e109bef00f1d838613fcc6ec421271 # v5.0 + with: + environmentVariableName: SDE_PATH + sdeVersion: 9.58.0 + + - name: Add Intel SDE to PATH + run: echo "$SDE_PATH" >> "$GITHUB_PATH" - name: Build env: @@ -314,13 +335,14 @@ jobs: sudo apt update --allow-insecure-repositories sudo apt --allow-unauthenticated -y install intel-oneapi-compiler-dpcpp-cpp libgtest-dev wget git python3-pip meson - - name: Install Intel SDE - run: | - #INTEL_SDE_URL=$(wget -s https://www.intel.com/content/www/us/en/download/684897/813591/intel-software-development-emulator.html | grep -Po 'https://downloadmirror.intel.com/.*lin.tar.xz(?=")') - #wget -O /tmp/sde.tar.xz $INTEL_SDE_URL - wget -O /tmp/sde.tar.xz https://downloadmirror.intel.com/915934/sde-external-10.8.0-2026-03-15-lin.tar.xz - mkdir /tmp/sde && tar -xvf /tmp/sde.tar.xz -C /tmp/sde/ - sudo mv /tmp/sde/* /opt/sde && sudo ln -s /opt/sde/sde64 /usr/bin/sde + - name: Setup Intel SDE + uses: petarpetrovt/setup-sde@31aa4a8e85e109bef00f1d838613fcc6ec421271 # v5.0 + with: + environmentVariableName: SDE_PATH + sdeVersion: 9.58.0 + + - name: Add Intel SDE to PATH + run: echo "$SDE_PATH" >> "$GITHUB_PATH" - name: Build examples env: From 81c0874043e74d55a16dcc76490cb38972c14f95 Mon Sep 17 00:00:00 2001 From: Raghuveer Devulapalli Date: Wed, 24 Jun 2026 16:27:06 +0000 Subject: [PATCH 3/4] Refactor c-cpp.yml: eliminate duplicated setup and build logic - Created composite action for environment setup (.github/actions/setup-build-env) - Handles compiler installation, dependencies, and Intel SDE setup - Created composite action for Meson builds (.github/actions/meson-build) - Handles building with configurable options, CXXFLAGS, and examples - Refactored 8 jobs in c-cpp.yml to use these reusable actions - Reduced ~200+ lines of duplicated code - Improved maintainability with single source of truth for common logic --- .github/actions/meson-build/action.yml | 49 +++++ .github/actions/setup-build-env/action.yml | 40 ++++ .github/workflows/c-cpp.yml | 237 ++++++--------------- 3 files changed, 149 insertions(+), 177 deletions(-) create mode 100644 .github/actions/meson-build/action.yml create mode 100644 .github/actions/setup-build-env/action.yml diff --git a/.github/actions/meson-build/action.yml b/.github/actions/meson-build/action.yml new file mode 100644 index 00000000..a6d6d001 --- /dev/null +++ b/.github/actions/meson-build/action.yml @@ -0,0 +1,49 @@ +name: 'Meson Build' +description: 'Build project using Meson and Ninja' + +inputs: + compiler: + description: 'C++ compiler to use (e.g., g++-9, clang++-18, icpx)' + required: true + meson-options: + description: 'Additional Meson options' + required: false + default: '-Dbuild_tests=true --warnlevel 2 --werror --buildtype release' + cxxflags: + description: 'Additional CXXFLAGS' + required: false + default: '' + build-examples: + description: 'Whether to build examples first' + required: false + default: 'false' + pre-build-commands: + description: 'Commands to run before build (e.g., source environment)' + required: false + default: '' + +runs: + using: 'composite' + steps: + - name: Build examples + if: inputs.build-examples == 'true' + shell: bash + env: + CXX: ${{ inputs.compiler }} + CXXFLAGS: ${{ inputs.cxxflags }} + run: | + ${{ inputs.pre-build-commands }} + cd examples + make all + + - name: Build with Meson + shell: bash + env: + CXX: ${{ inputs.compiler }} + CXXFLAGS: ${{ inputs.cxxflags }} + run: | + ${{ inputs.pre-build-commands }} + make clean + meson setup ${{ inputs.meson-options }} builddir + cd builddir + ninja diff --git a/.github/actions/setup-build-env/action.yml b/.github/actions/setup-build-env/action.yml new file mode 100644 index 00000000..8d4c82f3 --- /dev/null +++ b/.github/actions/setup-build-env/action.yml @@ -0,0 +1,40 @@ +name: 'Setup Build Environment' +description: 'Common setup for building and testing x86-simd-sort' + +inputs: + compiler: + description: 'Compiler to install (e.g., g++-9, clang-18)' + required: true + extra-packages: + description: 'Additional apt packages to install' + required: false + default: '' + setup-sde: + description: 'Whether to setup Intel SDE' + required: false + default: 'true' + sde-version: + description: 'Intel SDE version to install' + required: false + default: '9.58.0' + +runs: + using: 'composite' + steps: + - name: Install dependencies + shell: bash + run: | + sudo apt update + sudo apt -y install ${{ inputs.compiler }} libgtest-dev meson wget git ${{ inputs.extra-packages }} + + - name: Setup Intel SDE + if: inputs.setup-sde == 'true' + uses: petarpetrovt/setup-sde@31aa4a8e85e109bef00f1d838613fcc6ec421271 # v5.0 + with: + environmentVariableName: SDE_PATH + sdeVersion: ${{ inputs.sde-version }} + + - name: Add Intel SDE to PATH + if: inputs.setup-sde == 'true' + shell: bash + run: echo "$SDE_PATH" >> "$GITHUB_PATH" diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 2be891c9..91516398 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -64,28 +64,15 @@ jobs: steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - name: Install dependencies - run: | - sudo apt update - sudo apt -y install g++-9 libgtest-dev meson wget git - - - name: Setup Intel SDE - uses: petarpetrovt/setup-sde@31aa4a8e85e109bef00f1d838613fcc6ec421271 # v5.0 + - name: Setup build environment + uses: ./.github/actions/setup-build-env with: - environmentVariableName: SDE_PATH - sdeVersion: 9.58.0 - - - name: Add Intel SDE to PATH - run: echo "$SDE_PATH" >> "$GITHUB_PATH" + compiler: g++-9 - name: Build - env: - CXX: g++-9 - run: | - make clean - meson setup -Dbuild_tests=true --warnlevel 2 --werror --buildtype release builddir - cd builddir - ninja + uses: ./.github/actions/meson-build + with: + compiler: g++-9 - name: Run test suite on SKL run: sde -skl -- ./builddir/testexe @@ -97,28 +84,15 @@ jobs: steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - name: Install dependencies - run: | - sudo apt update - sudo apt -y install g++-10 libgtest-dev meson wget git - - - name: Setup Intel SDE - uses: petarpetrovt/setup-sde@31aa4a8e85e109bef00f1d838613fcc6ec421271 # v5.0 + - name: Setup build environment + uses: ./.github/actions/setup-build-env with: - environmentVariableName: SDE_PATH - sdeVersion: 9.58.0 - - - name: Add Intel SDE to PATH - run: echo "$SDE_PATH" >> "$GITHUB_PATH" + compiler: g++-10 - name: Build - env: - CXX: g++-10 - run: | - make clean - meson setup -Dbuild_tests=true --warnlevel 2 --werror --buildtype release builddir - cd builddir - ninja + uses: ./.github/actions/meson-build + with: + compiler: g++-10 - name: Run test suite on SKX run: sde -skx -- ./builddir/testexe @@ -130,28 +104,15 @@ jobs: steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - name: Install dependencies - run: | - sudo apt update - sudo apt -y install g++-11 libgtest-dev meson wget git - - - name: Setup Intel SDE - uses: petarpetrovt/setup-sde@31aa4a8e85e109bef00f1d838613fcc6ec421271 # v5.0 + - name: Setup build environment + uses: ./.github/actions/setup-build-env with: - environmentVariableName: SDE_PATH - sdeVersion: 9.58.0 - - - name: Add Intel SDE to PATH - run: echo "$SDE_PATH" >> "$GITHUB_PATH" + compiler: g++-11 - name: Build - env: - CXX: g++-11 - run: | - make clean - meson setup -Dbuild_tests=true --warnlevel 2 --werror --buildtype release builddir - cd builddir - ninja + uses: ./.github/actions/meson-build + with: + compiler: g++-11 - name: Run test suite on TGL run: sde -tgl -- ./builddir/testexe @@ -162,35 +123,16 @@ jobs: steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - name: Install dependencies - run: | - sudo apt update - sudo apt -y install g++-13 libgtest-dev meson wget git - - - name: Setup Intel SDE - uses: petarpetrovt/setup-sde@31aa4a8e85e109bef00f1d838613fcc6ec421271 # v5.0 + - name: Setup build environment + uses: ./.github/actions/setup-build-env with: - environmentVariableName: SDE_PATH - sdeVersion: 9.58.0 - - - name: Add Intel SDE to PATH - run: echo "$SDE_PATH" >> "$GITHUB_PATH" - - - name: Build examples - env: - CXX: g++-13 - run: | - cd examples - make all + compiler: g++-13 - name: Build - env: - CXX: g++-13 - run: | - make clean - meson setup -Dbuild_tests=true --warnlevel 2 --werror --buildtype release builddir - cd builddir - ninja + uses: ./.github/actions/meson-build + with: + compiler: g++-13 + build-examples: 'true' - name: Run test suite on SPR run: sde -spr -- ./builddir/testexe --gtest_filter="*simdsort*" @@ -202,35 +144,18 @@ jobs: steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - name: Install dependencies - run: | - sudo apt update - sudo apt -y install clang-18 libomp-18-dev libgtest-dev meson wget git - - - name: Setup Intel SDE - uses: petarpetrovt/setup-sde@31aa4a8e85e109bef00f1d838613fcc6ec421271 # v5.0 + - name: Setup build environment + uses: ./.github/actions/setup-build-env with: - environmentVariableName: SDE_PATH - sdeVersion: 9.58.0 - - - name: Add Intel SDE to PATH - run: echo "$SDE_PATH" >> "$GITHUB_PATH" - - - name: Build examples - env: - CXX: clang++-18 - run: | - cd examples - make all + compiler: clang-18 + extra-packages: libomp-18-dev - name: Build - env: - CXX: clang++-18 - run: | - make clean - meson setup -Dbuild_tests=true -Duse_openmp=true -Db_sanitize=address,undefined -Dfatal_sanitizers=true -Dasan_ci_dont_validate=true -Db_lundef=false --warnlevel 0 --buildtype release builddir - cd builddir - ninja + uses: ./.github/actions/meson-build + with: + compiler: clang++-18 + meson-options: '-Dbuild_tests=true -Duse_openmp=true -Db_sanitize=address,undefined -Dfatal_sanitizers=true -Dasan_ci_dont_validate=true -Db_lundef=false --warnlevel 0 --buildtype release' + build-examples: 'true' - name: Run test suite run: ./builddir/testexe --gtest_filter="*simdsort*" @@ -243,28 +168,16 @@ jobs: steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - name: Install dependencies - run: | - sudo apt update - sudo apt -y install g++-10 libgtest-dev meson wget git - - - name: Setup Intel SDE - uses: petarpetrovt/setup-sde@31aa4a8e85e109bef00f1d838613fcc6ec421271 # v5.0 + - name: Setup build environment + uses: ./.github/actions/setup-build-env with: - environmentVariableName: SDE_PATH - sdeVersion: 9.58.0 - - - name: Add Intel SDE to PATH - run: echo "$SDE_PATH" >> "$GITHUB_PATH" + compiler: g++-10 - name: Build - env: - CXX: g++-10 - run: | - make clean - meson setup -Dbuild_tests=true -Duse_openmp=true --warnlevel 2 --werror --buildtype release builddir - cd builddir - ninja + uses: ./.github/actions/meson-build + with: + compiler: g++-10 + meson-options: '-Dbuild_tests=true -Duse_openmp=true --warnlevel 2 --werror --buildtype release' - name: Run test suite on SKX and SKL run: | @@ -278,29 +191,16 @@ jobs: steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - name: Install dependencies - run: | - sudo apt update - sudo apt -y install g++-13 libgtest-dev meson wget git - - - name: Setup Intel SDE - uses: petarpetrovt/setup-sde@31aa4a8e85e109bef00f1d838613fcc6ec421271 # v5.0 + - name: Setup build environment + uses: ./.github/actions/setup-build-env with: - environmentVariableName: SDE_PATH - sdeVersion: 9.58.0 - - - name: Add Intel SDE to PATH - run: echo "$SDE_PATH" >> "$GITHUB_PATH" + compiler: g++-13 - name: Build - env: - CXX: g++-13 - CXXFLAGS: "-DXSS_MINIMAL_NETWORK_SORT -DXSS_TEST_KEYVALUE_BASE_CASE" - run: | - make clean - meson setup -Dbuild_tests=true --warnlevel 2 --werror --buildtype release builddir - cd builddir - ninja + uses: ./.github/actions/meson-build + with: + compiler: g++-13 + cxxflags: '-DXSS_MINIMAL_NETWORK_SORT -DXSS_TEST_KEYVALUE_BASE_CASE' - name: List exported symbols run: | @@ -328,42 +228,25 @@ jobs: steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - name: Install dependencies + - name: Install Intel oneAPI repository run: | echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list sudo add-apt-repository -y "deb https://apt.repos.intel.com/oneapi all main" - sudo apt update --allow-insecure-repositories - sudo apt --allow-unauthenticated -y install intel-oneapi-compiler-dpcpp-cpp libgtest-dev wget git python3-pip meson - - name: Setup Intel SDE - uses: petarpetrovt/setup-sde@31aa4a8e85e109bef00f1d838613fcc6ec421271 # v5.0 + - name: Setup build environment + uses: ./.github/actions/setup-build-env with: - environmentVariableName: SDE_PATH - sdeVersion: 9.58.0 - - - name: Add Intel SDE to PATH - run: echo "$SDE_PATH" >> "$GITHUB_PATH" - - - name: Build examples - env: - CXX: icpx - CXXFLAGS: -fp-model=precise - run: | - source /opt/intel/oneapi/setvars.sh - cd examples - make all + compiler: intel-oneapi-compiler-dpcpp-cpp + extra-packages: python3-pip + setup-sde: 'true' - name: Build - env: - CXX: icpx - CXXFLAGS: -fp-model=precise - run: | - make clean - source /opt/intel/oneapi/setvars.sh - icpx --version - meson setup -Dbuild_tests=true --warnlevel 2 --werror --buildtype release builddir - cd builddir - ninja + uses: ./.github/actions/meson-build + with: + compiler: icpx + cxxflags: '-fp-model=precise' + build-examples: 'true' + pre-build-commands: 'source /opt/intel/oneapi/setvars.sh && icpx --version' - name: Run test suite on SPR run: | From 153e8e472a0926a98ec9452c7067aefe190caecc Mon Sep 17 00:00:00 2001 From: Raghuveer Devulapalli Date: Wed, 24 Jun 2026 16:33:20 +0000 Subject: [PATCH 4/4] Fix SPR-icpx job: handle Intel oneAPI repository setup properly The composite action was running apt update before the Intel repo GPG key was added, causing signature verification errors. Reverted SPR-icpx job to use manual setup with --allow-insecure-repositories flag as in the original workflow. --- .github/workflows/c-cpp.yml | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml index 91516398..3ba922dc 100644 --- a/.github/workflows/c-cpp.yml +++ b/.github/workflows/c-cpp.yml @@ -228,17 +228,21 @@ jobs: steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - name: Install Intel oneAPI repository + - name: Install Intel oneAPI repository and dependencies run: | echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list sudo add-apt-repository -y "deb https://apt.repos.intel.com/oneapi all main" + sudo apt update --allow-insecure-repositories + sudo apt --allow-unauthenticated -y install intel-oneapi-compiler-dpcpp-cpp libgtest-dev wget git python3-pip meson - - name: Setup build environment - uses: ./.github/actions/setup-build-env + - name: Setup Intel SDE + uses: petarpetrovt/setup-sde@31aa4a8e85e109bef00f1d838613fcc6ec421271 # v5.0 with: - compiler: intel-oneapi-compiler-dpcpp-cpp - extra-packages: python3-pip - setup-sde: 'true' + environmentVariableName: SDE_PATH + sdeVersion: 9.58.0 + + - name: Add Intel SDE to PATH + run: echo "$SDE_PATH" >> "$GITHUB_PATH" - name: Build uses: ./.github/actions/meson-build