Skip to content

Conversation

@mergify
Copy link

@mergify mergify bot commented Jan 13, 2026

Description

This PR reorganizes the QDMI codebase to improve its structure and maintainability. It extracts and incorporates the best practices from #1347 (Refactor QDMI Devices and Fix Singleton Handling).

Checklist:

  • The pull request only contains commits that are focused and relevant to this change.
  • I have added appropriate tests that cover the new/changed functionality.
  • I have updated the documentation to reflect these changes.
  • I have added entries to the changelog for any noteworthy additions, changes, fixes, or removals.
  • I have added migration instructions to the upgrade guide (if needed).
  • The changes follow the project's style guidelines and introduce no new warnings.
  • The changes are fully tested and pass the CI checks.
  • I have reviewed my own code changes.
    This is an automatic backport of pull request 🎨 Reorganize QDMI Codebase #1444 done by Mergify.

## Description

This PR reorganizes the QDMI codebase to improve its structure and
maintainability. It extracts and incorporates the best practices from
#1347 (Refactor QDMI Devices and Fix Singleton Handling).

## Checklist:

<!---
This checklist serves as a reminder of a couple of things that ensure
your pull request will be merged swiftly.
-->

- [x] The pull request only contains commits that are focused and
relevant to this change.
- [x] I have added appropriate tests that cover the new/changed
functionality.
- [x] I have updated the documentation to reflect these changes.
- [x] I have added entries to the changelog for any noteworthy
additions, changes, fixes, or removals.
- [ ] I have added migration instructions to the upgrade guide (if
needed).
- [x] The changes follow the project's style guidelines and introduce no
new warnings.
- [x] The changes are fully tested and pass the CI checks.
- [x] I have reviewed my own code changes.

---------

Signed-off-by: burgholzer <[email protected]>
Co-authored-by: burgholzer <[email protected]>
(cherry picked from commit 42fb76c)

# Conflicts:
#	CHANGELOG.md
@mergify mergify bot added the conflicts PRs that currently have conflicts with their base branch label Jan 13, 2026
@mergify
Copy link
Author

mergify bot commented Jan 13, 2026

Cherry-pick of 42fb76c has failed:

On branch mergify/bp/v3.x/pr-1444
Your branch is up to date with 'origin/v3.x'.

You are currently cherry-picking commit 42fb76c3.
  (fix conflicts and run "git cherry-pick --continue")
  (use "git cherry-pick --skip" to skip this patch)
  (use "git cherry-pick --abort" to cancel the cherry-pick operation)

Changes to be committed:
	modified:   bindings/fomac/fomac.cpp
	modified:   bindings/na/register_fomac.cpp
	modified:   include/mqt-core/fomac/FoMaC.hpp
	modified:   include/mqt-core/na/fomac/Device.hpp
	renamed:    include/mqt-core/qdmi/Common.hpp -> include/mqt-core/qdmi/common/Common.hpp
	renamed:    include/mqt-core/qdmi/dd/Device.hpp -> include/mqt-core/qdmi/devices/dd/Device.hpp
	renamed:    include/mqt-core/qdmi/na/Device.hpp -> include/mqt-core/qdmi/devices/na/Device.hpp
	renamed:    include/mqt-core/qdmi/na/Generator.hpp -> include/mqt-core/qdmi/devices/na/Generator.hpp
	renamed:    include/mqt-core/qdmi/sc/Device.hpp -> include/mqt-core/qdmi/devices/sc/Device.hpp
	renamed:    include/mqt-core/qdmi/sc/Generator.hpp -> include/mqt-core/qdmi/devices/sc/Generator.hpp
	renamed:    include/mqt-core/qdmi/Driver.hpp -> include/mqt-core/qdmi/driver/Driver.hpp
	modified:   src/fomac/FoMaC.cpp
	modified:   src/na/fomac/Device.cpp
	modified:   src/qdmi/CMakeLists.txt
	new file:   src/qdmi/common/CMakeLists.txt
	renamed:    src/qdmi/Common.cpp -> src/qdmi/common/Common.cpp
	new file:   src/qdmi/devices/CMakeLists.txt
	renamed:    src/qdmi/dd/CMakeLists.txt -> src/qdmi/devices/dd/CMakeLists.txt
	renamed:    src/qdmi/dd/Device.cpp -> src/qdmi/devices/dd/Device.cpp
	renamed:    src/qdmi/na/App.cpp -> src/qdmi/devices/na/App.cpp
	renamed:    src/qdmi/na/CMakeLists.txt -> src/qdmi/devices/na/CMakeLists.txt
	renamed:    src/qdmi/na/Device.cpp -> src/qdmi/devices/na/Device.cpp
	renamed:    src/qdmi/na/DynDevice.cpp -> src/qdmi/devices/na/DynDevice.cpp
	renamed:    src/qdmi/na/Generator.cpp -> src/qdmi/devices/na/Generator.cpp
	renamed:    src/qdmi/sc/App.cpp -> src/qdmi/devices/sc/App.cpp
	renamed:    src/qdmi/sc/CMakeLists.txt -> src/qdmi/devices/sc/CMakeLists.txt
	renamed:    src/qdmi/sc/Device.cpp -> src/qdmi/devices/sc/Device.cpp
	renamed:    src/qdmi/sc/DynDevice.cpp -> src/qdmi/devices/sc/DynDevice.cpp
	renamed:    src/qdmi/sc/Generator.cpp -> src/qdmi/devices/sc/Generator.cpp
	new file:   src/qdmi/driver/CMakeLists.txt
	renamed:    src/qdmi/Driver.cpp -> src/qdmi/driver/Driver.cpp
	modified:   test/fomac/test_fomac.cpp
	modified:   test/na/CMakeLists.txt
	modified:   test/qdmi/CMakeLists.txt
	new file:   test/qdmi/devices/CMakeLists.txt
	renamed:    test/qdmi/dd/CMakeLists.txt -> test/qdmi/devices/dd/CMakeLists.txt
	renamed:    test/qdmi/dd/concurrency_test.cpp -> test/qdmi/devices/dd/concurrency_test.cpp
	renamed:    test/qdmi/dd/device_properties_test.cpp -> test/qdmi/devices/dd/device_properties_test.cpp
	renamed:    test/qdmi/dd/device_status_test.cpp -> test/qdmi/devices/dd/device_status_test.cpp
	renamed:    test/qdmi/dd/error_handling_test.cpp -> test/qdmi/devices/dd/error_handling_test.cpp
	renamed:    test/qdmi/dd/helpers/circuits.hpp -> test/qdmi/devices/dd/helpers/circuits.hpp
	renamed:    test/qdmi/dd/helpers/test_utils.cpp -> test/qdmi/devices/dd/helpers/test_utils.cpp
	renamed:    test/qdmi/dd/helpers/test_utils.hpp -> test/qdmi/devices/dd/helpers/test_utils.hpp
	renamed:    test/qdmi/dd/job_lifecycle_test.cpp -> test/qdmi/devices/dd/job_lifecycle_test.cpp
	renamed:    test/qdmi/dd/job_parameters_test.cpp -> test/qdmi/devices/dd/job_parameters_test.cpp
	renamed:    test/qdmi/dd/results_probabilities_test.cpp -> test/qdmi/devices/dd/results_probabilities_test.cpp
	renamed:    test/qdmi/dd/results_sampling_test.cpp -> test/qdmi/devices/dd/results_sampling_test.cpp
	renamed:    test/qdmi/dd/results_statevector_test.cpp -> test/qdmi/devices/dd/results_statevector_test.cpp
	renamed:    test/qdmi/dd/session_lifecycle_test.cpp -> test/qdmi/devices/dd/session_lifecycle_test.cpp
	renamed:    test/na/device/CMakeLists.txt -> test/qdmi/devices/na/CMakeLists.txt
	renamed:    test/na/device/test_app.cpp -> test/qdmi/devices/na/test_app.cpp
	renamed:    test/na/device/test_device.cpp -> test/qdmi/devices/na/test_device.cpp
	renamed:    test/na/device/test_generator.cpp -> test/qdmi/devices/na/test_generator.cpp
	renamed:    test/qdmi/sc/CMakeLists.txt -> test/qdmi/devices/sc/CMakeLists.txt
	renamed:    test/qdmi/sc/test_app.cpp -> test/qdmi/devices/sc/test_app.cpp
	renamed:    test/qdmi/sc/test_device.cpp -> test/qdmi/devices/sc/test_device.cpp
	renamed:    test/qdmi/sc/test_generator.cpp -> test/qdmi/devices/sc/test_generator.cpp
	new file:   test/qdmi/driver/CMakeLists.txt
	renamed:    test/qdmi/test_driver.cpp -> test/qdmi/driver/test_driver.cpp

Unmerged paths:
  (use "git add <file>..." to mark resolution)
	both modified:   CHANGELOG.md

To fix up this pull request, you can check it out locally. See documentation: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally

@mergify mergify bot mentioned this pull request Jan 13, 2026
8 tasks
@burgholzer burgholzer added the backport Changes that have been backported to a stable release branch label Jan 13, 2026
@codecov
Copy link

codecov bot commented Jan 13, 2026

Codecov Report

❌ Patch coverage is 80.00000% with 1 line in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
include/mqt-core/qdmi/common/Common.hpp 80.0% 1 Missing ⚠️

📢 Thoughts on this report? Let us know!

Signed-off-by: burgholzer <[email protected]>
@burgholzer burgholzer force-pushed the mergify/bp/v3.x/pr-1444 branch from 457c149 to 86773e3 Compare January 13, 2026 12:48
@burgholzer burgholzer enabled auto-merge (squash) January 13, 2026 12:51
@burgholzer burgholzer merged commit 4e4a84e into v3.x Jan 13, 2026
33 of 34 checks passed
@burgholzer burgholzer deleted the mergify/bp/v3.x/pr-1444 branch January 13, 2026 13:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport Changes that have been backported to a stable release branch conflicts PRs that currently have conflicts with their base branch

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants