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

test mirgecom examples in CI #221

Merged
merged 5 commits into from
Mar 3, 2022
Merged

test mirgecom examples in CI #221

merged 5 commits into from
Mar 3, 2022

Conversation

matthiasdiener
Copy link
Collaborator

@matthiasdiener matthiasdiener commented Mar 2, 2022

cc: @MTCam

Could help with catching illinois-ceesd/mirgecom#617

cc: #222

@matthiasdiener
Copy link
Collaborator Author

This is ready for review @inducer @MTCam. Note that it doesn't check production, just main.

Copy link
Collaborator

@MTCam MTCam left a comment

Choose a reason for hiding this comment

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

Awesome! This'll help! 👍

Comment on lines 134 to 139

# Test production branch
curl -O -L https://raw.githubusercontent.com/illinois-ceesd/emirge/main/switch-mirgecom.sh
chmod a+x switch-mirgecom.sh
./switch-mirgecom.sh prod
examples/run_examples.sh ./examples
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
# Test production branch
curl -O -L https://raw.githubusercontent.com/illinois-ceesd/emirge/main/switch-mirgecom.sh
chmod a+x switch-mirgecom.sh
./switch-mirgecom.sh prod
examples/run_examples.sh ./examples
# Test production drivers
. .ci_support/production_testing_env.sh
. .ci_support/merge-install-production-branch.sh .
. .ci_support/production-drivers-install.sh .
. .ci_support/production-drivers-run.sh .

Copy link
Collaborator

Choose a reason for hiding this comment

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

This should run the production tests kind of in the same sort of way as the regular examples are exercised. The big difference here is that the "production" branch will be merged first.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Added in #224.

Comment on lines 131 to 140
if test "$DOWNSTREAM_PROJECT" = "mirgecom"; then
# Test main branch
examples/run_examples.sh ./examples
fi
Copy link
Owner

Choose a reason for hiding this comment

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

Maybe this should be a separate CI job? mirgecom is already the longest job in grudge, I'm reluctant to make CI turnaround even more sluggish.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Then maybe drop the downstream pytest (which takes a long time)? Running the examples (typically done within 10 minutes) will be enough and much faster. The examples won't work if MIRGE-Com is broken, and they will also fail if they get anything outside the accepted solution range.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

5f5ff6b implements Mike's suggestion

Copy link
Collaborator

Choose a reason for hiding this comment

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

5f5ff6b implements Mike's suggestion

Cool, thanks! Looks like this cuts the downstream testing expense in half. Running the examples is more important than running the pytest tests. Having this test in-place would have caught the example failures caused by #222 merge.

@matthiasdiener matthiasdiener changed the title also test mirgecom examples in CI test mirgecom examples in CI Mar 2, 2022

if test "$DOWNSTREAM_PROJECT" = "mirgecom"; then
# Test main branch
# Only test examples, not pytest tests, as those take too much time.
Copy link
Owner

Choose a reason for hiding this comment

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

Why not add a separate job for examples instead of not running mirgecom pytest at all?

Copy link
Collaborator

Choose a reason for hiding this comment

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

Imo, running the pytest suite for the downstream project is of little value. It also takes a really long time (only 30 minutes for mirgecom@main, but pushing an hour+ once NS+AV tests are added). I think making sure the examples run and get the correct answers is a sufficient amount of testing to claim the current development does not break mirgecom.

Copy link
Owner

Choose a reason for hiding this comment

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

OK, fair. You're on the receiving end of those potentially breaking changes, so if you say it's OK, I'm happy to trust you and take my shorter CI times. :)

@inducer inducer enabled auto-merge (rebase) March 3, 2022 20:17
@inducer inducer disabled auto-merge March 3, 2022 20:17
@inducer inducer enabled auto-merge (squash) March 3, 2022 20:18
@inducer inducer merged commit 01080e1 into main Mar 3, 2022
@inducer inducer deleted the ci_mirgecom_examples branch March 3, 2022 20:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants