Skip to content

Conversation

@ax3l
Copy link
Member

@ax3l ax3l commented Nov 12, 2021

Mainline

  • use mainline repo
  • remove unused tools
    • unused entries tolerance = 1.e-14 and particle_tolerance -> our own checksums now (rtol in checksum.evaluate)
    • set self.use_ctools = 0 (default: 1)
    • expose and set self.ftools =
  • rebase after all fixes from run_test.sh: Own virtual env #2653 (comment) are in
  • modernize (can be a follow-up):
    • Regression/prepare_file_ci.py
    • .github/workflows/source/test_ci_matrix.sh
    • this will allow to remove old GNUmake-only keys like dim =... and addToCompileString = from WarpX-tests.ini

CMake

@ax3l ax3l added the component: tests Tests and CI label Nov 12, 2021
@ax3l ax3l force-pushed the ci-regressionViaCMake branch from 0ebfee5 to a7d384e Compare November 13, 2021 23:44
@ax3l ax3l force-pushed the ci-regressionViaCMake branch from a7d384e to 0344f10 Compare November 14, 2021 19:45
@BLAST-WarpX BLAST-WarpX deleted a comment from lgtm-com bot Nov 15, 2021
@ax3l ax3l force-pushed the ci-regressionViaCMake branch from 0344f10 to bab66a8 Compare November 15, 2021 23:24
@BLAST-WarpX BLAST-WarpX deleted a comment from lgtm-com bot Nov 15, 2021
@BLAST-WarpX BLAST-WarpX deleted a comment from lgtm-com bot Nov 15, 2021
@ax3l ax3l force-pushed the ci-regressionViaCMake branch 2 times, most recently from 7795da6 to b0114f0 Compare November 16, 2021 16:08
@ax3l ax3l force-pushed the ci-regressionViaCMake branch 4 times, most recently from a029daa to add01b7 Compare November 18, 2021 19:51
@ax3l ax3l changed the title [WIP] Regression Testing: Use Mainline Regression Testing: Use Mainline Nov 18, 2021
@ax3l ax3l force-pushed the ci-regressionViaCMake branch 3 times, most recently from 811d2ab to 1f5a864 Compare November 21, 2021 01:25
@ax3l ax3l mentioned this pull request Dec 2, 2021
@ax3l ax3l changed the title Regression Testing: Use Mainline [WIP] Regression Testing: Use Mainline Dec 2, 2021
@ax3l ax3l force-pushed the ci-regressionViaCMake branch from 1f5a864 to b261fc5 Compare December 5, 2021 02:11
@ax3l ax3l force-pushed the ci-regressionViaCMake branch 3 times, most recently from e908a72 to 98be851 Compare December 6, 2021 21:16
@ax3l ax3l force-pushed the ci-regressionViaCMake branch from b631521 to 0a8a9fe Compare December 7, 2021 02:15
@ax3l ax3l changed the title [WIP] Regression Testing: Use Mainline Regression Testing: Use Mainline Dec 7, 2021
lgiacome pushed a commit to lgiacome/WarpX that referenced this pull request Dec 16, 2021
Isolate builds locally, so we don't overwrite a developer's
setup anymore. This also avoids a couple of nifty problems that
can occur by mixing those envs.

Originally part of BLAST-WarpX#2556
lgiacome pushed a commit to lgiacome/WarpX that referenced this pull request Dec 16, 2021
* Docs: `python3 -m pip`

Use `python3 -m pip`:
- works independent of PATH
- always uses the right Python
- is the recommended way to use `pip`

* Dependencies: Python incl. venv

Backported from BLAST-WarpX#2556.

Follow-up to BLAST-WarpX#2653
@ax3l ax3l requested a review from EZoni December 20, 2021 18:52
Copy link
Member

@EZoni EZoni left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Axel, this looks great. I left a couple of minor comments and one question, but if you want to merge this in quickly, we can always fix typos etc. in a follow-up PR.

add_custom_target(install_pip
${CMAKE_COMMAND} -E env PYWARPX_LIB_DIR=${CMAKE_LIBRARY_OUTPUT_DIRECTORY} python3 -m pip wheel -v --use-feature=in-tree-build ${WarpX_SOURCE_DIR}
COMMAND
python3 -m pip install --force-reinstall -v ${PYINSTALLOPTIONS} ${CMAKE_BINARY_DIR}/*whl
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to confirm: so we don't need a --user here, correct?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's correct. Since #2653 we run out tests (incl. GNUmake before the current PR) in a virtual environment.

--user was only needed when modifying the user-local Python environment. That was a bit unexpected/had side-effects and is solved now.

@ax3l ax3l force-pushed the ci-regressionViaCMake branch 2 times, most recently from 3429531 to 23aefbc Compare December 21, 2021 00:39
@ax3l ax3l force-pushed the ci-regressionViaCMake branch 2 times, most recently from c47f428 to 3a8a935 Compare December 29, 2021 10:29
ax3l added 4 commits December 29, 2021 04:33
- Add `cmakeSetupOpts =`
- Add `-DWarpX_DIMS`:
  Not an AMReX convention, so we cannot rely on `dim = ...`
- Skip building unneeded tools
- Add `install_pip` target:
  Calling `python -m pip wheel .` and install re-using the build
  directory.

  This is mainly for our CI Python regression scrips, users and package
  managers should just use `python -m pip wheel .` and
  `... install *whl` directly.
Generalize executable globber in script
@ax3l ax3l force-pushed the ci-regressionViaCMake branch from 3a8a935 to 51c6598 Compare December 29, 2021 12:33
@ax3l ax3l merged commit 5f8f8c8 into BLAST-WarpX:development Dec 29, 2021
@ax3l ax3l deleted the ci-regressionViaCMake branch December 29, 2021 14:21
roelof-groenewald added a commit to ModernElectron/WarpX that referenced this pull request Dec 30, 2021
* CI: mpi4py breaking setuptools API (BLAST-WarpX#2713)

setuptools keeps breaking its API, which currently breaks `mpi4py`
installs. Until a new mpi4py release is cut, this will serve as a
work-around

* Regression Testing: Use Mainline & CMake (BLAST-WarpX#2556)

* Regression testing: Use mainline

* Update WarpX-tests.ini

- Add `cmakeSetupOpts =`
- Add `-DWarpX_DIMS`:
  Not an AMReX convention, so we cannot rely on `dim = ...`
- Skip building unneeded tools
- Add `install_pip` target:
  Calling `python -m pip wheel .` and install re-using the build
  directory.

  This is mainly for our CI Python regression scrips, users and package
  managers should just use `python -m pip wheel .` and
  `... install *whl` directly.

* LaserInjectionFromTXYEFile: General Exe

Generalize executable globber in script

* Docs: Update Regression Testing (CMake)

* Azure: Ninja Builds (CMake)

* Add x and r emitters (#131)

* CI: mpi4py breaking setuptools API

setuptools keeps breaking its API, which currently breaks `mpi4py`
installs. Until a new mpi4py release is cut, this will serve as a
work-around

* added XPlaneEmitter and CI test for it

* circleCI fix for mpi4py issue with new setuptools

* try number 2 for fixing circleCI

* try number 3 to fix circleCI

* added ZCylinderEmitter and CI test for it

* allow Dirichlet BCs in r when r_min != 0 with ES RZ simulations

* added example file for a cylindrical vacuum TEC

* allow either Dirichlet or Neumann BCs at rmax when rmin == 0

* temporary change to show that CI tests pass after changes to ES solver

* added CI test of EB InfCylinderZ

* changed default BC at rmax to Neumann for RZ simulations created from the setup_store

* update changelog and version number plus first round of suggested changes from code review

* Apply suggestions from code review

Co-authored-by: Peter Scherpelz <[email protected]>

* further requested review changes

* change xsign and rsign to xdir and rdir

* missed API change updates

* Update bounds handling XPlaneEmitter

Co-authored-by: Peter Scherpelz <[email protected]>

* changed InfCylinderZ to CylinderZ and added optional z limits

* Apply suggestions from code review

Co-authored-by: Peter Scherpelz <[email protected]>

Co-authored-by: Axel Huebl <[email protected]>
Co-authored-by: Peter Scherpelz <[email protected]>

Co-authored-by: Axel Huebl <[email protected]>
Co-authored-by: Peter Scherpelz <[email protected]>
ax3l added a commit to ax3l/warpx that referenced this pull request Mar 10, 2022
Add missing CMake options in `WarpX-tests.ini`.

This must have been merged in parallel to when we modernized our
regression tests end of last year. BLAST-WarpX#2556
ax3l added a commit to ax3l/warpx that referenced this pull request Mar 10, 2022
Add missing CMake options in `WarpX-tests.ini`.

This must have been merged in parallel to when we modernized our
regression tests end of last year. BLAST-WarpX#2556
ax3l added a commit that referenced this pull request Mar 10, 2022
* Clean Pip Staging Directory

The distutils staging (`build` -> `_tmppythonbuild`) directory that
pip uses to collect build artifacts is not by default cleaned between
multiple `pip` runs.

This can be confusing when we recompile, because old `libwarpx*` files
can be still in it that are not present in our own `build/lib/`.

This cleans that staging directory before builds now.
It also sets the whole `build_base` so that no artifact lands in the
default, which was `build/`. So far, `bdist.linux-x86_64/` still was
out-of-tree.

* Python_background_mcc_1d: Add CMake Options

Add missing CMake options in `WarpX-tests.ini`.

This must have been merged in parallel to when we modernized our
regression tests end of last year. #2556
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

component: tests Tests and CI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants