Add for_each_n algorithm to shp and mhp (#786) #21
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# SPDX-FileCopyrightText: Intel Corporation | |
# | |
# SPDX-License-Identifier: BSD-3-Clause | |
name: "PR Tests" | |
permissions: read-all | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
env: | |
CTEST_OUTPUT_ON_FAILURE: 1 | |
jobs: | |
checks: | |
runs-on: intel-ubuntu-latest | |
timeout-minutes: 10 | |
steps: | |
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | |
- name: Ubuntu dependencies | |
run: scripts/install-doxygen.sh | |
- uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 | |
with: | |
python-version: '3.10' | |
cache: 'pip' | |
- name: Install python dependencies | |
run: pip install -r requirements.txt | |
- name: Run checkers | |
run: pre-commit run --all | |
# disabled due to DRA-163 | |
# unit_tests: | |
# runs-on: gkpvc | |
# timeout-minutes: 30 | |
# strategy: | |
# # test everything, even if one fails | |
# fail-fast: false | |
# matrix: | |
# include: | |
# # - cxx: icpx | |
# - cxx: g++ | |
# name: ${{ matrix.cxx }} | |
# env: | |
# CXX: ${{ matrix.cxx }} | |
# steps: | |
# - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | |
# - name: Generate | |
# run: cmake -B build | |
# - name: Build | |
# run: make -C build -j | |
# - name: Unit tests | |
# run: ctest --test-dir build -L TESTLABEL -j 4 | |
# - uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 | |
# if: always() | |
# with: | |
# name: log-gcc-${{ env.CXX }} | |
# path: | | |
# build/Testing | |
# build/test/gtest/mhp/*.log | |
# build/benchmarks/gbench/mhp/*.log | |
# build/examples/mhp/*.log | |
pvc_unit_tests: | |
runs-on: gkpvc | |
timeout-minutes: 30 | |
strategy: | |
# test everything, even if one fails | |
fail-fast: false | |
matrix: | |
include: | |
# Disabled because it gets a timeout 1/2 the time | |
#- config: Debug | |
- config: Release | |
name: pvc-impi-icpx-${{ matrix.config }} | |
env: | |
CXX: icpx | |
FI_PROVIDER: tcp | |
steps: | |
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | |
- name: Generate | |
run: cmake -B build -DCMAKE_BUILD_TYPE=${{ matrix.config }} | |
- name: Save environment dump | |
run: printenv > build/envdump.txt | |
# change this step to building just tests once unittest job is back | |
- name: Build everything | |
run: make -C build -j | |
# - name: Build tests | |
# run: cmake --build build --target all-tests -- -j | |
- name: Unit tests | |
# run: srun -p cluster scripts/run_command_on_compute_node.sh build/Testing/tests.outerr.txt ctest --test-dir build -L TESTLABEL -j 4 | |
run: ctest --test-dir build -L TESTLABEL -j 4 | |
- uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 | |
if: always() | |
with: | |
name: log-pvc-impi-icpx-${{ matrix.config }} | |
path: | | |
build/CMakeCache.txt | |
build/envdump.txt | |
build/Testing | |
build/test/gtest/mhp/*.log | |
build/benchmarks/gbench/mhp/*.log | |
build/examples/mhp/*.log | |
build/test/gtest/shp/*.log | |
build/benchmarks/gbench/shp/*.log | |
build/examples/shp/*.log | |
# disabled due to DRA-164 | |
# ishmem_unit_tests: | |
# runs-on: gkpvc | |
# timeout-minutes: 30 | |
# strategy: | |
# # test everything, even if one fails | |
# fail-fast: false | |
# matrix: | |
# include: | |
# # Disabled because also gets a timeout | |
# # - config: Debug | |
# - config: Release | |
# name: ishmem-impi-icpx-${{ matrix.config }} | |
# env: | |
# CXX: icpx | |
# steps: | |
# - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | |
# - name: Generate | |
# run: cmake -B build -DCMAKE_BUILD_TYPE=${{ matrix.config }} -DENABLE_ISHMEM=on -DENABLE_L0=on -DENABLE_OFI=on -DOFI_PROVIDER=psm3 -DONETILE_PVC=on | |
# - name: Build ISHMEM | |
# run: cmake --build build --target shmem -- -j | |
# - name: Build MHP tests | |
# run: cmake --build build --target mhp-tests mhp-tests-3 -- -j | |
# - name: MHP unit tests | |
# # run: srun -p cluster scripts/run_command_on_compute_node.sh build/Testing/mhptests.outerr.txt ctest --test-dir build -R ^mhp-tests-sycl -L MHP -j 4 | |
# run: ctest --test-dir build -R ^mhp-tests-sycl -L MHP -j 4 | |
# - uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 | |
# if: always() | |
# with: | |
# name: log-ishmem-impi-icpx-${{ matrix.config }} | |
# path: | | |
# build/Testing | |
# build/test/gtest/mhp/*.log | |
# build/benchmarks/gbench/mhp/*.log | |
# build/examples/mhp/*.log | |
publish: | |
# needs: [checks, unit_tests, pvc_unit_tests, ishmem_unit_tests] | |
needs: [checks, pvc_unit_tests] | |
runs-on: intel-ubuntu-latest | |
timeout-minutes: 10 | |
permissions: | |
contents: write | |
env: | |
SPHINXOPTS: -q -W | |
if: ${{ github.ref == 'refs/heads/main' }} | |
steps: | |
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | |
- uses: actions/setup-python@82c7e631bb3cdc910f68e0081d67478d79c6982d # v5.1.0 | |
with: | |
python-version: '3.10' | |
cache: 'pip' | |
- run: pip install -r requirements.txt | |
- name: Ubuntu dependencies | |
run: scripts/install-doxygen.sh | |
- name: Build doc | |
run: | | |
make -C doc/spec html | |
- name: Checkout gh-pages | |
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | |
with: | |
ref: gh-pages | |
path: gh-pages | |
- name: Publish to github pages | |
run: | | |
rm -rf gh-pages/spec gh-pages/doxygen | |
touch gh-pages/.nojekyll | |
cp -r doc/spec/build/html gh-pages/spec | |
cp -r doc/spec/build/doxygen-html gh-pages/doxygen | |
cd gh-pages | |
git config user.name github-actions | |
git config user.email [email protected] | |
git add . | |
# Ignore errors because no updates returns an error status. | |
git commit --reset-author --amend -m "Update from github actions" | |
git push --force origin gh-pages |