-
Notifications
You must be signed in to change notification settings - Fork 173
SpatialMemory converted to Dask module, input LCM odom and video streams #481
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
9ad6b01
80f1de1
001448a
5171dcf
f951a6d
5ecc395
28e66a7
1470776
bef9bca
07cda7d
33bbd46
ea68d92
1688fec
838437f
bcb752e
9ba0bec
08768e6
d38dcbf
5d0dd91
0ebd876
6076022
0d5995c
59839a4
f32612c
598cbb7
fdfca13
7a7f7cb
67a4acb
8ec9ac1
cbcfb52
f207f58
0eb4171
265b8c7
7d3118a
e3bad0b
bc55c24
481af48
eb444d4
3cfba06
6d2d9cb
c6e0fde
4dd64df
892cf01
7f736df
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -129,10 +129,7 @@ jobs: | |
| uses: ./.github/workflows/_docker-build-template.yml | ||
| with: | ||
| should-run: ${{ | ||
| needs.check-changes.result == 'success' && | ||
| ((needs.ros-python.result == 'success') || | ||
| (needs.ros-python.result == 'skipped' && | ||
| needs.check-changes.outputs.dev == 'true')) | ||
| needs.check-changes.result == 'success' && ((needs.ros-python.result == 'success') || (needs.ros-python.result == 'skipped')) && (needs.check-changes.outputs.dev == 'true') | ||
| }} | ||
| from-image: ghcr.io/dimensionalos/ros-python:${{ needs.ros-python.result == 'success' && needs.check-changes.outputs.branch-tag || 'dev' }} | ||
| to-image: ghcr.io/dimensionalos/ros-dev:${{ needs.check-changes.outputs.branch-tag }} | ||
|
|
@@ -181,9 +178,58 @@ jobs: | |
| cmd: "pytest -m heavy" | ||
| dev-image: dev:${{ needs.dev.result == 'success' && needs.check-changes.outputs.branch-tag || 'dev' }} | ||
|
|
||
| run-lcm-tests: | ||
| needs: [check-changes, dev] | ||
| if: always() | ||
| uses: ./.github/workflows/tests.yml | ||
| with: | ||
| should-run: ${{ | ||
| needs.check-changes.result == 'success' && | ||
| ((needs.dev.result == 'success') || | ||
| (needs.dev.result == 'skipped' && | ||
| needs.check-changes.outputs.tests == 'true')) | ||
| }} | ||
| cmd: "pytest -m lcm" | ||
| dev-image: dev:${{ needs.dev.result == 'success' && needs.check-changes.outputs.branch-tag || 'dev' }} | ||
|
|
||
| # Run module tests directly to avoid pytest forking issues | ||
| run-module-tests: | ||
| needs: [check-changes, dev] | ||
| if: ${{ | ||
| always() && | ||
| needs.check-changes.result == 'success' && | ||
| ((needs.dev.result == 'success') || | ||
| (needs.dev.result == 'skipped' && | ||
| needs.check-changes.outputs.tests == 'true')) | ||
| }} | ||
| runs-on: [self-hosted, x64] | ||
| container: | ||
| image: ghcr.io/dimensionalos/dev:${{ needs.dev.result == 'success' && needs.check-changes.outputs.branch-tag || 'dev' }} | ||
| steps: | ||
| - name: Fix permissions | ||
| run: | | ||
| sudo chown -R $USER:$USER ${{ github.workspace }} || true | ||
|
|
||
| - uses: actions/checkout@v4 | ||
| with: | ||
| lfs: true | ||
|
|
||
| - name: Configure Git LFS | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. not neccessary, if tests use utils.data, lfs autodownload will happen, I think this pre-downloads whole lfs store?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. No this is needed in self hosted runner unfort |
||
| run: | | ||
| git config --global --add safe.directory '*' | ||
| git lfs install | ||
| git lfs fetch | ||
| git lfs checkout | ||
|
|
||
| - name: Run module tests | ||
| env: | ||
| CI: "true" | ||
| run: | | ||
| /entrypoint.sh bash -c "pytest -m module" | ||
|
|
||
| # TODO: Remove when merge to main as workflow_run needed | ||
| cleanup-runner: | ||
| needs: [run-tests, run-heavy-tests, run-ros-tests] | ||
| needs: [run-tests, run-heavy-tests, run-ros-tests, run-lcm-tests, run-module-tests] | ||
| if: always() | ||
| runs-on: [self-hosted, Linux] | ||
| steps: | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -37,7 +37,7 @@ jobs: | |
| # sudo rm -rf /usr/local/lib/android | ||
|
|
||
| run-tests: | ||
| runs-on: dimos-runner-ubuntu-2204 | ||
| runs-on: [self-hosted, Linux] | ||
| container: | ||
| image: ghcr.io/dimensionalos/${{ inputs.dev-image }} | ||
|
|
||
|
|
@@ -47,10 +47,18 @@ jobs: | |
| sudo chown -R $USER:$USER ${{ github.workspace }} || true | ||
|
|
||
| - uses: actions/checkout@v4 | ||
| with: | ||
| lfs: true | ||
|
|
||
| - name: Configure Git LFS | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. same as below |
||
| run: | | ||
| git config --global --add safe.directory '*' | ||
| git lfs install | ||
| git lfs fetch | ||
| git lfs checkout | ||
|
|
||
| - name: Run tests | ||
| run: | | ||
| git config --global --add safe.directory '*' | ||
| /entrypoint.sh bash -c "${{ inputs.cmd }}" | ||
|
|
||
| - name: check disk space | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -202,6 +202,19 @@ class RemoteOut(RemoteStream[T]): | |
| def connect(self, other: RemoteIn[T]): | ||
| return other.connect(self) | ||
|
|
||
| def observable(self): | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. tofix - observable needs to unsubscribe from the stream once observing stops, probably disposable needs to be returned
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. yes |
||
| """Create an Observable stream from this remote output.""" | ||
| from reactivex import create | ||
|
|
||
| def subscribe(observer, scheduler=None): | ||
| def on_msg(msg): | ||
| observer.on_next(msg) | ||
|
|
||
| self._transport.subscribe(self, on_msg) | ||
| return lambda: None | ||
|
|
||
| return create(subscribe) | ||
|
|
||
|
|
||
| class In(Stream[T]): | ||
| connection: Optional[RemoteOut[T]] = None | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can't remember what we decided here, this is not changed by accident?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is what worked