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 some test cases for the beta branch #612

Closed
wants to merge 41 commits into from

Conversation

alcarney
Copy link
Member

@alcarney alcarney commented Jul 9, 2023

  • Add some initial test cases for the sphinx agent
  • Repurpose the existing PR workflow to run tests against the beta branch
  • Includes some cleanup and refactoring of the sphinx agent/client/manager
  • It should now be possible to configure the server to pass through a list of environment variables to the sphinx process
  • Fix sphinx agent process not launching on windows
  • Various tox in CI improvements - thanks Hynek!

alcarney and others added 26 commits June 29, 2023 23:52
By the time 1.0 is ready 3.7 will have gone EOL so we might as well drop
support now.
Taking inspiration from
https://github.dev/microsoft/vscode-python-tools-extension-template
the next major version of the extension will include a bundled copy of
the language server.

This brings back just enough code to install `esbonio` and its
dependencies in a local `bundled/libs` folder and (attempt) to launch a
language client pointed at this installation of esbonio
It's looking like a lot of the old configuration options won't be
needed so they are being removed for now.

The server needs to know which python interpreter it should use when
spinning up new Sphinx instances. It would be good for the extension
to default to the Python interpreter for the current workspace -
unless told otherwise.

Unfortunately, the Python extension no longer records this as a
standard configuration option.

But adding some middleware to the language client, we can intercept
`workspace/configuration` requests from the server and inject the
Python interpreter as configured by the python extension if necessary!
It's going to be necessary for the server to possess at least a little
knowledge about the content it is processing
This does just enough to open a preview pane for the current document
on demand, it even works for multi-root/multi-project situations -
though currently only one project active at a time.

Fancier features like synced scrolling/document switching etc
will (hopefully!) follow soon
Pass the `-S` flag to the Python interpreter to isolate it from its
environment.

Add support for the `sphinx.enableDevTools` flag
Bumps [typescript](https://github.com/Microsoft/TypeScript) from 5.1.3 to 5.1.5.
- [Release notes](https://github.com/Microsoft/TypeScript/releases)
- [Commits](microsoft/TypeScript@v5.1.3...v5.1.5)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [webpack](https://github.com/webpack/webpack) from 5.87.0 to 5.88.1.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](webpack/webpack@v5.87.0...v5.88.1)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [ts-loader](https://github.com/TypeStrong/ts-loader) from 9.4.3 to 9.4.4.
- [Release notes](https://github.com/TypeStrong/ts-loader/releases)
- [Changelog](https://github.com/TypeStrong/ts-loader/blob/main/CHANGELOG.md)
- [Commits](TypeStrong/ts-loader@v9.4.3...v9.4.4)

---
updated-dependencies:
- dependency-name: ts-loader
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@alcarney alcarney added this to the 1.0 milestone Jul 9, 2023
This also includes further cleanup - it looks like we no longer have
to track the `-M` flag ourselves.
- Decouple the `SphinxClient` from the `SphinxManager` feature.
- Typing fixes
- Update the helper `_resolve_xxx` methods to behave more consistently
- Only resolve a field if it has not already been given.
- Add docstrings and unit tests
- Add "private" helper method for fetching the user's `SphinxConfig`
- Remove some unecessary log messages
This adds the first end-to-end test of just the sphinx agent
component, using the now decoupled `SphinxClient` to drive the test.
- Run test environments in parallel
- Build wheel packages rather than sdists for test environments
- Skip the install step when running `tox -e pkg`
@alcarney
Copy link
Member Author

Superseded by #615 and #616

@alcarney alcarney closed this Jul 13, 2023
@alcarney alcarney deleted the beta-tests branch July 13, 2023 22:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant