### Description
Enabling python conformance tests.
Uses a virtual environment for the generated projects and activates it
when installing dependencies.
~Right now fails at runtime due to missing engine address but the rest
works(TM)~
## Checklist
- [ ] I have run `make tidy` to update any new dependencies
- [ ] I have run `make lint` to verify my code passes the lint check
- [ ] I have formatted my code using `gofumpt`
<!--- Please provide details if the checkbox below is to be left
unchecked. -->
- [x] I have added tests that prove my fix is effective or that my
feature works
<!---
User-facing changes require a CHANGELOG entry.
-->
- [ ] I have run `make changelog` and committed the
`changelog/pending/<file>` documenting my change
<!--
If the change(s) in this PR is a modification of an existing call to the
Pulumi Cloud,
then the service should honor older versions of the CLI where this
change would not exist.
You must then bump the API version in
/pkg/backend/httpstate/client/api.go, as well as add
it to the service.
-->
- [ ] Yes, there are changes in this PR that warrants bumping the Pulumi
Cloud API version
<!-- @Pulumi employees: If yes, you must submit corresponding changes in
the service repo. -->
11052: fix(ci): Split programgen tests over multiple jobs r=AaronFriel a=AaronFriel
Attempt to fix ongoing CI issue #11022 where the `pkg/codegen/go` tests seem to hang runners. Applies a similar strategy as was used for `pkg/codegen/nodejs` tests to split them out over multiple jobs, generalized to handle additional languages.
Previously, we would split the `pkg` module by package into 3 jobs using `gotestsum`, **except** for the package `pkg/codegen/nodejs` which would be split _by test_ into 4 jobs, for 7 total jobs.
With this change, instead of special casing `pkg/codegen/nodejs`, each language's programgen tests are split into 6 packages, and relies on `gotestsum` to divide packages among a combined 7 jobs.
The numbers 6 and 7 were chosen arbitrarily. 6 batches per language as this divides the tests fairly evenly, and 7 jobs total as that preserves the total number of jobs.
The `test_pkg_$LANG` makefile targets weren't very descriptive and their meaning would change with this PR, there are new targets `test_codegen_$LANG` which replace their use.
Co-authored-by: Aaron Friel <mayreply@aaronfriel.com>
* Add version (when env var is set)
* Correct python pypi implementation
* Add a test
* Update CHANGELOG_PENDING.md
* Set as language option
* Remove version.txt from .gitignore
* Add go support
* Correctly handle nodejs.pluginVersion
* Emit schema.Package.Version when possible
* Update CHANGELOG_PENDING.md
* Correctly interpret python versions (I hope)
* Update PLUGIN_VERSION to the package version
* Modify tests to conform with master merge
- Determine variable types for ranged resources by typechecking an
equivalent expression
- Detect top-level await in NodeJS and generate an async main
- Fix `pulumi.all` generation for NodeJS
- Fix a bug in the lowering of relative traversals in Python