Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
22 changes: 22 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,28 @@ jobs:
echo "::error::The equivalence check did not report a fast-mode comparison, so it did not run."
exit 1
fi
# packse scenarios cross-checked against a SAT oracle, run the same way and
# for the same reason as the two steps above: a mistyped -run exits 0 while
# asserting nothing, and a silent SKIP would hide a scenario going untested
# instead of failing loudly. See resolver/testdata/packse/README.md.
- name: packse and SAT oracle (must not skip)
shell: bash
run: |
set -euo pipefail
go test ./resolver/ -run 'TestPackse|TestSATOracle' -v -count=1 -timeout 20m \
| tee packse.log
if grep -q -e '--- SKIP' packse.log; then
echo "::error::A packse or SAT oracle test skipped. These must run on every PR."
exit 1
fi
if ! grep -qE 'packse: [0-9]+ scenarios = ' packse.log; then
echo "::error::TestPackse did not print its summary line, so it did not run."
exit 1
fi
if ! grep -qE 'SAT oracle: cross-checked [0-9]+ scenarios' packse.log; then
echo "::error::TestSATOracle did not print its summary line, so it did not run."
exit 1
fi
- name: Format check
run: |
unformatted=$(gofmt -l .)
Expand Down
14 changes: 14 additions & 0 deletions NOTICE
Original file line number Diff line number Diff line change
Expand Up @@ -48,3 +48,17 @@ github.com/posit-dev/go-python-packaging, used for PEP 440 versions and PEP 508
requirements, is Copyright (c) Posit Software, PBC, licensed under the Apache
License, Version 2.0, or the MIT license. See that project's own NOTICE for the
upstreams it in turn credits.

resolver/testdata/packse contains scenario files copied from astral-sh/packse
(https://github.com/astral-sh/packse), Copyright (c) 2023 Astral Software Inc.,
dual-licensed under the Apache License, Version 2.0, or the MIT license. See
resolver/testdata/packse/README.md for the pinned commit and how they were
copied.

github.com/crillab/gophersat, used as a SAT-solver cross-check in the resolver
package's tests, is Copyright (c) 2017 Centre de Recherche en Informatique de
Lens and contributors, licensed under the MIT license. Test-only dependency.

github.com/BurntSushi/toml, used to parse the packse scenario fixtures in the
resolver package's tests, is licensed under the MIT license. Test-only
dependency.
2 changes: 2 additions & 0 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ module github.com/posit-dev/go-pyresolver
go 1.25.0

require (
github.com/BurntSushi/toml v1.6.0
github.com/crillab/gophersat v1.4.0
github.com/klauspost/compress v1.19.2
github.com/posit-dev/go-pubgrub v0.2.1
github.com/posit-dev/go-python-packaging v0.7.0
Expand Down
4 changes: 4 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
github.com/BurntSushi/toml v1.6.0 h1:dRaEfpa2VI55EwlIW72hMRHdWouJeRF7TPYhI+AUQjk=
github.com/BurntSushi/toml v1.6.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
github.com/crillab/gophersat v1.4.0 h1:irf9ajKmNnEURjgPU4oz+ouqIXXLQ59ZNd3NC+hULMc=
github.com/crillab/gophersat v1.4.0/go.mod h1:gDzeMEBrqJR20IL9JW25tFHNGLU5+GDeJzr0zpi3mxs=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/klauspost/compress v1.19.2 h1:hMRETovs/pu/dVWN7zIT1PGG8t509MwT6bO7XSi26R8=
Expand Down
Loading
Loading