Skip to content

Fix Windows zip failures, update MATLAB toolbox packaging, and add startTime to header#7

Merged
stevevanhooser merged 11 commits intomainfrom
fix-windows-zip-failures-10291462098558351599
Feb 24, 2026
Merged

Fix Windows zip failures, update MATLAB toolbox packaging, and add startTime to header#7
stevevanhooser merged 11 commits intomainfrom
fix-windows-zip-failures-10291462098558351599

Conversation

@google-labs-jules
Copy link
Copy Markdown
Contributor

This PR updates the .github/workflows/build_and_release.yml file and the Pyraview codebase.

  1. Package Binaries:

    • Replaced zip with 7z on Windows runners to avoid file locking issues and ensure reliable archiving.
    • Simplified the zip command for Linux and macOS to archive all contents of build/bin.
  2. Package Toolbox:

    • Switched from using toolboxPackaging.prj to a fully programmatic approach that generates a pyraview.prj file on the fly.
    • The toolbox version is now dynamically set from the GitHub release tag (via GITHUB_REF_NAME env var), stripping any leading 'v'.
    • Configured 'Pyraview Team' as the author.
    • Uses a fixed, permanent UUID for the project to ensure consistent updates.
  3. Workflow Triggers:

    • Updated if: conditions on packaging and release jobs to allow execution on workflow_dispatch events, enabling manual testing of the release process.
  4. Header Update:

    • Added double startTime to the 1024-byte header after nativeRate.
    • Reduced reserved padding from 988 to 980 bytes to maintain alignment.
    • Updated pyraview_process_chunk in C and pyraview_mex in MATLAB to accept and process the new startTime argument.
    • Implemented logic to write startTime on file creation and validate it (check for NaN/Inf) when appending.

PR created automatically by Jules for task 10291462098558351599 started by @stevevanhooser

- 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.
@google-labs-jules
Copy link
Copy Markdown
Contributor Author

👋 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 @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

google-labs-jules bot and others added 10 commits February 23, 2026 02:04
- 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.
@stevevanhooser stevevanhooser merged commit bfe8031 into main Feb 24, 2026
6 checks passed
@stevevanhooser stevevanhooser deleted the fix-windows-zip-failures-10291462098558351599 branch March 3, 2026 14:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant