mirror of
https://github.com/DifferentiableUniverseInitiative/JaxPM.git
synced 2025-06-28 16:11:11 +00:00
adding caching
This commit is contained in:
parent
37976c70d8
commit
844cace3d7
2 changed files with 64 additions and 17 deletions
34
.github/workflows/formatting.yml
vendored
34
.github/workflows/formatting.yml
vendored
|
@ -7,15 +7,37 @@ on:
|
||||||
branches: [ "main" ]
|
branches: [ "main" ]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
formatting:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- name: Checkout Source
|
||||||
- name: Set up Python ${{ matrix.python-version }}
|
uses: actions/checkout@v4
|
||||||
uses: actions/setup-python@v3
|
|
||||||
|
- name: Set up Python
|
||||||
|
uses: actions/setup-python@v5
|
||||||
|
with:
|
||||||
|
python-version: "3.11"
|
||||||
|
|
||||||
|
- name: Cache pip dependencies
|
||||||
|
uses: actions/cache@v4
|
||||||
|
with:
|
||||||
|
path: ~/.cache/pip
|
||||||
|
key: ${{ runner.os }}-formatting-pip-${{ hashFiles('.pre-commit-config.yaml') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-formatting-pip-
|
||||||
|
|
||||||
|
- name: Cache pre-commit
|
||||||
|
uses: actions/cache@v4
|
||||||
|
with:
|
||||||
|
path: ~/.cache/pre-commit
|
||||||
|
key: ${{ runner.os }}-pre-commit-${{ hashFiles('.pre-commit-config.yaml') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-pre-commit-
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
python -m pip install --upgrade pip isort
|
python -m pip install --upgrade pip
|
||||||
python -m pip install pre-commit
|
python -m pip install pre-commit isort
|
||||||
|
|
||||||
- name: Run pre-commit
|
- name: Run pre-commit
|
||||||
run: python -m pre_commit run --all-files
|
run: python -m pre_commit run --all-files
|
||||||
|
|
45
.github/workflows/tests.yml
vendored
45
.github/workflows/tests.yml
vendored
|
@ -10,31 +10,55 @@ on:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
run_tests:
|
run_tests:
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
python-version: ["3.10" , "3.11" , "3.12"]
|
python-version: ["3.10", "3.11", "3.12"]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout Source
|
- name: Checkout Source
|
||||||
uses: actions/checkout@v2.3.1
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Set up Python ${{ matrix.python-version }}
|
- name: Set up Python ${{ matrix.python-version }}
|
||||||
uses: actions/setup-python@v2
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: ${{ matrix.python-version }}
|
python-version: ${{ matrix.python-version }}
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Cache pip dependencies
|
||||||
|
uses: actions/cache@v4
|
||||||
|
with:
|
||||||
|
path: ~/.cache/pip
|
||||||
|
key: ${{ runner.os }}-pip-${{ matrix.python-version }}-${{ hashFiles('**/requirements-test.txt', '**/pyproject.toml') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-pip-${{ matrix.python-version }}-
|
||||||
|
${{ runner.os }}-pip-
|
||||||
|
|
||||||
|
- name: Cache system dependencies
|
||||||
|
uses: actions/cache@v4
|
||||||
|
with:
|
||||||
|
path: /var/cache/apt
|
||||||
|
key: ${{ runner.os }}-apt-${{ hashFiles('.github/workflows/tests.yml') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-apt-
|
||||||
|
|
||||||
|
- name: Install system dependencies
|
||||||
run: |
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
sudo apt-get install -y libopenmpi-dev
|
sudo apt-get install -y libopenmpi-dev
|
||||||
python -m pip install --upgrade pip
|
|
||||||
|
- name: Install Python dependencies
|
||||||
|
run: |
|
||||||
|
python -m pip install --upgrade pip setuptools wheel
|
||||||
|
# Install JAX first as it's a key dependency
|
||||||
pip install jax
|
pip install jax
|
||||||
pip install setuptools cython wheel mpi4py
|
# Install build dependencies
|
||||||
|
pip install setuptools cython mpi4py
|
||||||
|
# Install test requirements with no-build-isolation for faster builds
|
||||||
pip install -r requirements-test.txt --no-build-isolation
|
pip install -r requirements-test.txt --no-build-isolation
|
||||||
pip install pytest
|
# Install additional test dependencies
|
||||||
pip install diffrax
|
pip install pytest diffrax
|
||||||
pip install .
|
# Install package in development mode
|
||||||
|
pip install -e .
|
||||||
echo "numpy version installed:"
|
echo "numpy version installed:"
|
||||||
python -c "import numpy; print(numpy.__version__)"
|
python -c "import numpy; print(numpy.__version__)"
|
||||||
|
|
||||||
|
@ -42,6 +66,7 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
cd tests
|
cd tests
|
||||||
pytest -v -m "not distributed"
|
pytest -v -m "not distributed"
|
||||||
|
|
||||||
- name: Run Distributed tests
|
- name: Run Distributed tests
|
||||||
run: |
|
run: |
|
||||||
pytest -v tests/test_distributed_pm.py
|
pytest -v tests/test_distributed_pm.py
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue