Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for a CDCL-type SAT solver using the Resolvo crate #1179

Draft
wants to merge 65 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
8434558
Preliminary work to adopt Resolvo as the solver
jrray Jan 30, 2025
57097d6
Implement candidate sorting
jrray Jan 31, 2025
afcc027
Implement candidate filtering by version number
jrray Jan 31, 2025
44a8bee
Add basic unsat test
jrray Feb 1, 2025
9ba2879
Implement simple dependency handling
jrray Feb 1, 2025
df456b7
Handle var dependencies
jrray Feb 1, 2025
7b8820d
Fill in missing interner functions
jrray Feb 1, 2025
fff6be2
Better solver errors
jrray Feb 1, 2025
212b91a
Change the solvable to the component level
jrray Feb 2, 2025
7811e84
Crudely support global vars
jrray Feb 1, 2025
5b9fec7
Trim down the debug output for SolvedRequest
jrray Feb 3, 2025
26144bd
Exclude source packages from solves
jrray Feb 3, 2025
7683ef1
Create an abstraction interface for solvers
jrray Feb 3, 2025
df3c7ab
Finish integrating cdcl solver into existing solver tests
jrray Feb 6, 2025
31c1bfb
Handle dependency inclusion policy
jrray Feb 6, 2025
4bb0e68
Support global var options
jrray Feb 6, 2025
b7d8bcf
Populate Solution options
jrray Feb 6, 2025
12bd1de
Implement requests for source builds
jrray Feb 7, 2025
7cdbd5b
Pass the "All" component test
jrray Feb 7, 2025
203df8c
This other component test passes reliably now
jrray Feb 7, 2025
c826dc6
Implement tracking component "uses" as dependencies
jrray Feb 7, 2025
ecec264
Implement tracking component requirements as dependencies
jrray Feb 7, 2025
9817f67
Start to implement handling embedded packages
jrray Feb 7, 2025
0eea0e1
More passing embedded package tests
jrray Feb 8, 2025
d3c528e
Another embedded package test passing
jrray Feb 8, 2025
02af8b4
More work on solving embedded packages
jrray Feb 8, 2025
e379e4e
Another test that passes after adjusting expected build
jrray Feb 8, 2025
49ec062
Handle requirements of components in embedded packages
jrray Feb 8, 2025
ed7b22d
Handle package embedding multiple versions of the same package
jrray Feb 8, 2025
3876de0
Handle basic build from source cases
jrray Feb 8, 2025
80b09bd
Explicitly enable build from source in tests
jrray Feb 9, 2025
15d1f75
Don't build from source from deprecated recipes
jrray Feb 9, 2025
96b4e7a
Enable "impossible checks" tests for new solver
jrray Feb 9, 2025
bebdc54
Use Variantly to auto-generate these methods
jrray Feb 9, 2025
653a609
Rework flags test for AbstractSolver (pt. 1)
Feb 22, 2025
a077e31
Work towards using resolvo for spk commands
jrray Feb 9, 2025
cbd3013
Temporarily hardcode using the new solver
jrray Feb 9, 2025
33ea462
Use new solver in more places
jrray Feb 9, 2025
4158a2d
Refactor type used for resolvo package names
jrray Feb 9, 2025
655bcef
Add a crude solve result output to cmd_explain
Feb 10, 2025
74c3bcb
Fix requests for :all not filtering invalid versions
Feb 10, 2025
30a0f09
Implement update_options in new solver
Feb 11, 2025
87f439b
Update known var values when processing var requirements
Feb 11, 2025
1379d70
Wire up the normal solution output in cmd_explain
Feb 11, 2025
a1a1fb5
Improve sorting to avoid embedded packages
Feb 11, 2025
cf2f5b7
Avoid reading packages where possible
Feb 11, 2025
949d695
Add feedback for solver retries
Feb 11, 2025
1b223db
Add a replacement for running solve through formatter
Feb 11, 2025
839279a
Also add run_and_log_resolve to AbstractSolver
Feb 11, 2025
3fc1755
Rework how BinaryPackageBuilder invokes the solver
Feb 11, 2025
f978d0d
Add solver arg to `spk test`
Feb 12, 2025
b451c5e
Change these calls to mimic the one in install.rs
Feb 12, 2025
c54b335
Add `flags::DecisionFormatterSettings` to `flags::Solver`
jrray Feb 12, 2025
4824332
Make it possible to choose resolvo with --solver-to-run
jrray Feb 12, 2025
3a0920b
Remove unnecessary clone
jrray Feb 13, 2025
6ea2899
Refactor some build key logic from SortedBuildIterator
jrray Feb 13, 2025
03c7143
Do a reverse sort using std::cmp::Reverse
jrray Feb 13, 2025
f9613b4
Rework build sorting in the new solver
jrray Feb 13, 2025
3bd5ff9
Don't inject credentials for resolvo repo
Feb 19, 2025
ef8e416
Convenience conversion from EmbeddedBuildSource to BuildIdent
Feb 19, 2025
7bc1e71
Convert embedded packages properly from resolvo solve
Feb 19, 2025
e236ea8
Resolvo: fix stubs getting added to solve without parent
Feb 21, 2025
a29c6c7
Expand test coverage for resolvo solver
Feb 22, 2025
c8a558a
Fix resolvo solver with migration-to-components
Mar 5, 2025
5a2b256
Add configure_for_build_environment to AbstractSolver
jrray Mar 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .site/spi/.spdev/overrides.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ def inject_credentials(super_script_list: spdev.shell.Script) -> spdev.shell.Scr
"1",
"sed",
"-i",
'"s|https://github.com|https://$GITHUB_SPFS_PULL_USERNAME:[email protected]|"',
'"s|https://github.com/spkenv|https://$GITHUB_SPFS_PULL_USERNAME:[email protected]/spkenv|"',
)
)

Expand Down
Loading
Loading