Conversation
- Add test_fiff_info: FiffInfoBase, FiffInfo, channel picks, FiffProj - Add test_fiff_data_types: FiffEvents, FiffDigPointSet, FiffEvokedSet, FiffCoordTrans - Add test_filter_kernel: FilterKernel, ParksMcClellan, CosineFilter - Add test_filter_data: filterData, filterDataBlock, FilterOverlapAdd, DetectTrigger - Add test_fs_surface_annotation: Surface normals, SurfaceSet, Annotation, Label, Colortable - Add test_mne_data_types: MNESourceSpace, MNEBem, MNEForwardSolution, MNESourceEstimate - Add test_fwd_models: FwdBemModel, FwdEegSphereModel, ComputeFwdSettings, FwdCoilSet - Add extended tests for connectivity, disp, fiff, fs, fwd, mne, rtprocessing, utils - Update testframes CMakeLists.txt with all new test subdirectories
…e to mne_source_estimate - Consolidated boost/push tests into 4 library-level tests: test_mne_library, test_fwd_library, test_fiff_fs_library, test_inv_rt_library - Added new test frameworks for fiff_coord_transform, fiff_raw_io, fs_annotation_labels, fwd_bem_data, fwd_sphere_settings, inverse_data, inverse_rap_dipole, mne_hemisphere_epoch, mne_source_data, rtprocessing_averaging, compute_raw_inverse - Renamed mne_sourceestimate.h/cpp to mne_source_estimate.h/cpp - Updated all include references across applications, examples, libraries, and testframes - Various library improvements and fixes
- Add reusable workflows: _reusable-build.yml, _reusable-tests.yml - Add main.yml: tag-based releases, production website + Doxygen deploy - Add staging.yml: dev builds, coverage threshold/regression, dev docs - Add pull-request.yml: build matrix + tests for PR validation - Update release-linux/macos/windows/installer for unified release logic - Update codeql.yml and codecov.yml for new branch names - Update docusaurus.config.ts with version dropdown (stable/dev) - Remove obsolete: tests.yml, release.yml, pullrequest.yml, docutest.yml
- ci-releasecycle.mdx: Rewrite branch strategy, add dual-version docs section, update release steps for staging→main→tag flow - contr-guide.mdx: PRs now target staging, feature branches from staging - contr-git.mdx: Add branch model overview, rebase against staging - ci.mdx: Update At a Glance table with new workflow names - ci-ghactions.mdx: Rewrite workflow overview, add reusable workflows, document staging and main/release pipelines - ci-deployment.mdx: Update workflow file references to split release files - contribute.mdx: Update quick start to branch from staging
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This pull request introduces a major overhaul of the project's GitHub Actions CI/CD workflows. The changes modularize and modernize the pipeline, introducing reusable workflows for building and testing, expanding platform and Qt version coverage, and improving code coverage tracking and deployment processes. Additionally, obsolete or redundant workflows are removed, and some configuration is updated to reflect the new branching model.
Workflow modularization and enhancements:
.github/workflows/_reusable-build.ymland.github/workflows/_reusable-tests.ymlto provide reusable, parameterized workflows for building and testing MNE-CPP across Linux, macOS, and Windows, with support for different Qt versions and code coverage options. These are now called by the main, staging, and pull-request pipelines. [1] [2].github/workflows/main.ymlas the new main branch pipeline, orchestrating builds, tests, documentation, website deployment, releases, installers, and WebAssembly builds. This workflow uses the new reusable build/test workflows and covers a comprehensive release process.Testing and code coverage improvements:
Branching model and configuration updates:
.github/workflows/codeql.ymlto include thestagingbranch alongsidemainfor both push and pull request triggers, reflecting the new branching model.Cleanup and deprecation:
.github/workflows/docutest.ymlworkflow, which was previously used for documentation updates on a dedicated branch, as this functionality is now handled in the new main pipeline.Summary of most important changes:
1. Workflow modularization and orchestration
_reusable-build.yml,_reusable-tests.yml) for consistent CI across platforms and Qt versions, now leveraged by the main pipeline. [1] [2]main.yml) to coordinate builds, tests, documentation, website deployment, releases, and WebAssembly artifacts, supporting both branch and tag triggers.2. Testing and code coverage
3. Branching and configuration updates
stagingbranch for both push and pull request events.4. Cleanup
docutest.yml), consolidating documentation deployment into the main pipeline.