[WIP] CI: Fix Skipped Required Workflows, Clean Up #18151
Workflow file for this run
This file contains hidden or 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
| name: 🐧 Intel | |
| on: | |
| push: | |
| branches: | |
| - "development" | |
| pull_request: | |
| concurrency: | |
| group: ${{ github.ref }}-${{ github.head_ref }}-intel | |
| cancel-in-progress: true | |
| jobs: | |
| # Ref.: https://github.com/rscohn2/oneapi-ci | |
| # intel-basekit intel-hpckit are too large in size | |
| skip_checks: | |
| name: Analyze PR | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Skip checks? | |
| run: | | |
| .github/workflows/scripts/check_diff.sh \ | |
| ${{ github.event.pull_request.head.ref }} \ | |
| ${{ github.event.pull_request.base.ref }} \ | |
| ${{ github.event.pull_request.head.repo.clone_url }} | |
| outputs: | |
| skip: ${{ env.SKIP_CHECKS }} | |
| build_icpx: | |
| name: oneAPI ICX SP | |
| runs-on: ubuntu-24.04 | |
| # Since 2021.4.0, AMReX_GpuUtility.H: error: comparison with NaN always evaluates to false in fast floating point modes | |
| # oneAPI 2022.2.0 hangs for -O2 and higher: | |
| # https://github.com/BLAST-WarpX/warpx/issues/3442 | |
| env: | |
| CXXFLAGS: "-Werror -Wno-error=pass-failed -Wno-tautological-constant-compare" | |
| # For oneAPI, Ninja is slower than the default: | |
| # CMAKE_GENERATOR: Ninja | |
| needs: skip_checks | |
| if: ${{ github.event.pull_request.draft == false }} | |
| steps: | |
| - name: Checkout code | |
| if: ${{ needs.skip_checks.outputs.skip == 'false' }} | |
| uses: actions/checkout@v4 | |
| - name: Install dependencies | |
| if: ${{ needs.skip_checks.outputs.skip == 'false' }} | |
| shell: bash | |
| run: | | |
| .github/workflows/dependencies/dpcpp.sh | |
| - name: CCache Cache | |
| if: ${{ needs.skip_checks.outputs.skip == 'false' }} | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.cache/ccache | |
| key: ccache-${{ github.workflow }}-${{ github.job }}-git-${{ github.sha }} | |
| restore-keys: | | |
| ccache-${{ github.workflow }}-${{ github.job }}-git- | |
| - name: Build WarpX | |
| if: ${{ needs.skip_checks.outputs.skip == 'false' }} | |
| shell: bash | |
| run: | | |
| export CCACHE_COMPRESS=1 | |
| export CCACHE_COMPRESSLEVEL=10 | |
| export CCACHE_MAXSIZE=100M | |
| export CCACHE_DEPEND=1 | |
| ccache -z | |
| set +e | |
| source /opt/intel/oneapi/setvars.sh | |
| set -e | |
| export PATH=$PATH:/opt/intel/oneapi/compiler/2024.2/bin # FIXME | |
| export CXX=$(which icpx) | |
| export CC=$(which icx) | |
| python3 -m pip install --upgrade pip | |
| python3 -m pip install --upgrade build packaging setuptools[core] wheel | |
| cmake -S . -B build_sp \ | |
| -DCMAKE_CXX_FLAGS_RELEASE="-O1 -DNDEBUG" \ | |
| -DCMAKE_VERBOSE_MAKEFILE=ON \ | |
| -DWarpX_EB=OFF \ | |
| -DWarpX_PYTHON=ON \ | |
| -DWarpX_MPI=OFF \ | |
| -DWarpX_OPENPMD=ON \ | |
| -DWarpX_PRECISION=SINGLE | |
| cmake --build build_sp -j 4 | |
| cmake --build build_sp --target pip_install | |
| ccache -s | |
| du -hs ~/.cache/ccache | |
| - name: Run pywarpx | |
| if: ${{ needs.skip_checks.outputs.skip == 'false' }} | |
| run: | | |
| set +e | |
| source /opt/intel/oneapi/setvars.sh | |
| set -e | |
| export OMP_NUM_THREADS=2 | |
| Examples/Physics_applications/laser_acceleration/inputs_test_3d_laser_acceleration_picmi.py | |
| build_dpcc: | |
| name: oneAPI DPC++ SP | |
| runs-on: ubuntu-24.04 | |
| # Since 2021.4.0, AMReX_GpuUtility.H: error: comparison with NaN always evaluates to false in fast floating point modes | |
| # oneAPI 2022.2.0 hangs for -O2 and higher: | |
| # https://github.com/BLAST-WarpX/warpx/issues/3442 | |
| env: | |
| CXXFLAGS: "-Werror -Wno-tautological-constant-compare" | |
| # For oneAPI, Ninja is slower than the default: | |
| # CMAKE_GENERATOR: Ninja | |
| needs: skip_checks | |
| if: ${{ github.event.pull_request.draft == false }} | |
| steps: | |
| - name: Checkout code | |
| if: ${{ needs.skip_checks.outputs.skip == 'false' }} | |
| uses: actions/checkout@v4 | |
| - name: Install dependencies | |
| if: ${{ needs.skip_checks.outputs.skip == 'false' }} | |
| shell: bash | |
| run: | | |
| .github/workflows/dependencies/dpcpp.sh | |
| - name: CCache Cache | |
| if: ${{ needs.skip_checks.outputs.skip == 'false' }} | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.cache/ccache | |
| key: ccache-${{ github.workflow }}-${{ github.job }}-git-${{ github.sha }} | |
| restore-keys: | | |
| ccache-${{ github.workflow }}-${{ github.job }}-git- | |
| - name: Build WarpX | |
| if: ${{ needs.skip_checks.outputs.skip == 'false' }} | |
| shell: bash | |
| run: | | |
| export CCACHE_COMPRESS=1 | |
| export CCACHE_COMPRESSLEVEL=10 | |
| export CCACHE_MAXSIZE=100M | |
| export CCACHE_DEPEND=1 | |
| ccache -z | |
| set +e | |
| source /opt/intel/oneapi/setvars.sh | |
| set -e | |
| export PATH=$PATH:/opt/intel/oneapi/compiler/2024.2/bin # FIXME | |
| export CXX=$(which icpx) | |
| export CC=$(which icx) | |
| export CXXFLAGS="-fsycl ${CXXFLAGS}" | |
| cmake -S . -B build_sp \ | |
| -DCMAKE_CXX_FLAGS_RELEASE="-O1 -DNDEBUG" \ | |
| -DBUILD_SHARED_LIBS=ON \ | |
| -DCMAKE_VERBOSE_MAKEFILE=ON \ | |
| -DWarpX_COMPUTE=SYCL \ | |
| -DWarpX_EB=ON \ | |
| -DWarpX_FFT=ON \ | |
| -DWarpX_PYTHON=ON \ | |
| -DWarpX_MPI=OFF \ | |
| -DWarpX_OPENPMD=ON \ | |
| -DWarpX_PRECISION=SINGLE | |
| cmake --build build_sp -j 4 | |
| ccache -s | |
| du -hs ~/.cache/ccache | |
| # Skip this as it will copy the binary artifacts and we are tight on disk space | |
| # python3 -m pip install --upgrade pip | |
| # python3 -m pip install --upgrade build packaging setuptools[core] wheel | |
| # PYWARPX_LIB_DIR=$PWD/build_sp/lib/site-packages/pywarpx/ python3 -m pip wheel . | |
| # python3 -m pip install *.whl |