-
Notifications
You must be signed in to change notification settings - Fork 2
Fix Configuration File Reading, Add Simulated Camera with Adjustable Parameters #2
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
Open
cccoolll
wants to merge
866
commits into
cephlainc:main
Choose a base branch
from
cccoolll:main
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
866 commits
Select commit
Hold shift + click to select a range
3f201e8
Add Zarr fileset management functions to Microscope class, including …
cccoolll 52406e1
Implement Zarr fileset management functions in SquidController, inclu…
cccoolll bc1b0b8
Refactor server attribute initialization in Microscope class to impro…
cccoolll af9c8e3
Add comprehensive tests for Zarr fileset management in `test_squid_co…
cccoolll ecbdacb
Add setup completion tracking in Microscope class to ensure service h…
cccoolll f51507b
Merge pull request #51 from cccoolll/feature/video-stream-in-GoogleMa…
cccoolll 644edd9
Revert "Feature/video stream in google map style"
cccoolll d31933d
Merge pull request #52 from aicell-lab/revert-51-feature/video-stream…
cccoolll 45d70d0
Remove setup completion tracking from Microscope class to simplify se…
cccoolll 93ecbe6
Refactor chatbot service connection logic in Microscope class to impr…
cccoolll 7b7fce9
Update hypha-rpc dependency version in requirements.txt from 0.20.55 …
cccoolll e39175d
Refactor Zarr directory cleanup in SquidController to only remove .za…
cccoolll cf9ccf6
Enhance Zarr export functionality by implementing background processi…
cccoolll 27219e0
Update documentation for ZIP path manipulation and compliance standar…
cccoolll b4ac192
Enhance Zarr canvas initialization and loading logic in SquidControll…
cccoolll f406445
Improve ZIP64 support for large archives in artifact management and Z…
cccoolll 812af68
Enhance Zarr fileset management in SquidController by adding support …
cccoolll d69e13f
Implement a synchronization mechanism in `ZarrCanvas` to ensure all …
cccoolll 0d573ea
Refactor Zarr export functionality by removing the arbitrary size lim…
cccoolll ffdac12
remove ununsed test
cccoolll a9b4fa7
Add ZIP64 upload and endpoint access tests
cccoolll 2773ec1
Remove ZIP64 test scripts for upload and endpoint access functionality
cccoolll b6f9b25
New zip upload test
cccoolll e94fd0f
Remove deprecated Zarr upload workflow test
cccoolll 5dedbe4
Update dependencies and enhance test timeouts for video buffering and…
cccoolll 7f5f7af
Enhance ZIP upload tests with async retry logic and cleanup functiona…
cccoolll 8672713
Add mini chunk dataset creation and analysis to ZIP upload tests
cccoolll 77d4513
Refactor Zarr export process to use file-based method for ZIP creation
cccoolll 528d963
Add .cursorignore file to specify patterns for files to ignore during…
cccoolll 8cc1119
Refactor cropping logic in ZarrCanvas to ensure consistent image size…
cccoolll efb9a62
Add stop_scan_and_stitching method to interrupt ongoing scans
cccoolll f4e6039
Implement Zarr upload functionality in Microscope service
cccoolll cfb0aa7
Refactor Zarr artifact manager connection logic in Microscope service…
cccoolll c9e9747
Refactor error handling in SquidArtifactManager to catch general exce…
cccoolll 90dd357
Add Zarr dataset management methods to Microscope service
cccoolll 44fff24
Remove redundant task status updates during Zarr dataset export and u…
cccoolll be94054
Add Zarr artifact manager initialization and connection logic to Micr…
cccoolll 8c30a01
Enhance ZarrCanvas to calculate actual disk usage for Zarr datasets
cccoolll 04933fa
Calculate average stage position during frame acquisition
cccoolll 3ebb4d3
remove check_permission
cccoolll 35302e2
Refactor error handling in Microscope service to raise exceptions ins…
cccoolll cefe33b
Enhance quick scan to support stripe scanning
cccoolll 8201ca5
Implement velocity restoration during scan interruptions in SquidCont…
cccoolll 0df2511
fix test
cccoolll c3f5969
Refactor well plate scanning to run in a separate thread executor, pr…
cccoolll 9d21d91
utilizing a thread executor to prevent event loop blockage during ope…
cccoolll 728f9b1
Add autofocus options to quick scan with stitching in SquidController
cccoolll df378e1
Improve error handling for Zarr canvas initialization in Microscope s…
cccoolll 0b305fc
Refactor quick scan with stitching to accept a dictionary of paramete…
cccoolll c3e661d
Add asynchronous well movement methods to SquidController
cccoolll 94c600c
Add timepoint management functionality to SquidController and Microsc…
cccoolll 93a1dc4
Add Zarr canvas management guidelines and improve timepoint handling …
cccoolll 0201d1f
Enable video frame adjustment in Hypha service API and remove comment…
cccoolll e5f37ef
Enable update_parameters_from_client in Hypha service API and add int…
cccoolll a663da9
Refactor Zarr upload workflow test to use Microscope instance and ini…
cccoolll 792a97f
fix test error
cccoolll 2813d7e
Remove redundant Zarr canvas initialization checks in SquidController…
cccoolll 72634ec
add timepoints pre-allocation functionality.
cccoolll 64c0324
Enhance frame acquisition timing and improve Zarr stitching queue man…
cccoolll f5f6c09
Remove timepoint management functions from Microscope and SquidContro…
cccoolll d8e13a1
Implement Zarr fileset management functions in SquidController, inclu…
cccoolll 724ec2b
Add comprehensive tests for Zarr fileset management in `test_squid_co…
cccoolll c60fb92
Refactor Zarr directory cleanup in SquidController to only remove .za…
cccoolll 7ea947a
Enhance Zarr export functionality by implementing background processi…
cccoolll 88c246e
Update documentation for ZIP path manipulation and compliance standar…
cccoolll 18a6e7a
Enhance Zarr canvas initialization and loading logic in SquidControll…
cccoolll 2167d75
Improve ZIP64 support for large archives in artifact management and Z…
cccoolll c942211
Enhance Zarr fileset management in SquidController by adding support …
cccoolll b937386
Implement a synchronization mechanism in `ZarrCanvas` to ensure all …
cccoolll 4e96595
Refactor Zarr export functionality by removing the arbitrary size lim…
cccoolll 8214da8
remove ununsed test
cccoolll 6a00dee
Add ZIP64 upload and endpoint access tests
cccoolll 3746c1c
Remove ZIP64 test scripts for upload and endpoint access functionality
cccoolll 03ce294
New zip upload test
cccoolll a8ed0ef
Remove deprecated Zarr upload workflow test
cccoolll 18974f5
Update dependencies and enhance test timeouts for video buffering and…
cccoolll e0f88a5
Enhance ZIP upload tests with async retry logic and cleanup functiona…
cccoolll 0d1595e
Add mini chunk dataset creation and analysis to ZIP upload tests
cccoolll 6681828
Refactor Zarr export process to use file-based method for ZIP creation
cccoolll 588d976
Add .cursorignore file to specify patterns for files to ignore during…
cccoolll aa1ccb9
Merge branch 'fix-bad-offset'
cccoolll 6350ed2
Merge branch 'fix-bad-offset' and resolve all conflicts using their v…
cccoolll 54aa4ce
Add stop_scan_and_stitching method to interrupt ongoing scans
cccoolll bd78047
Implement Zarr upload functionality in Microscope service
cccoolll 55c17f5
Refactor error handling in SquidArtifactManager to catch general exce…
cccoolll 416fc96
Resolve merge conflict in set_stage_velocity method - use error respo…
cccoolll a123ff2
Refactor error handling in Microscope service to raise exceptions ins…
cccoolll 692ac3a
Enhance quick scan to support stripe scanning
cccoolll b71407a
Implement velocity restoration during scan interruptions in SquidCont…
cccoolll 418ce4a
Add autofocus options to quick scan with stitching in SquidController
cccoolll 3e66c88
Refactor quick scan with stitching to accept a dictionary of paramete…
cccoolll 6e733c6
Merge branch 'well-separated-canvas'
cccoolll 1fc62a7
Merge pull request #19 from cccoolll/main
cccoolll 26e38f3
remove unused import
cccoolll 341c4ed
fix import issue
cccoolll b51a080
Enhance well canvas management test by adding cleanup for existing ex…
cccoolll 3dd732c
Refactor quick scan parameters handling in Microscope and SquidContro…
cccoolll 42dc6b9
Remove unused scanning methods to streamline codebase.
cccoolll f318592
Initialize legacy attributes for well and zarr canvases in SquidContr…
cccoolll 5d96a35
Implement validation for well positions with padding to improve robu…
cccoolll 6735f9b
Refactor logging in SquidController and WellZarrCanvasBase to use a c…
cccoolll 32a7699
Add well canvas existence check in Microscope and SquidController
cccoolll 0766019
Refactor get_stitched_region method in Microscope and SquidController…
cccoolll bd48a68
Update SquidController to calculate absolute coordinates
cccoolll c07affa
Enhance wells_to_scan handling in SquidController to accept both well…
cccoolll 4c21876
Implement well-based routing method for image stitching in SquidContr…
cccoolll 4fd3264
Merge pull request #56 from aicell-lab/cccoolll-fix-bad-offset
cccoolll ee0e7bd
update hypha-rpc
cccoolll 9ae76ca
Add Zarr Canvas & Image Stitching documentation
cccoolll 91a772e
Refactor zip upload tests to support CI environments with adaptive te…
cccoolll 864ee9c
Merge pull request #57 from cccoolll/well-separated-canvas
cccoolll 61f84bc
Update test_webrtc_e2e.py to adjust movement distance
cccoolll e2ca130
Remove unused functions
cccoolll b946ed8
fix test
cccoolll b9b7022
Implement upload_zarr_dataset method to upload well canvases as indiv…
cccoolll cdc1e4d
Enhance Zarr dataset upload functionality to support experiment-based…
cccoolll 2228121
remove unused test
cccoolll 7eea18a
Refactor gallery dataset listing methods to improve clarity and funct…
cccoolll b4a8989
Update mini chunk size in zip upload tests to 3x3 for improved testin…
cccoolll a9777bf
Merge branch 'main' into upload-imaging-data
cccoolll e2c3e76
Refactor Zarr dataset upload test to utilize existing artifact_manage…
cccoolll ba4b0d9
Add gallery management functions to Hypha service
cccoolll 804c25d
Update default well padding parameter from 2.0mm to 1.0mm
cccoolll 6e39bc0
Refactor minimum size for Zarr canvas resolution from 512 to 64 pixels
cccoolll 0f266e6
Enhance Zarr dataset upload process to support batch uploads of well …
cccoolll f730c6c
Add default experiment management to ExperimentManager
cccoolll 1b0bdbd
Update readme for test
cccoolll 6fbb5e5
Add OME-Zarr Chunk Visualizer Script
cccoolll c1014ec
Enhance OME-Zarr chunk visualization script with detailed logging
cccoolll 57b47f1
Remove total size feasibility check for experiment uploads
cccoolll f4e8456
Refactor ZIP file validation and well canvas export to use asyncio fo…
cccoolll 5790fab
Remove get_stitched_region method from Microscope class in start_hyph…
cccoolll 2f74c53
Merge pull request #58 from cccoolll/upload-imaging-data
cccoolll f151fca
Implement background upload functionality for well canvases during sc…
cccoolll 7a092ad
Shorten chatbot service ID in Microscope class to comply with OpenAI …
cccoolll 792881e
Add padding calculations for pixel conversion in WellZarrCanvasBase t…
cccoolll e476201
Enhance Microscope class to integrate Zarr artifact manager for impro…
cccoolll becd0dd
Update hypha-rpc dependency
cccoolll 1cbcaa9
Merge branch 'aicell-lab:main' into upload-imaging-data
cccoolll 0aeadd3
Update GitHub Actions
cccoolll b583e14
update github action
cccoolll 5c72635
Enhance testing configuration by setting matplotlib to a non-interact…
cccoolll 185a0ab
Refactor matplotlib configuration in tests to prevent type registrati…
cccoolll 16d3a82
Update GitHub Actions workflow
cccoolll 8ef2982
fix version conflict
cccoolll d5d10c4
Update test for scanning
cccoolll 6635f6b
Remove outdated test
cccoolll 219ab6f
Merge branch 'upload-imaging-data' into fix-tests
cccoolll 623b379
Merge pull request #21 from cccoolll/fix-tests
cccoolll dbde9f5
remove ununsed test
cccoolll b4c4895
Merge branch 'fix-tests' of github.com:cccoolll/squid-control into fi…
cccoolll 5ff94cd
Merge pull request #60 from cccoolll/upload-imaging-data
cccoolll d1d9954
Add final cleanup test for artifact manager to ensure removal of test…
cccoolll 69e2e22
use multipart upload
cccoolll d1020bf
update hypha-rpc version
cccoolll 539a9cd
Enhance channel handling in microscope service to support merging mul…
cccoolll 1668918
Merge pull request #62 from cccoolll/multi-part-upload
cccoolll 8f20cc4
Refactor authentication handling in Microscope service
cccoolll 60311ce
fix authorization email handling
cccoolll 9dc09ea
use ping instead of hello_world
cccoolll e54dc3d
Remove similarity search service integration
cccoolll 4e2580a
remove task status management
cccoolll a21d719
Update WebRTC E2E tests to use ping method
cccoolll 2c8a270
Change microscope service visibility
cccoolll 2a6c5b6
Remove empty __init__.py file
cccoolll 5fc42b8
remove unused code
cccoolll 6b20c3f
Remove deprecated scripts and GUI components
cccoolll e194b4b
Refactor configuration management
cccoolll 6e38749
Remove unused multipoint custom script and associated image files
cccoolll a4e7bcc
Remove obsolete documentation
cccoolll 33dd3c8
Remove outdated references and redundant documentation from README
cccoolll b25987b
move start_hypha_service.py in squid_control module
cccoolll 91bdf30
Remove failing z return timeout comment in SquidController
cccoolll d79cde2
remove todo
cccoolll c639166
Refactor dependency management by migrating to pyproject.toml, removi…
cccoolll 82598e6
Update documentation to reflect removal of Qt dependencies
cccoolll c4a125a
Remove DisplacementMeasurementController
cccoolll eebad6a
Update Dockerfile to install development dependencies and remove requ…
cccoolll b74020b
clean up code
cccoolll 9d1e43f
Remove unused import
cccoolll 229e50d
move mirror service
cccoolll 72f48c6
Refactor mirror_hypha_service.py and start_hypha_service.py for impro…
cccoolll 7e038d0
improve code
cccoolll cf30598
Add mirror service functionality with command-line interface and inte…
cccoolll 00d9bdd
use same session in zip upload tests
cccoolll d607472
Change artifact manager pytest from "session" to "function"
cccoolll 28a4268
remove ununsed script
cccoolll 2898e5f
Fix critical issues for python module
cccoolll d00477c
update cursorrules
cccoolll 3ac4b44
Update README to include AICell Lab logo
cccoolll 748cf26
remove unused file
cccoolll 3bb1964
remove code example
cccoolll 76fc6a4
remove coupcam test script
cccoolll 71431f2
fix webrtc test
cccoolll f0ee816
update readme
cccoolll 9a3774b
Change visibility setting in MirrorMicroscopeService
cccoolll b3f655f
update cli and readme
cccoolll 06a6077
Update default simulation mode setting in CLI and Hypha service
cccoolll 97861ad
Add log file argument and implement mirror service setup in CLI
cccoolll 9b45a7b
preserve schema information for mirrored methods
cccoolll ae019b8
update readme for config introduction
cccoolll e3eb04d
graceful shutdown
cccoolll 54bb592
update readme file
cccoolll 44fc8af
correct readme
cccoolll 457e5ae
Refactor Microscope class to MicroscopeHyphaService
cccoolll 74e6a71
fix tests
cccoolll 75d12b0
remove ununsed script
cccoolll 2cbabd2
improve test cases.
cccoolll 7e2c755
Refactor imports and clean up whitespace in various files
cccoolll 9d785b3
Update test configuration and coverage reporting in CI workflow
cccoolll 00173d3
Enable coverage tracking in MicroscopeHyphaService
cccoolll 1e66990
Merge pull request #63 from aicell-lab/codebase-improvement
cccoolll 5cc8d0f
Add offline processing module for time-lapse experiment data
cccoolll 721045c
add raw data backup functionality
cccoolll e214f1c
handle missing experiment folders
cccoolll c52359b
bug fix for time-lapse uploading
cccoolll 06cd10b
refractor time-lapse uploading
cccoolll a502b7c
improve offline processing by running in a separate thread
cccoolll 2af4ef7
clean up logging
cccoolll d55fabf
use ZIP_STORED
cccoolll a45579f
fix logging setup
cccoolll 148fa89
reduce memory usage
cccoolll 1ea1897
fix memeory management
cccoolll 9c27a60
fix docker command
cccoolll c2c3755
service public in simulation mode
cccoolll 5c189f9
Merge pull request #65 from aicell-lab/main
cccoolll a56c47b
Add functionality to skip processing if a .done file is found and cre…
cccoolll d7e7c21
Merge branch 'offline-stitching-uploading' of github.com:aicell-lab/s…
cccoolll 7f0ff2e
add cleanup functionality
cccoolll 9de1090
remove unused script
cccoolll ebd6636
rename file
cccoolll 29e741d
update test for offline processing
cccoolll 32b7512
New virtual sample source
cccoolll a869036
fix chunk loading
cccoolll 423f46d
fix drift correction logic
cccoolll 0d53dde
timestamp extraction and dataset naming in OfflineProcessor
cccoolll 12606f0
Time stamp format: YYYYMMDD-HHMMSS
cccoolll 67040fc
Merge pull request #64 from aicell-lab/offline-stitching-uploading
cccoolll 5df0140
Merge pull request #66 from aicell-lab/update-simulated-sample
cccoolll fa64419
fix zattrs file write
cccoolll ec79c5e
fix channel activate for zattrs file
cccoolll 8199fa7
cleanup .done file after upload
cccoolll d45791d
Implement cleanup of partial Zarr files in OfflineProcessor before ex…
cccoolll b46438f
set ping interval
cccoolll f193eb0
update simulated sample id
cccoolll 3ff9d32
add logging for image stitching
cccoolll afb21e7
add OME-Zarr metadata when calling info Hyhpa tools
cccoolll 3df19aa
clean up directories for pytest
cccoolll 793e7e5
Merge pull request #67 from aicell-lab/update-simulated-sample
cccoolll 17122be
Update well canvas stitching
cccoolll File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| # Add directories or file patterns to ignore during indexing (e.g. foo/ or *.csv) | ||
| *.log | ||
| *.log.* | ||
| *.csv | ||
| *.js |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,49 @@ | ||
| name: Build and Publish Docker Image | ||
|
|
||
| on: | ||
| push: | ||
| branches: | ||
| - main | ||
| pull_request: | ||
| branches: | ||
| - main | ||
|
|
||
| jobs: | ||
| build-and-push: | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - name: Checkout repository | ||
| uses: actions/checkout@v4.1.0 | ||
| with: | ||
| fetch-depth: 2 | ||
|
|
||
| - name: Docker meta | ||
| id: meta | ||
| uses: docker/metadata-action@v5 | ||
| with: | ||
| images: | | ||
| ghcr.io/${{ github.repository }} | ||
| tags: | | ||
| type=ref,event=branch | ||
| type=ref,event=pr | ||
| type=semver,pattern={{version}} | ||
| type=semver,pattern={{major}}.{{minor}} | ||
| type=semver,pattern={{major}} | ||
| type=sha | ||
|
|
||
| - name: Log in to the Container registry | ||
| if: github.event_name == 'push' | ||
| uses: docker/login-action@v2.2.0 | ||
| with: | ||
| registry: ghcr.io | ||
| username: ${{ github.actor }} | ||
| password: ${{ secrets.GITHUB_TOKEN }} | ||
|
|
||
| - name: Build and push Docker image | ||
| uses: docker/build-push-action@v5.0.0 | ||
| with: | ||
| context: . | ||
| file: docker/Dockerfile | ||
| push: ${{ github.event_name == 'push' }} | ||
| tags: ${{ steps.meta.outputs.tags }} | ||
| labels: ${{ steps.meta.outputs.labels }} |
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,200 @@ | ||
| name: Tests | ||
|
|
||
| on: push | ||
|
|
||
| jobs: | ||
| unit-tests: | ||
| runs-on: ubuntu-latest | ||
| container: | ||
| image: python:3.11-slim | ||
| strategy: | ||
| matrix: | ||
| python-version: ["3.11"] | ||
|
|
||
| steps: | ||
| - uses: actions/checkout@v4 | ||
|
|
||
| - name: Install system dependencies | ||
| run: | | ||
| apt-get update | ||
| apt-get install -y \ | ||
| libgl1 \ | ||
| libglib2.0-0 \ | ||
| git \ | ||
| gpg \ | ||
| libglu1-mesa | ||
|
|
||
| - name: Install Python dependencies | ||
| run: | | ||
| python -m pip install --upgrade pip | ||
| pip install .[dev] | ||
|
|
||
| - name: Run unit tests | ||
| shell: bash | ||
| env: | ||
| SQUID_SIMULATION_MODE: "true" | ||
| PYTHONPATH: "." | ||
| run: | | ||
| echo "🧪 Running UNIT TESTS (without integration tests)" | ||
| echo "🔧 Hardware modules excluded in simulation mode" | ||
| echo "⚡ Fast feedback - unit tests run first" | ||
| echo "📊 Coverage report will be generated" | ||
| echo "" | ||
| python scripts/run_tests.py --skip-integration --coverage --verbose | ||
|
|
||
| - name: Upload coverage reports to Codecov | ||
| if: always() && matrix.python-version == '3.11' | ||
| uses: codecov/codecov-action@v4 | ||
| with: | ||
| file: ./coverage.xml | ||
| flags: unittests | ||
| name: codecov-umbrella | ||
| fail_ci_if_error: false | ||
| verbose: true | ||
| token: ${{ secrets.CODECOV_TOKEN }} | ||
|
|
||
| - name: Upload coverage HTML report as artifact | ||
| if: always() && matrix.python-version == '3.11' | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: coverage-html-report-unit-tests | ||
| path: htmlcov/ | ||
| retention-days: 30 | ||
|
|
||
| - name: Upload unit test results | ||
| if: always() | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: unit-test-results-${{ matrix.python-version }} | ||
| path: pytest-results.xml | ||
| retention-days: 30 | ||
|
|
||
| integration-tests: | ||
| runs-on: ubuntu-latest | ||
| needs: [unit-tests] | ||
| container: | ||
| image: python:3.11-slim | ||
| strategy: | ||
| matrix: | ||
| python-version: ["3.11"] | ||
| # Run integration tests only when unit tests succeed | ||
| if: success() | ||
|
|
||
| steps: | ||
| - uses: actions/checkout@v4 | ||
|
|
||
| - name: Install system dependencies | ||
| run: | | ||
| apt-get update | ||
| apt-get install -y \ | ||
| libgl1 \ | ||
| libglib2.0-0 \ | ||
| git \ | ||
| gpg \ | ||
| libglu1-mesa | ||
|
|
||
| - name: Install Python dependencies | ||
| run: | | ||
| python -m pip install --upgrade pip | ||
| pip install .[dev] | ||
|
|
||
| - name: Run integration tests | ||
| shell: bash | ||
| env: | ||
| SQUID_SIMULATION_MODE: "true" | ||
| PYTHONPATH: "." | ||
| AGENT_LENS_WORKSPACE_TOKEN: ${{ secrets.AGENT_LENS_WORKSPACE_TOKEN }} | ||
| run: | | ||
| echo "🌐 Running INTEGRATION TESTS (Hypha RPC services, excluding WebRTC)" | ||
| echo "🔗 Requires network access and workspace token" | ||
| echo "📹 WebRTC tests run separately in webrtc-integration-tests job" | ||
| echo "📊 Coverage report will be generated for integration tests" | ||
| echo "💡 To run locally: python scripts/run_tests.py --integration-only" | ||
| echo "" | ||
| python -m pytest tests/ -m "integration" --ignore=tests/test_webrtc_e2e.py \ | ||
| --cov=squid_control \ | ||
| --cov-config=pyproject.toml \ | ||
| --cov-report=xml:coverage-integration.xml \ | ||
| --cov-report=html:htmlcov-integration \ | ||
| --cov-report=term-missing \ | ||
| --verbose --junitxml=pytest-results.xml | ||
|
|
||
| - name: Upload integration test results | ||
| if: always() | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: integration-test-results-${{ matrix.python-version }} | ||
| path: pytest-results.xml | ||
| retention-days: 30 | ||
|
|
||
| - name: Upload integration test coverage | ||
| if: always() && matrix.python-version == '3.11' | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: integration-coverage-${{ matrix.python-version }} | ||
| path: | | ||
| coverage-integration.xml | ||
| htmlcov-integration/ | ||
| retention-days: 30 | ||
|
|
||
| - name: Run WebRTC integration tests | ||
| shell: bash | ||
| env: | ||
| SQUID_SIMULATION_MODE: "true" | ||
| PYTHONPATH: "." | ||
| AGENT_LENS_WORKSPACE_TOKEN: ${{ secrets.AGENT_LENS_WORKSPACE_TOKEN }} | ||
| run: | | ||
| echo "" | ||
| echo "📹 Running WEBRTC INTEGRATION TESTS (Video streaming & metadata)" | ||
| echo "🔗 Requires network access and workspace token" | ||
| echo "🌐 Tests WebRTC video streaming and browser integration" | ||
| echo "💡 To run locally: python scripts/run_tests.py --webrtc-only" | ||
| echo "" | ||
| python scripts/run_tests.py --webrtc-only --verbose | ||
|
|
||
| - name: Upload WebRTC test results | ||
| if: always() | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: webrtc-test-results-${{ matrix.python-version }} | ||
| path: pytest-results.xml | ||
| retention-days: 30 | ||
|
|
||
| - name: Upload WebRTC test HTML artifacts | ||
| if: always() | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: webrtc-test-html-${{ matrix.python-version }} | ||
| path: /tmp/webrtc_test*.html | ||
| retention-days: 7 | ||
| if-no-files-found: ignore | ||
|
|
||
| coverage-report: | ||
| runs-on: ubuntu-latest | ||
| needs: [unit-tests, integration-tests] | ||
| if: always() | ||
|
|
||
| steps: | ||
| - uses: actions/checkout@v4 | ||
|
|
||
| - name: Download unit test coverage | ||
| uses: actions/download-artifact@v4 | ||
| with: | ||
| name: coverage-html-report-unit-tests | ||
| path: htmlcov-unit/ | ||
| continue-on-error: true | ||
|
|
||
| - name: Download integration test coverage | ||
| uses: actions/download-artifact@v4 | ||
| with: | ||
| name: integration-coverage-3.11 | ||
| path: htmlcov-integration/ | ||
| continue-on-error: true | ||
|
|
||
| - name: Coverage comment | ||
| if: github.event_name == 'pull_request' | ||
| uses: py-cov-action/python-coverage-comment-action@v3 | ||
| with: | ||
| GITHUB_TOKEN: ${{ github.token }} | ||
| MINIMUM_GREEN: 60 | ||
| MINIMUM_ORANGE: 40 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| MIT License | ||
|
|
||
| Copyright (c) [year] [fullname] | ||
|
|
||
| Permission is hereby granted, free of charge, to any person obtaining a copy | ||
| of this software and associated documentation files (the "Software"), to deal | ||
| in the Software without restriction, including without limitation the rights | ||
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||
| copies of the Software, and to permit persons to whom the Software is | ||
| furnished to do so, subject to the following conditions: | ||
|
|
||
| The above copyright notice and this permission notice shall be included in all | ||
| copies or substantial portions of the Software. | ||
|
|
||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||
| SOFTWARE. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,5 +1,29 @@ | ||
| include squid_control/icon/* | ||
| include squid_control/images/* | ||
| include squid_control/control/* | ||
| include squid_control/configurations/* | ||
| # Include package data | ||
| include README.md | ||
| include LICENSE | ||
| include MANIFEST.in | ||
| include pyproject.toml | ||
|
|
||
| # Include configuration files | ||
| include squid_control/config/*.ini | ||
| include squid_control/config/*.xml | ||
| include squid_control/control/*.json | ||
| include squid_control/control/edge_positions.json | ||
|
|
||
| # Include example data | ||
| include squid_control/control/camera/example-data/*.bmp | ||
|
|
||
| # Include test files | ||
| include tests/*.py | ||
| include pytest.ini | ||
|
|
||
| # Exclude unnecessary files | ||
| exclude *.pyc | ||
| exclude __pycache__ | ||
| exclude .git* | ||
| exclude .DS_Store | ||
| exclude *.egg-info | ||
| exclude build/ | ||
| exclude dist/ | ||
| exclude .pytest_cache/ | ||
| exclude .coverage |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
Why this is added?