-
Notifications
You must be signed in to change notification settings - Fork 36
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
Support testing against Python pre-releases on Windows #17
Comments
It seems that tool, although it mentions prereleases in its code, doesn't support prereleases.
I'd like some help devising a proper fix to support pre-release Pythons. |
The built-in plugin only exposes versions that have been added to the tool cache on the build machine. For the hosted VMs, you have to request it and wait (which I've already done). The code you'll actually need for now is going to be more like this (untested, but a good starting point for someone who's got time to work on this): - powershell: |
nuget install python -Prerelease -OutputDirectory "$(Build.BinariesDirectory)" -ExcludeVersion -NonInteractive
Write-Host "##vso[task.prependpath]$(Build.BinariesDirectory)\python\tools"
Write-Host "##vso[task.prependpath]$(Build.BinariesDirectory)\python\tools\Scripts"
condition: and(succeeded(), and(eq($(python.version), '3.9')), eq($(pool_vm_image), 'vs2017-win2016'))
- task: UsePythonVersion@0
inputs:
versionSpec: '$(python.version)'
architecture: 'x64'
condition: and(succeeded(), ne($(python.version), '3.9')) |
In jaraco/path@ab8b1d7, I've rebalanced the parentheses for the first condition using this interpretation:
And now I'm getting this error:
Position 25 is the first Based on the syntax in the Publish stage, I suspect that should be |
In jaraco/path@fd5f8fe, I'm getting closer. The conditions seem to be parsing correctly, but now the error is:
There I'm stuck. I searched for "nuget Azure pipelines", but all the resources seem to be about publishing to nuget, not consuming. I looked at the generic docs for nuget, but they suggest downloading the exe. My guess is that I shouldn't be manually downloading the installer. I'll await more guidance. |
Ah yeah, good catch on the variable syntax. I thought Nuget was already public? But perhaps not. It should be available in the tools cache though, so just adding this at the start (with the same condition to limit it to Windows) will do the PATH update: - task: NuGetToolInstaller@1
displayName: 'if you want one' |
Success! Thanks for the guidance. I should be able to use this to catch behaviors early for Python 3.9 across many of my projects. |
….0.0 Hugo (1): Fix AppVeyor typo Hugo van Kemenade (2): Spelling and capitalisation (#8) Link badge to PyPI rather than static image Jason R. Coombs (22): Correct guidance on project creation. Rely on setuptools_scm 3.4 and setuptools 42. Now setup.py is optional. Remove setuptools from test environment. Finish dropping support for Python 2 (I hope). Normalize whitespace Revert "setup.cfg: let python-tag mirror python_requires" Update to bionic for Travis. Correct comment about IPv6 workaround. Suppress warnings in pytest-flake8, pytest-black, and pytest-checkdocs. Prefer pytest-black to pytest-black-multipy Test against Windows and Mac Define a default pool_vm_image Remove tox-venv and tox-pip-version. Tox-venv is discouraged (tox-dev/tox-venv#48 (comment)) and tox-pip-version was only there to support tox-venv. venv is dead; long live virtualenv. Remove more references to tox-venv Add workaround for warning emitted when junitxml is used. Ref pytest-dev/pytest#6178. Include mypy for type checking during tests. Ensure virtualenv is upgraded when installing tox. Fixes jaraco/path#188. Run tests on prereleases of Python on Windows. Fixes jaraco/skeleton#17. Add workaround for python/mypy#8627. Fixes jaraco/skeleton#18. Add 'refresh.svg' demonstrating an example of refreshing a project with the latest skeleton. Ref #7. Move workaround for python/mypy#8627 to tox.ini, as adding it to setup.cfg prevents releases to PyPI. Fixes jaraco/skeleton#19. Remove strptime Remove Python 3.1 compatibility for divide_timedelta and deprecate the functionality. Deprecate divide_timedelta_float. Deprecate Parser class. Vincent Fazio (1): setup.cfg: let python-tag mirror python_requires johnthagen (1): Line wrap LICENSE file layday (1): Require toml extra for setuptools_scm (#12)
…21.3.0 Dmitry Shachnev (1): Make SecretService get_credential return None for missing query Jason R. Coombs (12): Remove more references to tox-venv Mark the test as xfail, as it's failing on appveyor too. Ref #436. Add workaround for warning emitted when junitxml is used. Ref pytest-dev/pytest#6178. Include mypy for type checking during tests. Update hyperlink to point to GitHub. Ensure virtualenv is upgraded when installing tox. Fixes jaraco/path#188. Run tests on prereleases of Python on Windows. Fixes jaraco/skeleton#17. Add workaround for python/mypy#8627. Fixes jaraco/skeleton#18. Add 'refresh.svg' demonstrating an example of refreshing a project with the latest skeleton. Ref #7. Move workaround for python/mypy#8627 to tox.ini, as adding it to setup.cfg prevents releases to PyPI. Fixes jaraco/skeleton#19. Remove workaround for python/mypy#8627. Ref jaraco/skeleton#18. Upadte changelog. Ref #440. jnsnow (1): Use correct XDG default for XDG_CONFIG_HOME
…21.3.0 Dmitry Shachnev (1): Make SecretService get_credential return None for missing query Jason R. Coombs (12): Remove more references to tox-venv Mark the test as xfail, as it's failing on appveyor too. Ref #436. Add workaround for warning emitted when junitxml is used. Ref pytest-dev/pytest#6178. Include mypy for type checking during tests. Update hyperlink to point to GitHub. Ensure virtualenv is upgraded when installing tox. Fixes jaraco/path#188. Run tests on prereleases of Python on Windows. Fixes jaraco/skeleton#17. Add workaround for python/mypy#8627. Fixes jaraco/skeleton#18. Add 'refresh.svg' demonstrating an example of refreshing a project with the latest skeleton. Ref #7. Move workaround for python/mypy#8627 to tox.ini, as adding it to setup.cfg prevents releases to PyPI. Fixes jaraco/skeleton#19. Remove workaround for python/mypy#8627. Ref jaraco/skeleton#18. Upadte changelog. Ref #440. jnsnow (1): Use correct XDG default for XDG_CONFIG_HOME
Jason R. Coombs (35): Update to bionic for Travis. Correct comment about IPv6 workaround. Suppress warnings in pytest-flake8, pytest-black, and pytest-checkdocs. Prefer pytest-black to pytest-black-multipy Test against Windows and Mac Define a default pool_vm_image Remove tox-venv and tox-pip-version. Tox-venv is discouraged (tox-dev/tox-venv#48 (comment)) and tox-pip-version was only there to support tox-venv. venv is dead; long live virtualenv. Remove more references to tox-venv Add workaround for warning emitted when junitxml is used. Ref pytest-dev/pytest#6178. Include mypy for type checking during tests. Ensure virtualenv is upgraded when installing tox. Fixes jaraco/path#188. Run tests on prereleases of Python on Windows. Fixes jaraco/skeleton#17. Add workaround for python/mypy#8627. Fixes jaraco/skeleton#18. Add 'refresh.svg' demonstrating an example of refreshing a project with the latest skeleton. Ref #7. Move workaround for python/mypy#8627 to tox.ini, as adding it to setup.cfg prevents releases to PyPI. Fixes jaraco/skeleton#19. Update comment to reflect correct class name. Remove workaround for python/mypy#8627. Ref jaraco/skeleton#18. Add test capturing issue reported in bpo-40564 Create Github releases when releasing the package. Fixes jaraco/skeleton#23. Moved refresh.svg to another branch. Reference the animation from the docs. Ref jaraco/skeleton#7. Add the env var mapping too. Disable pytest-black and pytest-mypy on PyPy. Fixes jaraco/skeleton#22. Ref pytest-dev/pytest#7675. Bump black and blacken-docs to latest stable versions. Instead of creating a copy of a any zipfile passed to Path, simply augment the behavior by replacing the class with a subclass. Use enabled plugin configuration to enable mypy and black when the plugin is present. Ref jaraco/skeleton#22. Also enable flake8 and cov when the plugins are present. Add a docstring explaining how the source zipfile is mutated. Update changelog. Restore running under pytest (still unittest compatibility). ⚫ Fade to black. Add unit test for iterdir on file. Add unit test for invalid args to open binary. Add unit test capturing expectation that a subclass type should be retained during traversal. Ref #56. Path subclasses now retain their type during traversal. Ref #56. Add test capturing missed expectation when is_file is invoked on a name not in the zipfile. Ref #55. Correct behavior of is_file to return False for non-existent files. Also fix two broken tests. Fixes #55.
Hugo (1): Fix AppVeyor typo Hugo van Kemenade (2): Spelling and capitalisation (#8) Link badge to PyPI rather than static image Jason R. Coombs (54): Python 3 only Expect flake8 3.6 or later and remove suppression of warnings from Flake8 prior to 3.6. Rely on pytest-checkdocs 1.2.3, eliminating workaround for docutils warning. Remove workaround for gitlab.com/PyCQA/flake8/issues/275, apparently no longer necessary. Bring coverage to 100% Rely on future-fstrings for Python 3.5 compatibility Restore support for Python 2.7 Normalize indentation Include keyring support from twine Rename 'build-docs' to simply 'docs' (matching more popular convention). Prefer 'path' to 'path.py' Cover Python 3.8 in Windows tests Update black in pre-commit and add blacken-docs. Test and release using Azure Pipelines Correct guidance on project creation. Rely on setuptools_scm 3.4 and setuptools 42. Now setup.py is optional. Remove setuptools from test environment. Finish dropping support for Python 2 (I hope). Normalize whitespace Revert "setup.cfg: let python-tag mirror python_requires" Fade to black Fix links Update to bionic for Travis. Correct comment about IPv6 workaround. Suppress warnings in pytest-flake8, pytest-black, and pytest-checkdocs. Prefer pytest-black to pytest-black-multipy Test against Windows and Mac Define a default pool_vm_image Remove tox-venv and tox-pip-version. Tox-venv is discouraged (tox-dev/tox-venv#48 (comment)) and tox-pip-version was only there to support tox-venv. venv is dead; long live virtualenv. Remove more references to tox-venv Add workaround for warning emitted when junitxml is used. Ref pytest-dev/pytest#6178. Include mypy for type checking during tests. Ensure virtualenv is upgraded when installing tox. Fixes jaraco/path#188. Run tests on prereleases of Python on Windows. Fixes jaraco/skeleton#17. Add workaround for python/mypy#8627. Fixes jaraco/skeleton#18. Add 'refresh.svg' demonstrating an example of refreshing a project with the latest skeleton. Ref #7. Move workaround for python/mypy#8627 to tox.ini, as adding it to setup.cfg prevents releases to PyPI. Fixes jaraco/skeleton#19. Remove workaround for python/mypy#8627. Ref jaraco/skeleton#18. Create Github releases when releasing the package. Fixes jaraco/skeleton#23. Moved refresh.svg to another branch. Reference the animation from the docs. Ref jaraco/skeleton#7. Add the env var mapping too. Disable pytest-black and pytest-mypy on PyPy. Fixes jaraco/skeleton#22. Ref pytest-dev/pytest#7675. Bump black and blacken-docs to latest stable versions. Use enabled plugin configuration to enable mypy and black when the plugin is present. Ref jaraco/skeleton#22. Also enable flake8 and cov when the plugins are present. Add workflows for running tests. Ref jaraco/skeleton#24. Cut releases from Github Actions instead of Azure Pipelines. Ref jaraco/skeleton#24. Refresh docs to prefer Github Actions to Azure Pipelines. Ref jaraco/skeleton#24. Use RTD v2 config Test on Python 3.9. Skip 3.7 to avoid creating too many builds. Release on 3.9. Drop tests on Travis, Appveyor, and Azure Pipelines. use add-github-secrets, which infers the secrets needed from the github workflow. Use inline flags with local scope. Remove compatibility code. Update badge Update changelog. Vincent Fazio (1): setup.cfg: let python-tag mirror python_requires johnthagen (1): Line wrap LICENSE file layday (1): Require toml extra for setuptools_scm (#12)
…version 3.1.0 Jason R. Coombs (36): Remove tox-venv and tox-pip-version. Tox-venv is discouraged (tox-dev/tox-venv#48 (comment)) and tox-pip-version was only there to support tox-venv. venv is dead; long live virtualenv. Remove more references to tox-venv Add workaround for warning emitted when junitxml is used. Ref pytest-dev/pytest#6178. Include mypy for type checking during tests. Ensure virtualenv is upgraded when installing tox. Fixes jaraco/path#188. Run tests on prereleases of Python on Windows. Fixes jaraco/skeleton#17. Add workaround for python/mypy#8627. Fixes jaraco/skeleton#18. Add 'refresh.svg' demonstrating an example of refreshing a project with the latest skeleton. Ref #7. Move workaround for python/mypy#8627 to tox.ini, as adding it to setup.cfg prevents releases to PyPI. Fixes jaraco/skeleton#19. Remove workaround for python/mypy#8627. Ref jaraco/skeleton#18. Create Github releases when releasing the package. Fixes jaraco/skeleton#23. Moved refresh.svg to another branch. Reference the animation from the docs. Ref jaraco/skeleton#7. Add the env var mapping too. Disable pytest-black and pytest-mypy on PyPy. Fixes jaraco/skeleton#22. Ref pytest-dev/pytest#7675. Bump black and blacken-docs to latest stable versions. Use enabled plugin configuration to enable mypy and black when the plugin is present. Ref jaraco/skeleton#22. Also enable flake8 and cov when the plugins are present. Fix mypy glitch on __path__. Add workflows for running tests. Ref jaraco/skeleton#24. Cut releases from Github Actions instead of Azure Pipelines. Ref jaraco/skeleton#24. Refresh docs to prefer Github Actions to Azure Pipelines. Ref jaraco/skeleton#24. Use RTD v2 config Test on Python 3.9. Skip 3.7 to avoid creating too many builds. Release on 3.9. Drop tests on Travis, Appveyor, and Azure Pipelines. use add-github-secrets, which infers the secrets needed from the github workflow. Use inline flags with local scope. Honor TOX_WORK_DIR if set. Workaround for tox-dev/tox#20. Fix badge Collapse skeleton history from archive/2020-12 Update skeleton description to describe the periodic collapse. Fixes #27. Enable automerge Add except_ decorator. Following move to Github actions, port the expected failing test also. 🧎♀️ Genuflect to the types. 🧎♀️ Genuflect to the types. Pass the GITHUB_ACTIONS
…on 5.3.0 Diego Elio Pettenò (1): Fix README (and thus long_description). Hugo (1): Fix AppVeyor typo Hugo van Kemenade (2): Spelling and capitalisation (#8) Link badge to PyPI rather than static image Jason R. Coombs (75): Add Tidelift template Rely on alabaster theme to support sidebar rendering. Use nicer, simpler phrasing Add support for automatic publishing of release notes Use technique for environment passing matching that found in jaraco/skeleton Move Tidelift token into Travis configuration Update badge URL Add funding reference to project List sidebars to avoid errors looking for template 't' Python 3 only Test/release on Python 3.8 Apply black to docs/conf.py Update black version and links Expect flake8 3.6 or later and remove suppression of warnings from Flake8 prior to 3.6. Rely on pytest-checkdocs 1.2.3, eliminating workaround for docutils warning. Remove workaround for gitlab.com/PyCQA/flake8/issues/275, apparently no longer necessary. Normalize indentation Include keyring support from twine Rename 'build-docs' to simply 'docs' (matching more popular convention). Prefer 'path' to 'path.py' Cover Python 3.8 in Windows tests Update black in pre-commit and add blacken-docs. Test and release using Azure Pipelines Correct guidance on project creation. Rely on setuptools_scm 3.4 and setuptools 42. Now setup.py is optional. Remove setuptools from test environment. Finish dropping support for Python 2 (I hope). Normalize whitespace Revert "setup.cfg: let python-tag mirror python_requires" Update to bionic for Travis. Correct comment about IPv6 workaround. Suppress warnings in pytest-flake8, pytest-black, and pytest-checkdocs. Prefer pytest-black to pytest-black-multipy Test against Windows and Mac Define a default pool_vm_image Remove tox-venv and tox-pip-version. Tox-venv is discouraged (tox-dev/tox-venv#48 (comment)) and tox-pip-version was only there to support tox-venv. venv is dead; long live virtualenv. Remove more references to tox-venv Add workaround for warning emitted when junitxml is used. Ref pytest-dev/pytest#6178. Include mypy for type checking during tests. Ensure virtualenv is upgraded when installing tox. Fixes jaraco/path#188. Run tests on prereleases of Python on Windows. Fixes jaraco/skeleton#17. Add workaround for python/mypy#8627. Fixes jaraco/skeleton#18. Add 'refresh.svg' demonstrating an example of refreshing a project with the latest skeleton. Ref #7. Move workaround for python/mypy#8627 to tox.ini, as adding it to setup.cfg prevents releases to PyPI. Fixes jaraco/skeleton#19. Remove workaround for python/mypy#8627. Ref jaraco/skeleton#18. Create Github releases when releasing the package. Fixes jaraco/skeleton#23. Moved refresh.svg to another branch. Reference the animation from the docs. Ref jaraco/skeleton#7. Add the env var mapping too. Disable pytest-black and pytest-mypy on PyPy. Fixes jaraco/skeleton#22. Ref pytest-dev/pytest#7675. Bump black and blacken-docs to latest stable versions. Use enabled plugin configuration to enable mypy and black when the plugin is present. Ref jaraco/skeleton#22. Also enable flake8 and cov when the plugins are present. Add workflows for running tests. Ref jaraco/skeleton#24. Cut releases from Github Actions instead of Azure Pipelines. Ref jaraco/skeleton#24. Refresh docs to prefer Github Actions to Azure Pipelines. Ref jaraco/skeleton#24. Use RTD v2 config Test on Python 3.9. Skip 3.7 to avoid creating too many builds. Release on 3.9. Drop tests on Travis, Appveyor, and Azure Pipelines. use add-github-secrets, which infers the secrets needed from the github workflow. Use inline flags with local scope. Honor TOX_WORK_DIR if set. Workaround for tox-dev/tox#20. Collapse skeleton history from archive/2020-12 Update skeleton description to describe the periodic collapse. Fixes #27. Enable automerge Automatically inject project name in docs heading. pre-commit autoupdate Rename 'Automated Tests' to simply 'tests' Add note about automatic merging of PRs and the requirements and limitations. Prefer pytest-enabler to jaraco.test Enable complexity limit. Fixes jaraco/skeleton#34. Add support for namespace packages. Closes jaraco/skeleton#40. Normalize indentation ⚫ Fade to black. Update changelog. Suppress test failures on Windows Use short link for issue Replace rwt with pip-run Sviatoslav Sydorenko (3): Replace pep517.build with build (#37) Use license_files instead of license_file in meta (#35) Use `extend-ignore` in flake8 config (#33) Vincent Fazio (1): setup.cfg: let python-tag mirror python_requires johnthagen (1): Line wrap LICENSE file layday (1): Require toml extra for setuptools_scm (#12)
…on 3.5.1 Brian Rutledge (1): Use shutil for rmtree Hugo (1): Fix AppVeyor typo Hugo van Kemenade (2): Spelling and capitalisation (#8) Link badge to PyPI rather than static image Jason R. Coombs (74): Python 3 only Cover Python 3.8 in Windows tests Update black in pre-commit and add blacken-docs. Test and release using Azure Pipelines Correct guidance on project creation. Rely on setuptools_scm 3.4 and setuptools 42. Now setup.py is optional. Remove setuptools from test environment. Finish dropping support for Python 2 (I hope). Normalize whitespace Revert "setup.cfg: let python-tag mirror python_requires" Update to bionic for Travis. Correct comment about IPv6 workaround. Suppress warnings in pytest-flake8, pytest-black, and pytest-checkdocs. Prefer pytest-black to pytest-black-multipy Test against Windows and Mac Define a default pool_vm_image Remove tox-venv and tox-pip-version. Tox-venv is discouraged (tox-dev/tox-venv#48 (comment)) and tox-pip-version was only there to support tox-venv. venv is dead; long live virtualenv. Remove more references to tox-venv Add workaround for warning emitted when junitxml is used. Ref pytest-dev/pytest#6178. Include mypy for type checking during tests. Ensure virtualenv is upgraded when installing tox. Fixes jaraco/path#188. Run tests on prereleases of Python on Windows. Fixes jaraco/skeleton#17. Add workaround for python/mypy#8627. Fixes jaraco/skeleton#18. Add 'refresh.svg' demonstrating an example of refreshing a project with the latest skeleton. Ref #7. Move workaround for python/mypy#8627 to tox.ini, as adding it to setup.cfg prevents releases to PyPI. Fixes jaraco/skeleton#19. Remove workaround for python/mypy#8627. Ref jaraco/skeleton#18. Create Github releases when releasing the package. Fixes jaraco/skeleton#23. Moved refresh.svg to another branch. Reference the animation from the docs. Ref jaraco/skeleton#7. Add the env var mapping too. Disable pytest-black and pytest-mypy on PyPy. Fixes jaraco/skeleton#22. Ref pytest-dev/pytest#7675. Bump black and blacken-docs to latest stable versions. Use enabled plugin configuration to enable mypy and black when the plugin is present. Ref jaraco/skeleton#22. Also enable flake8 and cov when the plugins are present. Add workflows for running tests. Ref jaraco/skeleton#24. Cut releases from Github Actions instead of Azure Pipelines. Ref jaraco/skeleton#24. Refresh docs to prefer Github Actions to Azure Pipelines. Ref jaraco/skeleton#24. Use RTD v2 config 🧎♀️ Genuflect to the types. Remove compatibility code. Update changelog. Test on Python 3.9. Skip 3.7 to avoid creating too many builds. Release on 3.9. Drop tests on Travis, Appveyor, and Azure Pipelines. use add-github-secrets, which infers the secrets needed from the github workflow. Use inline flags with local scope. Honor TOX_WORK_DIR if set. Workaround for tox-dev/tox#20. Collapse skeleton history from archive/2020-12 Update skeleton description to describe the periodic collapse. Fixes #27. Enable automerge Add trim methods to WordSet 🧎♀️ Genuflect to the types. Automatically inject project name in docs heading. pre-commit autoupdate Rename 'Automated Tests' to simply 'tests' Add note about automatic merging of PRs and the requirements and limitations. Prefer pytest-enabler to jaraco.test Enable complexity limit. Fixes jaraco/skeleton#34. Add support for namespace packages. Closes jaraco/skeleton#40. Normalize indentation Rely on PEP 420 for namespace package Update changelog. Exclude dist from discovered packages. Fixes jaraco/skeleton#46. It's no longer necessary to filter this warning and it's not a warning anymore. Bump minimum pytest Require twine 3 with keyring unconditionally required. Add comments indicating why the exclusions are present Exclude mypy on Python 3.10 as workaround for python/typed_ast#156. Bump minimums on pytest-checkdocs and pytest-enabler as found on Setuptools. Also deny black on Python 3.10 as workaround for python/typed_ast#156. Add leading */ to coverage.run.omit. Workaround for pytest-dev/pytest-cov#456. Remove automerge. Fixes jaraco/skeleton#49. Enable dependabot (#50) Replace md file with badge linking to documentation site. Fixes jaraco/skeleton#47. Test on Python 3.10 Remove setup_requires, obviated by build-requires in pyproject.toml. Suppress deprecation warnings in flake8 and packaging.tags. Ref pypa/packaging#433. Fix syntax for in_. Closes #5. KOLANICH (1): Added an .editorconfig. Pull request jaraco/skeleton#43. Sviatoslav Sydorenko (4): Replace pep517.build with build (#37) Use license_files instead of license_file in meta (#35) Use `extend-ignore` in flake8 config (#33) Make sphinx fail on any warnings (#36) Vincent Fazio (1): setup.cfg: let python-tag mirror python_requires johnthagen (1): Line wrap LICENSE file layday (1): Require toml extra for setuptools_scm (#12)
In msg369233, @zooba suggests that it should be possible to test against Python pre-releases. The suggestion there was to run something like:
However, that recommendation doesn't really fit into the azure pipelines config the skeleton projects use. This uses UsePythonVersion. Any idea how to run pre-releases with that plugin? Does it automatically support pre-released versions (such as 3.9 now)?
The text was updated successfully, but these errors were encountered: