Prepare DWave v0.7.1 for QUBOTools 0.15 - #51
Conversation
bernalde
left a comment
There was a problem hiding this comment.
Reviewed as maintainer. Note: I am the PR author, so GitHub only permits a COMMENT event here; a formal APPROVE/REQUEST_CHANGES must come from another maintainer. There are no blocking issues, so this would be approvable on the merits.
The change is narrowly scoped to compatibility, as issue #44 requested: widen QUBOTools to 0.13, 0.14, 0.15, normalize QUBODrivers to 0.6, bump to v0.7.1, and update the metadata guard test. The Refs #44 link (not Closes) is correct: registration is a later step, so the issue should stay open after merge.
Nonblocking / Question
- The compat range now declares
0.14supported, but nothing exercises it. The functional suite (QUBODrivers.testconformance, parity, topology) resolves and runs against the newest compatible release only, which isQUBOTools v0.15.1.test/compat_metadata.jlasserts the Project.toml strings but not behavior, so0.14is declared-but-untested.0.13was the prior tested baseline and0.15is exercised now;0.14is the gap. The source touches core APIs only (QUBOTools.ising,Sample/SampleSet,topology/geometry/Layout,Model,variable/start), which were stable across these minors, so risk is low and a contiguous range is reasonable. Flagging as a Question rather than Blocking: was0.14resolved and tested anywhere (e.g. a manual run), or is it included on the assumption of a stable contiguous range? If the latter, that is fine but worth stating in the PR notes. Fix if you want certainty: pin a temp env toQUBOTools = "0.14"and runPkg.test()once, or drop0.14from the range.
Tests run
- Clean detached worktree at the PR head (
ca58f00), isolatedJULIA_DEPOT_PATH,DWAVE_API_TOKENunset. Pkg.instantiate()resolvedQUBOTools v0.15.1andQUBODrivers v0.6.4.Pkg.test()passed (exit 0): all non-hardware testsets green, including the updatedcompat_metadata.jlguard. The hardware-backedDWave.Optimizerconformance set is gated on a valid token and was skipped, matching the PR's stated CI behavior. Neal/Greedy/Random/Tabu conformance, parity, metadata, chimera, and topology testsets all passed.
Merge-readiness
- No blocking issues. Diff verified against merge-base
091d47e: 2 files, +5/-5, matching the PR's reported totals. The metadata guard test was updated in lockstep with the compat change. Approvable on the merits; because this is my own PR the formal approval must come from a second maintainer.
|
Review follow-up for PR #51.
|
|
Live hardware validation completed.
|
|
@JuliaRegistrator register Release notes:
|
|
Comments on pull requests will not trigger Registrator, as it is disabled. Please try commenting on a commit or issue. |
Summary
DWave v0.7.1for the current JuliaQUBO release wave.QUBOToolscompat from0.13to0.13, 0.14, 0.15.QUBODriverscompat from0.6.1to0.6.Refs #44
Repository Inspection
DWave.jldirectly depends onQUBOToolsandQUBODrivers.ToQUBOorPseudoBooleanOptimizationinProject.toml,test/Project.toml, source, docs, or CI metadata.docs/build, examples directory, changelog, or release-notes file in this repository. The docs surface isREADME.mdandsrc/wrapper/README.md, and no executable docs/examples needed decoupling.Registry Confirmation
Confirmed from a fresh General registry environment:
PseudoBooleanOptimization v0.3.0QUBOTools v0.15.1ToQUBO v0.5.1QUBODrivers v0.6.4The four packages resolve together in one environment.
Validation
Passed:
JULIA_DEPOT_PATH=/tmp/dwave-ecosystem-general-check julia --startup-file=no -e 'import Pkg; Pkg.activate(; temp=true); Pkg.add([Pkg.PackageSpec(name="QUBOTools", version="0.15.1"), Pkg.PackageSpec(name="QUBODrivers", version="0.6.4"), Pkg.PackageSpec(name="ToQUBO", version="0.5.1"), Pkg.PackageSpec(name="PseudoBooleanOptimization", version="0.3.0")]); Pkg.status(["QUBOTools", "QUBODrivers", "ToQUBO", "PseudoBooleanOptimization"])'JULIA_DEPOT_PATH=/tmp/dwave-v071-test-depot julia --startup-file=no --project=. -e 'import Pkg; Pkg.update(); Pkg.status(["QUBOTools", "QUBODrivers"]); Pkg.test()'DWave v0.7.1withQUBOTools v0.15.1andQUBODrivers v0.6.4.DWAVE_API_TOKENwas unset, so local hardware-backedDWave.Optimizertests were skipped.JULIA_DEPOT_PATH=/tmp/dwave-v071-source-add-committed-depot julia --startup-file=no -e 'import Pkg; Pkg.activate(; temp=true); Pkg.add([Pkg.PackageSpec(name="PseudoBooleanOptimization", version="0.3.0"), Pkg.PackageSpec(name="QUBOTools", version="0.15.1"), Pkg.PackageSpec(name="ToQUBO", version="0.5.1"), Pkg.PackageSpec(name="QUBODrivers", version="0.6.4")]); Pkg.add(Pkg.PackageSpec(path=pwd())); Pkg.resolve(); using DWave; Pkg.status(["DWave", "PseudoBooleanOptimization", "QUBOTools", "ToQUBO", "QUBODrivers"]; mode=Pkg.PKGMODE_MANIFEST)'DWave v0.7.1from this branch withPseudoBooleanOptimization v0.3.0,QUBOTools v0.15.1,ToQUBO v0.5.1, andQUBODrivers v0.6.4.git diff --checkCI:
28144616301passed all four Julia matrix jobs:DWAVE_API_TOKENwas defined but not valid, so CI also skipped the hardware-backedDWave.Optimizertests.QUBO.jl canary check:
JULIA_DEPOT_PATH=/tmp/dwave-registered-canary-depot julia --startup-file=no scripts/ecosystem_canary.jl --tier tier-2-dwave --allow-import-failure DWave PseudoBooleanOptimization QUBOTools ToQUBO QUBODrivers DWaveDWave v0.7.0resolves withQUBOTools v0.13.1.QUBOToolsandPseudoBooleanOptimization.DWave v0.7.0asQUBODrivers 0.6.1-0.6andQUBOTools 0.13.DWave v0.7.1: latest core packages resolve together andusing DWavesucceeds.Branch Hygiene
mainorigin/mainat091d47e640e6203295fe49867ec3fcbd0f608435fix/issue-44-qubotools-compatQUBOTools 0.14and was not reused.