-
Notifications
You must be signed in to change notification settings - Fork 1k
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
base: dev
Are you sure you want to change the base?
Changes from all commits
851952f
f18dd1c
51a88ce
ff94dec
e088136
9a401c7
ed2180c
b4cf0a6
5064e5b
ca97701
cdd5824
22932e3
98a2c22
0098d63
f79d7c6
bdcad79
0765c31
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
name: Test Galaxy package integration with TPV | ||
on: | ||
push: | ||
paths-ignore: | ||
- 'client/**' | ||
- 'doc/**' | ||
pull_request: | ||
paths-ignore: | ||
- 'client/**' | ||
- 'doc/**' | ||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.ref }} | ||
cancel-in-progress: true | ||
jobs: | ||
test: | ||
name: Test | ||
runs-on: ubuntu-latest | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
python-version: ['3.10'] | ||
steps: | ||
- name: Checkout galaxy code | ||
uses: actions/checkout@v3 | ||
- name: Checkout tpv code | ||
uses: actions/checkout@v3 | ||
with: | ||
repository: galaxyproject/total-perspective-vortex | ||
path: 'tpv' | ||
- uses: actions/setup-python@v4 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
- name: Get full Python version | ||
id: full-python-version | ||
shell: bash | ||
run: echo "version=$(python -c 'import sys; print("-".join(str(v) for v in sys.version_info))')" >> $GITHUB_OUTPUT | ||
# - name: Cache pip dir | ||
# uses: actions/cache@v3 | ||
# with: | ||
# path: ~/.cache/pip | ||
# key: pip-cache-${{ matrix.python-version }}-${{ hashFiles('requirements.txt') }} | ||
# - name: Cache galaxy venv | ||
# uses: actions/cache@v3 | ||
# with: | ||
# path: '.venv' | ||
# key: gxy-venv-${{ runner.os }}-${{ steps.full-python-version.outputs.version }}-${{ hashFiles('requirements.txt') }}-integration | ||
- name: Replace tpv galaxy dependencies with package paths from local galaxy build | ||
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 | ||
# make requirements point to local wheels where possible | ||
cd tpv | ||
while IFS= read -r line; do | ||
# Handle galaxy- packages specifically | ||
package_path=`echo $line | sed -e '/^galaxy-/ s/-/_/g' -e 's|^galaxy_\(.*\)$|../packages/\1|'` | ||
if [ -d "$package_path" ]; then | ||
# This is a local package. Replace it with the path to the local wheel | ||
row=`find $package_path/dist -type f -name '*.whl'` | ||
else | ||
# pass original requirement line unchanged | ||
row="$line" | ||
fi | ||
echo "$row" >> requirements_local.txt | ||
done < "requirements_test.txt" | ||
cat requirements_local.txt | ||
mv requirements_local.txt requirements_test.txt | ||
- name: Install required packages | ||
run: pip install tox | ||
- name: Run tox | ||
run: tox -e py${{ matrix.python-version }} -- --runslow | ||
env: | ||
PYTHONUNBUFFERED: "True" | ||
working-directory: 'tpv' |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,4 @@ | ||
include *.rst *.txt LICENSE */py.typed | ||
include galaxy/carbon_emissions/carbon_intensity.csv | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Bad merge? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. These were removed on purpose to cause test failures, but the weird thing is, the tests are passing. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Ah, sorry, I've missed that. The There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I rebased just in case, but I don't think that change affects this? This builds the wheels locally, and forces tpv to use those wheels: https://github.com/galaxyproject/galaxy/actions/runs/8879844569/job/24378560228?pr=17747#step:6:971 I would therefore have expected the missing file to cause the expected failure, but it is not. So something else must be going on? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think this was due to using the wrong |
||
include galaxy/dependencies/*.txt | ||
include galaxy/dependencies/*.sh | ||
include galaxy/jobs/runners/util/job_script/*.sh | ||
|
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.
This is temporarily pointing to my upstream to simulate some additional missing files.