Fix Windows zip failures, update MATLAB toolbox packaging, and add startTime to header#7
Conversation
- Update 'Package Binaries' step to use 7-Zip on Windows runners to fix zip failures. - Simplify packaging logic for non-Windows platforms. - Update 'Package Toolbox' step to package the MATLAB toolbox programmatically, using the GitHub release tag for the version number and 'Pyraview Team' as the author. - Create a complete .prj file with a fixed GUID for toolbox packaging. - Enable 'workflow_dispatch' on release jobs to allow manual triggering without tags. - Update Pyraview header to include `double startTime` after `nativeRate`, reducing reserved padding to 980 bytes. - Update C and MATLAB code to handle `startTime` argument.
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
- Core: Add `startTime` to Pyraview header (1024 bytes) and update validation logic. - Core: Implement `pyraview_get_header` for fast metadata scanning. - Python: Add `PyraviewDataset` class with `get_view_data` for optimal level selection. - MATLAB: Add `PyraviewDataset.m` and `pyraview_get_header_mex.c`. - Workflow: Fix Windows zip failures and enable manual release triggers. - Workflow: Update MATLAB toolbox packaging to use dynamic versioning.
- Core: Add `startTime` to Pyraview header (1024 bytes) and update validation logic. - Core: Implement `pyraview_get_header` for fast metadata scanning. - Python: Add `pyraview.PyraviewDataset` class with `get_view_data` for optimal level selection. - MATLAB: Add `+pyraview.Dataset` class and `pyraview_get_header_mex.c`. - Workflow: Fix Windows zip failures and enable manual release triggers. - Workflow: Update MATLAB toolbox packaging to use native API with fixed GUID.
- Core: Add `startTime` to Pyraview header (1024 bytes) and update validation logic. - Core: Implement `pyraview_get_header` for fast metadata scanning. - Python: Add `pyraview.PyraviewDataset` class with `get_view_data`. - MATLAB: Add `+pyraview.Dataset` class and `pyraview_get_header_mex.c`. - Workflow: Separate into `test.yml` (CI) and `release.yml` (CD). - Workflow: Fix Windows zip failures using 7z. - Workflow: Update MATLAB toolbox packaging to use native API with fixed GUID.
- Core: Add `startTime` to Pyraview header (1024 bytes) and update validation logic. - Core: Implement `pyraview_get_header` for fast metadata scanning. - Python: Add `pyraview.PyraviewDataset` class with `get_view_data`. Refactor into `pyraview` package. - MATLAB: Add `+pyraview.Dataset` class and `pyraview_get_header_mex.c`. Refactor into `+pyraview` package. - Workflow: Separate into `test.yml` (CI) and `release.yml` (CD). - Workflow: Fix Windows zip failures using 7z. - Workflow: Update MATLAB toolbox packaging to use native API with fixed GUID. - Workflow: Fix MATLAB paths in tests and ensure build errors fail CI.
- Core: Add `startTime` to Pyraview header (1024 bytes) and update validation logic. - Core: Implement `pyraview_get_header` for fast metadata scanning. - Python: Add `pyraview.PyraviewDataset` class. Refactor into `pyraview` package. - MATLAB: Add `+pyraview.Dataset` class. Refactor into `+pyraview` package. - Workflow: Separate into `test.yml` (CI) and `release.yml` (CD). - Workflow: Fix Windows zip failures using 7z. - Workflow: Update MATLAB toolbox packaging to use native API with fixed GUID. - Workflow: Fix MATLAB build flags and paths.
- Core: Add `startTime` to Pyraview header (1024 bytes) and update validation logic. - Core: Implement `pyraview_get_header` for fast metadata scanning. - Python: Add `pyraview.PyraviewDataset` class. Refactor into `pyraview` package. - MATLAB: Add `+pyraview.Dataset` class. Refactor into `+pyraview` package. - Workflow: Separate into `test.yml` (CI) and `release.yml` (CD). - Workflow: Fix Windows zip failures using 7z. - Workflow: Update MATLAB toolbox packaging to use native API with fixed GUID. - Workflow: Fix MATLAB build flags and paths.
- Core: Add `startTime` to Pyraview header (1024 bytes) and update validation logic. - Core: Implement `pyraview_get_header` for fast metadata scanning. - Python: Add `pyraview.PyraviewDataset` class. Refactor into `pyraview` package. - MATLAB: Add `+pyraview.Dataset` class. Refactor into `+pyraview` package. - Workflow: Separate into `test.yml` (CI) and `release.yml` (CD). - Workflow: Fix Windows zip failures using 7z. - Workflow: Update MATLAB toolbox packaging to use native API with fixed GUID. - Workflow: Fix MATLAB build flags and paths.
- Core: Add `startTime` to Pyraview header (1024 bytes) and update validation logic. - Core: Implement `pyraview_get_header` for fast metadata scanning. - Python: Add `pyraview.PyraviewDataset` class. Refactor into `pyraview` package. - MATLAB: Add `+pyraview.Dataset` class. Refactor into `+pyraview` package. - Workflow: Separate into `test.yml` (CI) and `release.yml` (CD). - Workflow: Fix Windows zip failures using 7z. - Workflow: Update MATLAB toolbox packaging to use native API with fixed GUID. - Workflow: Fix MATLAB build flags and output names.
- Core: Add `startTime` to Pyraview header (1024 bytes) and update validation logic. - Core: Implement `pyraview_get_header` for fast metadata scanning. - Python: Add `pyraview.PyraviewDataset` class. Refactor into `pyraview` package. - MATLAB: Add `+pyraview.Dataset` class. Refactor into `+pyraview` package. - Workflow: Separate into `test.yml` (CI) and `release.yml` (CD). - Workflow: Fix Windows zip failures using 7z. - Workflow: Update MATLAB toolbox packaging to use native API with fixed GUID. - Workflow: Fix MATLAB build flags and output names. Disable OpenMP on MacOS.
This PR updates the
.github/workflows/build_and_release.ymlfile and the Pyraview codebase.Package Binaries:
zipwith7zon Windows runners to avoid file locking issues and ensure reliable archiving.zipcommand for Linux and macOS to archive all contents ofbuild/bin.Package Toolbox:
toolboxPackaging.prjto a fully programmatic approach that generates apyraview.prjfile on the fly.GITHUB_REF_NAMEenv var), stripping any leading 'v'.Workflow Triggers:
if:conditions on packaging and release jobs to allow execution onworkflow_dispatchevents, enabling manual testing of the release process.Header Update:
double startTimeto the 1024-byte header afternativeRate.reservedpadding from 988 to 980 bytes to maintain alignment.pyraview_process_chunkin C andpyraview_mexin MATLAB to accept and process the newstartTimeargument.startTimeon file creation and validate it (check for NaN/Inf) when appending.PR created automatically by Jules for task 10291462098558351599 started by @stevevanhooser