Skip to content
Open
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
7 changes: 2 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ jobs:
libeigen3-dev

- name: Install python dependencies
run: pip install -r dev_requirements.txt
run: pip install -r dev_requirements_$(${{ matrix.python }} -c 'import sys; print(f"{sys.version_info.major}{sys.version_info.minor}")').txt

- name: Run cmake build
run: |
Expand All @@ -87,14 +87,11 @@ jobs:
cmake --build build -j $(nproc)

# - lcmtypes need to be available for tests
# - Exact contents of dev_requirements.txt depend on python version. Need to update file to
# match current python version to avoid failure of corresponding gen test. symforce needs
# to be on the PYTHONPATH to run gen test in this manner.
# - symforce needs to be on the PYTHONPATH to run tests in this manner.
- name: Run tests
run: |
pip install build/lcmtypes/python2.7
export PYTHONPATH=$PYTHONPATH:$(pwd)
${{ matrix.python }} test/symforce_requirements_test.py --update
ctest --test-dir build -j $(nproc) || true
ctest --test-dir build -j $(nproc) --rerun-failed --output-on-failure

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
pandoc

- name: Install python dependencies
run: pip install -r dev_requirements.txt
run: pip install -r dev_requirements_$(python3 -c 'import sys; print(f"{sys.version_info.major}{sys.version_info.minor}")').txt

- name: Run cmake build
run: |
Expand Down
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -565,7 +565,7 @@ pip install -e .

This will build the C++ components of SymForce, but you won't be able to run `pip install -e .` repeatedly if you need to rebuild C++ code. If you're changing C++ code and rebuilding, you should build with CMake directly as described <a href="#build-with-cmake">below</a>.

`pip install .` will not install pinned versions of SymForce's dependencies, it'll install any compatible versions. It also won't install all packages required to run all of the SymForce tests and build all of the targets (e.g. building the docs or running the linters). If you want all packages required for that, you should `pip install .[dev]` instead (or one of the other groups of extra requirements in our `setup.py`). If you additionally want pinned versions of our dependencies, which are the exact versions guaranteed by CI to pass all of our tests, you can install them from `pip install -r dev_requirements.txt`.
`pip install .` will not install pinned versions of SymForce's dependencies, it'll install any compatible versions. It also won't install all packages required to run all of the SymForce tests and build all of the targets (e.g. building the docs or running the linters). If you want all packages required for that, you should `pip install .[dev]` instead (or one of the other groups of extra requirements in our `setup.py`). If you additionally want pinned versions of our dependencies, which are the exact versions guaranteed by CI to pass all of our tests, you can install them from `pip install -r dev_requirements_XY.txt` (where `X` and `Y` are the major and minor versions of your python; e.g. `dev_requirements_38.txt` for python3.8).

## Build with CMake

Expand All @@ -574,8 +574,9 @@ SymForce into your Python environment, so you'll need to add it to your PYTHONPA

Install python requirements:
```bash
pip install -r dev_requirements.txt
pip install -r dev_requirements_38.txt
```
(or `dev_requirements_39.txt`/`dev_requirements_310.txt` for python3.9 and python3.10, respectively).

Build SymForce (requires C++14 or later):
```bash
Expand Down
Loading