Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
64 changes: 23 additions & 41 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,64 +14,46 @@ env:
jobs:
foundation:

strategy:
matrix:
python-version: ["3.10"]
defaults:
run:
shell: bash -l {0}
name: linux-64-py${{ matrix.python-version }}
name: linux-64
runs-on: ubuntu-latest
steps:
# checkout the code in this repository
- uses: actions/checkout@v4

- name: Install uv
uses: astral-sh/setup-uv@v5
with:
version: "0.8.8"
enable-cache: true
cache-dependency-glob: "uv.lock"

- name: "Set up Python"
uses: actions/setup-python@v5
with:
path: 'activitysim-sandag-abm3'
python-version-file: ".python-version"

- name: Install everything
run: |
uv sync --locked

# checkout the main branch of ActivitySim itself
- uses: actions/checkout@v4
with:
repository: 'ActivitySim/activitysim'
ref: main
path: 'activitysim'
path: 'cloned/activitysim'
fetch-depth: 0 # get all tags, lets setuptools_scm do its thing

- name: Setup Miniforge
uses: conda-incubator/setup-miniconda@v3
with:
auto-update-conda: true
miniforge-version: latest
mamba-version: "2.0.5"
conda-solver: classic
conda-remove-defaults: true
activate-environment: asim-test
python-version: ${{ matrix.python-version }}

- name: Set cache date for year and month
run: echo "DATE=$(date +'%Y%m')" >> $GITHUB_ENV

- uses: actions/cache@v4
with:
path: miniconda3/envs/asim-test
key: linux-64-conda-${{ hashFiles('activitysim/conda-environments/github-actions-tests.yml') }}-${{ env.DATE }}-${{ env.CACHE_NUMBER }}
id: cache

- name: Update environment
# install ActivitySim, overriding the one in the workspace,
# as the pre-installed one is the latest release but not the most up-to-date
- name: Install ActivitySim
run: |
mamba env update -n asim-test -f activitysim/conda-environments/github-actions-tests.yml
if: steps.cache.outputs.cache-hit != 'true'
uv pip install --no-deps ./cloned/activitysim

- name: Install activitysim
# installing without dependencies is faster, we trust that all needed dependencies
# are in the conda environment defined above. Also, this avoids pip getting
# confused and reinstalling tables (pytables).
run: |
python -m pip install ./activitysim --no-deps
- name: Conda checkup
run: |
conda info -a
conda list
- name: Test this implementation
run: |
cd activitysim-sandag-abm3/test
python -m pytest test_sandag_abm3.py::test_sandag_abm3_progressive
uv run pytest ./test

1 change: 1 addition & 0 deletions .python-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.11
26 changes: 26 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
[project]
name = "sandag-abm3-example"
version = "1.4"
description = "User environment for Prototype MTC Model"
readme = "README.md"
requires-python = ">=3.10,<3.12"
dependencies = [
"activitysim==1.4",
"multimethod<2.0",
"numba>=0.57",
"numpy>=1.16.1,<1.26",
"openmatrix>=0.3.5.0",
"pandas>=2.1.0",
"pandera>=0.15,<0.18.1",
"psutil>=4.1",
"pydantic>=2.6",
"setuptools>=80.9.0,<81",
"sharrow>=2.14.0",
"tables>=3.9",
]

[dependency-groups]
dev = [
"pytest>=8.4.1",
"zstandard>=0.23.0",
]
2 changes: 1 addition & 1 deletion test/test_sandag_abm3.py
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ def test_sandag_abm3_progressive(use_sharrow):
output_dir=out_dir,
settings=settings,
)
state.import_extensions("../extensions")
state.import_extensions("extensions")
state.filesystem.persist_sharrow_cache()
state.logging.config_logger()

Expand Down
Loading