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 integration tests for galaxy packages against tpv #17747

Draft
wants to merge 17 commits into
base: dev
Choose a base branch
from

Conversation

nuwang
Copy link
Member

@nuwang nuwang commented Mar 15, 2024

In the past, we've run into issues with TPV testing due to PyPI packaging, normally because a file was overlooked while bundling galaxy PyPI packages.

#16308
#14018
#14020

Most recently, this: #17748

TPV uses a fairly comprehensive gamut of Galaxy packages, so it seems like a good integration test target to make sure PyPI packaging is not overlooking required files.

How to test the changes?

(Select all options that apply)

  • I've included appropriate automated tests.
  • This is a refactoring of components with existing test coverage.
  • Instructions for manual testing are as follows:
    1. [add testing steps and prerequisites here if you didn't write automated tests covering all your changes]

License

  • I agree to license these and all my past contributions to the core galaxy codebase under the MIT license.

@nuwang nuwang force-pushed the add_package_integration_tests branch from c392d4b to df70654 Compare March 15, 2024 08:09
@nuwang nuwang mentioned this pull request Mar 15, 2024
4 tasks
@nuwang nuwang force-pushed the add_package_integration_tests branch 3 times, most recently from 457ce1a to e52217e Compare March 15, 2024 11:41
@nuwang nuwang marked this pull request as draft March 15, 2024 11:49
@nuwang nuwang force-pushed the add_package_integration_tests branch 4 times, most recently from e14924b to 37ba3a5 Compare March 15, 2024 12:13
@nuwang nuwang changed the title [WIP] Add integration tests for galaxy packages against tpv Add integration tests for galaxy packages against tpv Mar 15, 2024
@nuwang nuwang marked this pull request as ready for review March 15, 2024 12:13
@nuwang nuwang requested review from nsoranzo and mvdbeek March 15, 2024 12:17
@github-actions github-actions bot added this to the 24.1 milestone Mar 15, 2024
@nuwang nuwang marked this pull request as draft March 16, 2024 08:56
@nuwang
Copy link
Member Author

nuwang commented Mar 16, 2024

I'm moving this back to draft because it didn't catch this issue: #17748
Installing from an editable location won't cut it I suppose, since the symlinks will resolve all missing files. I'm now thinking of creating a wheel first, and testing through a wheel based installation.

@nuwang nuwang force-pushed the add_package_integration_tests branch 9 times, most recently from 6b585f0 to 28bd715 Compare March 25, 2024 08:42
run: |
GALAXY_SKIP_NODE=1 GALAXY_SKIP_CLIENT_BUILD=1 make setup-venv
# create local release
echo "c" | UPSTREAM_REMOTE_URL="https://github.com/nuwang/galaxy.git" ./scripts/release.sh -l
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is temporarily pointing to my upstream to simulate some additional missing files.

@nuwang nuwang force-pushed the add_package_integration_tests branch from 63110e6 to f0f2ff4 Compare June 3, 2024 13:31
@mvdbeek
Copy link
Member

mvdbeek commented Jun 3, 2024

Can we turn this around and have TPV runs tests against multiple Galaxy versions ? That's the bioblend model and I think it works well ? Running this against each PR doesn't seem necessary, instead we can include the addition of new releases in the Galaxy release process ?

@nuwang nuwang force-pushed the add_package_integration_tests branch from f0f2ff4 to 0765c31 Compare June 3, 2024 14:10
@nuwang
Copy link
Member Author

nuwang commented Jun 3, 2024

Are you saying that the github event trigger should change from PR to release? As long as we can detect releases with broken packages prior to release, that's fine I think.

@mvdbeek
Copy link
Member

mvdbeek commented Jun 3, 2024

No, I'm suggesting to run the TPV tests in a cronjob from the TPV repo. We'll make sure you'll run against all relevant branches.

@nsoranzo
Copy link
Member

nsoranzo commented Jun 3, 2024

No, I'm suggesting to run the TPV tests in a cronjob from the TPV repo.

For BioBlend, we use this: https://github.com/galaxyproject/bioblend/blob/main/.github/workflows/test.yaml#L2-L7

@nuwang
Copy link
Member Author

nuwang commented Jun 3, 2024

There tests are meant to catch Galaxy packaging errors, not TPV errors, so I think it defeats the purpose if Galaxy integration tests don't fail when packaging fails. In fact, TPV tests have broken numerous times (see linked issues above), when the breakage could have been detected and fixed at the point the breaking change was introduced into Galaxy. If the worry is that some TPV changes can break these tests, we can pin to a specific commit.

@mvdbeek
Copy link
Member

mvdbeek commented Jun 3, 2024

I don't think it makes sense to run TPV tests to detect packaging issues, at least not on the Galaxy side as that's very indirect. If you want to contribute to more strict packaging tests that would of course be welcome.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants