Skip to content

Commit d279c83

Browse files
committed
replacing conda with uv in estimation tests
1 parent 9433a50 commit d279c83

1 file changed

Lines changed: 27 additions & 70 deletions

File tree

.github/workflows/core_tests.yml

Lines changed: 27 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -323,116 +323,73 @@ jobs:
323323
needs: foundation
324324
env:
325325
python-version: "3.10"
326-
label: linux-64
326+
label: win-64
327327
defaults:
328328
run:
329-
shell: bash -l {0}
329+
shell: pwsh
330330
name: Estimation Notebooks Test
331-
runs-on: ubuntu-latest
331+
runs-on: windows-latest
332332
steps:
333333
- uses: actions/checkout@v4
334334

335-
- name: Setup Miniforge
336-
uses: conda-incubator/setup-miniconda@v3
335+
- name: Install uv
336+
uses: astral-sh/setup-uv@v5
337337
with:
338-
miniforge-version: latest
339-
mamba-version: "2.0.5"
340-
conda-solver: classic
341-
conda-remove-defaults: true
342-
activate-environment: asim-test
343-
python-version: ${{ env.python-version }}
344-
345-
- name: Set cache date for year and month
346-
run: echo "DATE=$(date +'%Y%m')" >> $GITHUB_ENV
338+
version: "0.7.12"
339+
enable-cache: true
340+
cache-dependency-glob: "uv.lock"
347341

348-
- uses: actions/cache@v4
342+
- name: "Set up Python"
343+
uses: actions/setup-python@v5
349344
with:
350-
path: ${{ env.CONDA }}/envs
351-
key: ${{ env.label }}-conda-${{ hashFiles('conda-environments/github-actions-tests.yml') }}-${{ env.DATE }}-${{ env.CACHE_NUMBER }}
352-
id: cache
353-
354-
- name: Update environment
355-
run: |
356-
conda env update -n asim-test -f conda-environments/github-actions-tests.yml
357-
if: steps.cache.outputs.cache-hit != 'true'
358-
359-
- name: Install Graphviz
360-
uses: ts-graphviz/setup-graphviz@v2
361-
362-
- name: Install Larch v6
363-
run: python -m pip install "larch>=6" "pandas<2" pydot
345+
python-version-file: ".python-version"
364346

365347
- name: Install activitysim
366-
# installing without dependencies is faster, we trust that all needed dependencies
367-
# are in the conda environment defined above. Also, this avoids pip getting
368-
# confused and reinstalling tables (pytables).
369-
run: |
370-
python -m pip install -e . --no-deps
371-
372-
- name: Conda checkup
373348
run: |
374-
conda info -a
375-
conda list
349+
uv sync --locked --only-group github-action
376350
377351
- name: Create Estimation Data
378352
run: |
379-
python activitysim/examples/example_estimation/notebooks/est_mode_setup.py --household_sample_size 5000
353+
uv run python activitysim/examples/example_estimation/notebooks/est_mode_setup.py --household_sample_size 5000
380354
381355
- name: Test Estimation Notebooks
382356
run: |
383-
python -m pytest activitysim/examples/example_estimation/notebooks/*.ipynb \
357+
uv run pytest activitysim/examples/example_estimation/notebooks/*.ipynb \
384358
--nbmake-timeout=3000 \
385359
--ignore=activitysim/examples/example_estimation/notebooks/01_estimation_mode.ipynb
386360
387361
estimation_edb_creation:
388362
needs: foundation
389363
env:
390364
python-version: "3.10"
391-
label: linux-64
365+
label: win-64
392366
defaults:
393367
run:
394-
shell: bash -l {0}
368+
shell: pwsh
395369
name: estimation_edb_creation_test
396-
runs-on: ubuntu-latest
370+
runs-on: windows-latest
397371
steps:
398372
- uses: actions/checkout@v4
399373

400-
- name: Setup Miniforge
401-
uses: conda-incubator/setup-miniconda@v3
374+
- name: Install uv
375+
uses: astral-sh/setup-uv@v5
402376
with:
403-
miniforge-version: latest
404-
activate-environment: asim-test
405-
python-version: ${{ env.python-version }}
406-
407-
- name: Set cache date for year and month
408-
run: echo "DATE=$(date +'%Y%m')" >> $GITHUB_ENV
377+
version: "0.7.12"
378+
enable-cache: true
379+
cache-dependency-glob: "uv.lock"
409380

410-
- uses: actions/cache@v4
381+
- name: "Set up Python"
382+
uses: actions/setup-python@v5
411383
with:
412-
path: ${{ env.CONDA }}/envs
413-
key: ${{ env.label }}-conda-${{ hashFiles('conda-environments/github-actions-tests.yml') }}-${{ env.DATE }}-${{ env.CACHE_NUMBER }}
414-
id: cache
415-
416-
- name: Update environment
417-
run: |
418-
conda env update -n asim-test -f conda-environments/github-actions-tests.yml
419-
if: steps.cache.outputs.cache-hit != 'true'
384+
python-version-file: ".python-version"
420385

421386
- name: Install activitysim
422-
# installing without dependencies is faster, we trust that all needed dependencies
423-
# are in the conda environment defined above. Also, this avoids pip getting
424-
# confused and reinstalling tables (pytables).
425387
run: |
426-
python -m pip install -e . --no-deps
427-
428-
- name: Conda checkup
429-
run: |
430-
conda info -a
431-
conda list
388+
uv sync --locked --only-group github-action
432389
433390
- name: Test Estimation EDB Creation
434391
run: |
435-
python -m pytest activitysim/estimation/test/test_edb_creation/test_edb_formation.py --durations=0
392+
uv run pytest activitysim/estimation/test/test_edb_creation/test_edb_formation.py --durations=0
436393
437394
develop-docbuild:
438395
needs: foundation

0 commit comments

Comments
 (0)