16 Commits

Author SHA1 Message Date
Nitin Srinivasan
7ac6355262 Add TPU test jobs to the new CI continuous and nightly/release test workflows
Also, modify the TPU presubmit workflow to reuse the `build_artifacts.yml` and `pytest_tpu.yml`

PiperOrigin-RevId: 735832964
2025-03-11 11:42:21 -07:00
Nitin Srinivasan
623865fe95 Build JAX wheels instead of installing it from the source repository
This change allows us to get rid of extra env vars which used to control whether to install `jax` at head. Now, `jax` will be be built and consumed in the same way as the other wheels in the continuous jobs.

PiperOrigin-RevId: 734123590
2025-03-06 06:48:16 -08:00
Nitin Srinivasan
721d1a3211 Add functionality to allow promoting RC wheels during release
List of changes:
1. Allow us to build a RC wheel when building release artifacts. This is done by modifying the build CLI to use the new JAX build rule and passing in the build options that control the wheel tag. A new build argument `use_new_wheel_build_rule` is introduced to the build CLI to avoid breaking anyone that uses the CLI and the old build rule. Note that this option will go way in the future when the build CLI migrates fully to the new build rule.
2. Change the upload script to upload both rc and release tagged wheels (changes internal)

PiperOrigin-RevId: 733464219
2025-03-04 14:21:12 -08:00
Nitin Srinivasan
0ed42dcdd0 Print the list of installed packages before running pytests
Also, do not upgrade packages and disable editable mode when installing JAX at head

PiperOrigin-RevId: 732208266
2025-02-28 11:46:12 -08:00
Nitin Srinivasan
8ac2969759 Pass JAXLIB_* env variables to docker container
PiperOrigin-RevId: 730922129
2025-02-25 09:46:30 -08:00
Nitin Srinivasan
e4d63dff3d Pass in "JAX_" variables to the docker container
PiperOrigin-RevId: 730689480
2025-02-24 19:32:29 -08:00
Nitin Srinivasan
4b4f2f9cb9 Use uv to install Python packages
PiperOrigin-RevId: 730499307
2025-02-24 10:13:39 -08:00
Nitin Srinivasan
36679d89e3 Add a retry logic to avoid flakes when downloading Bazel
PiperOrigin-RevId: 720349541
2025-01-27 16:36:01 -08:00
Nitin Srinivasan
14029c6762 Replace "gpu" with "cuda" to be specific about the type of gpu tests that are running
Also, make `run_docker_container.sh` executable

PiperOrigin-RevId: 718420712
2025-01-22 09:40:11 -08:00
Nitin Srinivasan
9fb29766a2 Add workflow for testing nightly/release artifacts
This commits adds a Github action workflow that will be used to jobs that test the nightly/release artifacts. These artifacts are built by our internal CI jobs and are uploaded to a transient GCS bucket. After all the wheels have finished uploading, an internal job is run that that will trigger the `wheel_tests_nightly_release.yml` workflow.

PiperOrigin-RevId: 716789482
2025-01-17 13:53:47 -08:00
Nitin Srinivasan
c78487d23d Add Github action workflows for running continuous tests with Pytest
Changes:
- Adds `wheel_tests.yml` that will be used to run continuous jobs that builds artifacts and runs CPU/CUDA tests. Jobs will run by workflow calls to `build_artifacts.yml`/`pytest_cpu.yml`/`pytest_gpu.yml`.
- Adds testing of CUDA tests on H100 gpus
- Make script executable
- Change the name of GPU scripts and workflows to CUDA to be more clear as to what is being tested
PiperOrigin-RevId: 715500412
2025-01-14 13:10:51 -08:00
Nitin Srinivasan
8552852609 Add utility script and env for running the CI scripts under Docker
This commit adds the scripts and envs that set up a Docker container named "jax". It is used in internal JAX CI jobs that handle building and publishing JAX artifacts to PyPI and/or GCS.

While GitHub action workflows use the same Docker images, they do not run `run_docker_container.sh` script as they leverage built-in containerization features to run jobs within a container.

PiperOrigin-RevId: 706793601
2024-12-16 12:19:23 -08:00
Nitin Srinivasan
8c78c1e735 Convert MSYS' Linux-like paths to Windows paths in JAX CI.
This is necessary on Windows because some applications such as Bazel/Docker do not understand/handle Linux-like paths that msys uses.

The script first converts all `JAXCI.*DIR` variables containing msys-like paths to Windows paths using cygpath.  Then it sources those variables into the shell environment so that any tools that use those variables can run correctly.

PiperOrigin-RevId: 702533023
2024-12-03 18:07:23 -08:00
Nitin Srinivasan
031c0acf50 Add new CI scripts for running Pytests
This commit adds the new CI scripts for running Pytests. It makes use of the pytest envs inside the "ci/envs/run_tests" folder to control the build behavior. For e.g: for running the GPU tests with Pytest, we will need to run `./ci/run_pytest.sh ./ci/envs/run_tests/pytest_gpu.env`. Note that Pytests need JAX wheels to be installed on the system to work. The `install_wheels_locally.sh` script installs these wheels in CI builds.

PiperOrigin-RevId: 701331411
2024-11-29 12:08:17 -08:00
Nitin Srinivasan
f7e9f62537 Add new CI scripts for building JAX artifacts
This commit introduces new CI scripts and environment files for building JAX artifacts. It makes use of the artifact envs inside the "ci/envs/build_artifacts" folder to control the build behavior. For e.g: for building jaxlib, we will need to run `./ci/build_artifacts.sh ./ci/envs/build_artifacts/jaxlib.env` from the JAX GitHub root.

PiperOrigin-RevId: 700104283
2024-11-25 14:37:02 -08:00
Nitin Srinivasan
195d407081 Add new CI scripts for running Bazel CPU presubmits
This commit introduces new CI scripts and environment files for running Bazel CPU presubmits.

* Adds a ci directory at the root of the repository to store these files.
* Environment files are located in ci/envs and define new JAXCI_ environment variables to control CI build behavior.
* The build script sources these environment files and set up the build environment before running the build commands.

PiperOrigin-RevId: 695957540
2024-11-12 20:00:35 -08:00