-
Notifications
You must be signed in to change notification settings - Fork 48
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
Redesigning protostar.toml
6 — Version checker
#858
Conversation
Codecov ReportBase: 85.79% // Head: 85.87% // Increases project coverage by
Additional details and impacted files@@ Coverage Diff @@
## master #858 +/- ##
==========================================
+ Coverage 85.79% 85.87% +0.07%
==========================================
Files 253 258 +5
Lines 8328 8436 +108
==========================================
+ Hits 7145 7244 +99
- Misses 1183 1192 +9
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report at Codecov. |
protostar/self/protostar_compatibility_with_project_checker_test.py
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approved but I'm not happy with this
Bumps [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) from 3.1.0 to 3.2.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-xdist/blob/master/CHANGELOG.rst">pytest-xdist's changelog</a>.</em></p> <blockquote> <h1>pytest-xdist 3.2.0 (2023-02-07)</h1> <h2>Improved Documentation</h2> <ul> <li><code>[#863](pytest-dev/pytest-xdist#863) <https://github.com/pytest-dev/pytest-xdist/issues/863></code>_: Document limitations for debugging due to standard I/O of workers not being forwarded. Also, mention remote debugging as a possible workaround.</li> </ul> <h2>Features</h2> <ul> <li> <p><code>[#855](pytest-dev/pytest-xdist#855) <https://github.com/pytest-dev/pytest-xdist/issues/855></code>_: Users can now configure <code>load</code> scheduling precision using <code>--maxschedchunk</code> command line option.</p> </li> <li> <p><code>[#858](pytest-dev/pytest-xdist#858) <https://github.com/pytest-dev/pytest-xdist/issues/858></code><em>: New <code>worksteal</code> scheduler, based on the idea of <code>work stealing <https://en.wikipedia.org/wiki/Work_stealing></code></em>. It's similar to <code>load</code> scheduler, but it should handle tests with significantly differing duration better, and, at the same time, it should provide similar or better reuse of fixtures.</p> </li> </ul> <h2>Trivial Changes</h2> <ul> <li><code>[#870](pytest-dev/pytest-xdist#870) <https://github.com/pytest-dev/pytest-xdist/issues/870></code>_: Make the tests pass even when <code>$PYTEST_XDIST_AUTO_NUM_WORKERS</code> is set.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/5c065198e98df484d8193a5fba5480db541fac37"><code>5c06519</code></a> Release 3.2.0</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/c695763e92951e20bd10c783c47884032826ea6d"><code>c695763</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-xdist/issues/869">#869</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/9373ddb3f841a009bc9669b514923b6ecba724e7"><code>9373ddb</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-xdist/issues/870">#870</a> from hroncok/delenv</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/8fd1bfd182e87f46e2c2ff6dbb43c0cd43d0cc00"><code>8fd1bfd</code></a> Tests: Unset PYTEST_XDIST_AUTO_NUM_WORKERS when the behavior without the envv...</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/017cc72b7090dc4bb7e7ad3d0caab024feb977a8"><code>017cc72</code></a> Document limitations for debugging as well as a workaround (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-xdist/issues/867">#867</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/cf19f76d86aa149d21242da520879b8e0ee80013"><code>cf19f76</code></a> Fix minor typos in the documentation (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-xdist/issues/866">#866</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/691a0751bf7081224287d13c0863fc981a838380"><code>691a075</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/pytest-dev/pytest-xdist/issues/865">#865</a> from amezin/fix-loadsched-tests</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/e9860923bf899b283627526bf9a23cb688204d42"><code>e986092</code></a> Fix some LoadScheduling tests</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/d1dfad3e927e225c967f16928b39eee43a3d6457"><code>d1dfad3</code></a> Implement work-stealing scheduler (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-xdist/issues/862">#862</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/9b0b5b1495b024940e3f5c71583711be46df255b"><code>9b0b5b1</code></a> Add --maxschedchunk CLI option (<a href="https://github-redirect.dependabot.com/pytest-dev/pytest-xdist/issues/857">#857</a>)</li> <li>Additional commits viewable in <a href="https://github.com/pytest-dev/pytest-xdist/compare/v3.1.0...v3.2.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pytest-xdist&package-manager=pip&previous-version=3.1.0&new-version=3.2.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Currently,
protostar_version
is not properly handled by Protostar. It shouldn't be used to detect the version of the configuration file (v1, v2), but help a development team that uses Protostar to use compatible versions.Use case
Let's say we introduce a new cheatcode in Protostar v0.5. Alice upgraded Protostar and uses Protostar v0.5. Bob uses Protostar v0.4. Alice uses the new cheatcode and integrates her code with the mainline. Bob pulls the mainline and runs the code that uses the new cheatcode.
Note:
We should bump the minor (not micro) if forward compatibility is no preserved (e.g. new cheatcode).
Current behavior
Protostar crashes for Bob.
Expected behavior