-
Notifications
You must be signed in to change notification settings - Fork 77
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
[Python] Run acceptance tests against the latest snapshot #2523
[Python] Run acceptance tests against the latest snapshot #2523
Conversation
89518e2
to
ac772cd
Compare
Would it make sense / is it possible to switch backend to something more lightweight? e.g. flir_core is 50KB vs 1.4MB setuptools. Can we vendor build backend in acceptance folder specifically so that we don't need to download anything? 10s is a lot of waiting time for a case when I want to run specific test cases that has nothing to do with python mutator. This is something I do many times per day. Related to this, can we only build it if we see that there are tests that are going to be using it? We know parse the config before starting a test, so we can have RequiresPythonBuild option to signal to test runner that we need to build it beforehand.
when are we using it concurrently? C |
I've experimented with flit:
There are slight differences in metadata:
Do you think we can switch to flit and resolve the problem this way? I'm not a big fan of setuptools overall |
@denik can you please take a look? |
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.
Seems fast enough: "took 513.060481ms"
If it stays under 1s, then we can keep on critical path, otherwise let's think about optimizations I mentioned.
Should we run "uv build" with "-q" or is the output below something you want to see every time?
acceptance_test.go:782: [uv build --wheel --out-dir /home/runner/work/cli/cli/acceptance/build/linux_amd64] took 513.060481ms
acceptance_test.go:786: [uv build --wheel --out-dir /home/runner/work/cli/cli/acceptance/build/linux_amd64] output: Building wheel...
Version number normalised: '0.243.0-dev' -> '0.243.0.dev0' (see PEP 440)
Version number normalised: '0.243.0-dev' -> '0.243.0.dev0' (see PEP 440)
Successfully built /home/runner/work/cli/cli/acceptance/build/linux_amd64/databricks_bundles-0.243.0.dev0-py3-none-any.whl
acceptance_test.go:115: Writing coverage to /home/runner/work/cli/cli/acceptance/build/cover
acceptance_test.go:782: [go build -mod vendor -o /home/runner/work/cli/cli/acceptance/build/linux_amd64/databricks -cover] took 25.826919651s
acceptance_test.go:136: $TMPHOME=/tmp/TestAccept4161202475/001
acceptance_test.go:237: Summary: 126/133/133 run/selected/total, 7 skipped
5939b43
to
f68a8ab
Compare
da7b80f
to
fade5f4
Compare
An authorized user can trigger integration tests manually by following the instructions below: Trigger: Inputs:
Checks will be approved automatically on success. |
flit doesn't like symlink we have added for LICENSE file to avoid duplication |
@pietern do you think it's ok to change like that? |
Changes
Run acceptance tests against the latest snapshot. We add matrix tests, including both the latest snapshot and the latest release, so we don't break compatibility.
We prebuild a wheel with the latest code and reuse it across acceptance tests. The approach of installing from the source directory doesn't work: