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

src/sage/doctest/forker.py: Show '# [failed in baseline]' earlier #36936

Merged
merged 8 commits into from
Jan 14, 2024

Conversation

mkoeppe
Copy link
Member

@mkoeppe mkoeppe commented Dec 20, 2023

The note "[failed in baseline]" already appears in the doctest failure summary.

Here we add the note also to the sage -t line during doctesting:

https://github.com/sagemath/sage/actions/runs/7281940815/job/19843412065?pr=36936#step:11:2744

sage -t --random-seed=256963700569517996050547927079750684585 src/sage/combinat/combinatorial_map.py
    [75 tests, 0.05 s]
sage -t --random-seed=256963700569517996050547927079750684585 src/sage/combinat/cluster_algebra_quiver/quiver.py  # [failed in baseline]
    [320 tests, 3.73 s]
sage -t --random-seed=256963700569517996050547927079750684585 src/sage/combinat/composition_signed.py
    [20 tests, 0.16 s]

https://github.com/sagemath/sage/actions/runs/7281940815/job/19843412065?pr=36936#step:11:9192

sage -t --random-seed=256963700569517996050547927079750684585 src/sage_setup/setenv.py
    [0 tests, 0.00 s]
sage -t --random-seed=256963700569517996050547927079750684585 src/sage_setup/clean.py  # [failed in baseline]
**********************************************************************
File "src/sage_setup/clean.py", line 104, in sage_setup.clean._find_stale_files
Failed example:
    for f in stale_iter:
        if f.endswith(skip_extensions): continue
        if '/ext_data/' in f: continue
        print('Found stale file: ' + f)
Expected nothing
Got:
    Found stale file: sage/tests/books/judson-abstract-algebra/homomorph-sage-exercises.py
    Found stale file: sage/tests/books/judson-abstract-algebra/actions-sage-exercises.py
    Found stale file: sage/tests/books/judson-abstract-algebra/homomorph-sage.py

The changes in the code that implement this are also preparation for:

📝 Checklist

  • The title is concise, informative, and self-explanatory.
  • The description explains in detail what this PR is about.
  • I have linked a relevant issue or discussion.
  • I have created tests covering the changes.
  • I have updated the documentation accordingly.

⌛ Dependencies

@kwankyu
Copy link
Collaborator

kwankyu commented Dec 21, 2023

How about sage -t .... # fails in baseline?

The test is not yet run, so we should say that "sage -t ... is expected to fail but this failure is in the baseline". Hence no past tense.

And no brackets?

@mkoeppe
Copy link
Member Author

mkoeppe commented Dec 21, 2023

Not sure about the wording. Would it help if we include the filename (.github/workflows/ci-conda-known-test-failures.json) in the messages somehow? This name is clearer than the very neutral "baseline".

@kwankyu
Copy link
Collaborator

kwankyu commented Dec 21, 2023

Would it help if we include the filename (.github/workflows/ci-conda-known-test-failures.json) in the messages somehow? This name is clearer than the very neutral "baseline".

Better to be short. Anyway, developers should learn about the precise meaning of the message if they are interested. We cannot explain everything in the small space without cluttering.

@kwankyu
Copy link
Collaborator

kwankyu commented Dec 21, 2023

May be "conda baseline"?

@mkoeppe
Copy link
Member Author

mkoeppe commented Dec 21, 2023

Would it help if we include the filename (.github/workflows/ci-conda-known-test-failures.json) in the messages somehow?

OK, I'm logging it just once at the beginning

@mkoeppe
Copy link
Member Author

mkoeppe commented Dec 21, 2023

The test is not yet run, so we should say that "sage -t ... is expected to fail but this failure is in the baseline". Hence no past tense.

In my view, the past tense refers to the time when the baseline was established

@kwankyu
Copy link
Collaborator

kwankyu commented Dec 21, 2023

Then I don't understand the phrase "failed in the baseline" here.

By the dictionary definition, "the baseline" is the line from which we measure quality of someone or something.

We collected a list of files that fail persistently (or randomly persistently), and regard the list as part of "the baseline". So if the file fails again in this run, then it is not a failure measured from "the baseline". You express this by "Failed (but it is) in the baseline". No?

Now you use the same phrase in "sage -t ... # failed in the baseline". The comment is about "sage -t ...". At this moment, nothing yet failed or it may not fail at all. I cannot understand the same phrase "failed in the baseline" as above. You want to say that "this may fail but it is in the baseline". No?

@kwankyu
Copy link
Collaborator

kwankyu commented Dec 21, 2023

In my view, the past tense refers to the time when the baseline was established

I see. So you mean "[This file] failed when the baseline was established" by "failed in the baseline".

@mkoeppe
Copy link
Member Author

mkoeppe commented Dec 21, 2023

Yes. And in the summary line, when it says

sage -t --random-seed=271115389197827456996254478912680781530 src/ sage/doctest/sources.py  # 2 doctests failed [failed in baseline]

... it means it failed just now (and also it failed when the baseline was established).

@kwankyu
Copy link
Collaborator

kwankyu commented Dec 21, 2023

OK. It makes sense to me now.

@kwankyu
Copy link
Collaborator

kwankyu commented Dec 21, 2023

... it means it failed just now (and also it failed when the baseline was established).

You may want to use this explanation when you explain the new facility in the developer manual or in the release tour.

@mkoeppe
Copy link
Member Author

mkoeppe commented Dec 21, 2023

it's already in the manual

@mkoeppe
Copy link
Member Author

mkoeppe commented Dec 21, 2023

@kwankyu
Copy link
Collaborator

kwankyu commented Dec 21, 2023

Yes. The phrase "[failed in baseline]" is explained there. Good enough.

Here

https://doc.sagemath.org/html/en/developer/doctesting.html#:~:text=%2D%2Dbaseline%2Dstats%2Dpath%20known%2Dtest%2Dfailures.json

"=" is necessary.

Otherwise looks good to me. It works well.

@mkoeppe
Copy link
Member Author

mkoeppe commented Dec 21, 2023

"=" is necessary.

Both ways of writing are actually fine with the Python argparse. See examples just above that do --stats-path ~/.sage/timings2.json or --logfile test1.log

@kwankyu
Copy link
Collaborator

kwankyu commented Dec 21, 2023

Instead of timing2.json, .github/workflows/ci-conda-known-test-failures.json may be a better example.

There's no "failed": true in timing2.json.

@kwankyu
Copy link
Collaborator

kwankyu commented Dec 21, 2023

"=" is necessary.

Both ways of writing are actually fine with the Python argparse. See examples just above that do --stats-path ~/.sage/timings2.json or --logfile test1.log

But

$ sage -t --baseline-stats-path .github/workflows/ci-conda-known-test-failures.json src/sage_setup/clean.py
usage: sage -t [options] filenames
sage-runtests: error: argument --baseline_stats_path/--baseline-stats-path: expected one argument

@mkoeppe
Copy link
Member Author

mkoeppe commented Dec 21, 2023

hm... let me check

@kwankyu
Copy link
Collaborator

kwankyu commented Dec 21, 2023

Instead of timing2.json, .github/workflows/ci-conda-known-test-failures.json may be a better example.

There's no "failed": true in timing2.json.

Yes, there is one:

    "sage.graphs.generators.families": {
        "failed": true,
        "ntests": 446,
        "walltime": 11.227901220321655
    }, 

@mkoeppe
Copy link
Member Author

mkoeppe commented Dec 21, 2023

Likely this custom code https://github.com/sagemath/sage/blob/develop/src/bin/sage-runtests#L131 is to blame

@mkoeppe
Copy link
Member Author

mkoeppe commented Dec 21, 2023

I'll take another look at this tomorrow.

@mkoeppe
Copy link
Member Author

mkoeppe commented Dec 21, 2023

$ sage -t --baseline-stats-path .github/workflows/ci-conda-known-test-failures.json src/sage_setup/clean.py
usage: sage -t [options] filenames
sage-runtests: error: argument --baseline_stats_path/--baseline-stats-path: expected one argument

Fixed now

@mkoeppe
Copy link
Member Author

mkoeppe commented Dec 26, 2023

How does the commit deal with this failure? Why this failure is related with this PR?

It's just a codepath in the doctester that so far has not been subject to the baseline mechanism. Various codepaths that are for internal failures of the doctesting framework are like this; but this particular codepath is triggered by doctests that test some timeout functionality.

The failure itself is already added to the known failures in https://github.com/sagemath/sage/pull/36937/files#diff-c6591fddad6cbbb6477ab5e8cc342b6c7b89b09f2707c7cc7aa818b52693448dR77

@mkoeppe mkoeppe force-pushed the doctester-baselinestats-improvement branch from 0bfd2c9 to 19f64d4 Compare December 26, 2023 16:53
if hasattr(result_dict, 'tb'):
log(result_dict.tb)
if hasattr(result_dict, 'walltime'):
stats[basename] = {"failed": True, "walltime": wall, "ntests": ntests}
else:
stats[basename] = {"failed": True, "walltime": 1e6, "ntests": ntests}
self.error_status |= 64
if not baseline.get('failed', False): # e.g. AlarmInterrupt in doctesting framework
self.error_status |= 64
Copy link
Collaborator

Choose a reason for hiding this comment

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

The comment is hard to understand. How about

# We may get here by e.g. AlarmInterrupt in doctesting framework
if not baseline.get('failed', False):
    self.error_status |= 64

?

Copy link
Member Author

Choose a reason for hiding this comment

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

Thanks; improved in f61cb9a

Copy link
Collaborator

Choose a reason for hiding this comment

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

Sorry for nitpicking. But one reason why the comment is hard to understand is that the comment is inside the if statement. The comment is about the whole if statement, I think.

Copy link
Collaborator

Choose a reason for hiding this comment

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

We add a comment for the thing which is below or to the left. No? (Sometimes what I take as granted is not really granted...)

Copy link
Member Author

Choose a reason for hiding this comment

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

You are right, I've fixed it in cf9024f

@kwankyu
Copy link
Collaborator

kwankyu commented Dec 27, 2023

Otherwise, lgtm.

@mkoeppe mkoeppe force-pushed the doctester-baselinestats-improvement branch from f61cb9a to cf9024f Compare December 27, 2023 02:38
Copy link

Documentation preview for this PR (built with commit cf9024f; changes) is ready! 🎉

Copy link
Collaborator

@kwankyu kwankyu left a comment

Choose a reason for hiding this comment

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

Thanks.

@mkoeppe
Copy link
Member Author

mkoeppe commented Dec 27, 2023

Thank you!

vbraun pushed a commit to vbraun/sage that referenced this pull request Dec 27, 2023
…seline]' earlier

    
<!-- ^^^^^
Please provide a concise, informative and self-explanatory title.
Don't put issue numbers in there, do this in the PR body below.
For example, instead of "Fixes sagemath#1234" use "Introduce new method to
calculate 1+1"
-->
<!-- Describe your changes here in detail -->

The note "[failed in baseline]" already appears in the doctest failure
summary.

Here we add the note also to the `sage -t` line during doctesting:

https://github.com/sagemath/sage/actions/runs/7281940815/job/19843412065
?pr=36936#step:11:2744
```
sage -t --random-seed=256963700569517996050547927079750684585
src/sage/combinat/combinatorial_map.py
    [75 tests, 0.05 s]
sage -t --random-seed=256963700569517996050547927079750684585
src/sage/combinat/cluster_algebra_quiver/quiver.py  # [failed in
baseline]
    [320 tests, 3.73 s]
sage -t --random-seed=256963700569517996050547927079750684585
src/sage/combinat/composition_signed.py
    [20 tests, 0.16 s]
```

https://github.com/sagemath/sage/actions/runs/7281940815/job/19843412065
?pr=36936#step:11:9192
```
sage -t --random-seed=256963700569517996050547927079750684585
src/sage_setup/setenv.py
    [0 tests, 0.00 s]
sage -t --random-seed=256963700569517996050547927079750684585
src/sage_setup/clean.py  # [failed in baseline]
**********************************************************************
File "src/sage_setup/clean.py", line 104, in
sage_setup.clean._find_stale_files
Failed example:
    for f in stale_iter:
        if f.endswith(skip_extensions): continue
        if '/ext_data/' in f: continue
        print('Found stale file: ' + f)
Expected nothing
Got:
    Found stale file: sage/tests/books/judson-abstract-
algebra/homomorph-sage-exercises.py
    Found stale file: sage/tests/books/judson-abstract-algebra/actions-
sage-exercises.py
    Found stale file: sage/tests/books/judson-abstract-
algebra/homomorph-sage.py
```

The changes in the code that implement this are also preparation for:
- sagemath#36558.

<!-- Why is this change required? What problem does it solve? -->
<!-- If this PR resolves an open issue, please link to it here. For
example "Fixes sagemath#12345". -->
<!-- If your change requires a documentation PR, please link it
appropriately. -->

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->
<!-- If your change requires a documentation PR, please link it
appropriately -->
<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
<!-- Feel free to remove irrelevant items. -->

- [ ] The title is concise, informative, and self-explanatory.
- [ ] The description explains in detail what this PR is about.
- [ ] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation accordingly.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on
- sagemath#12345: short description why this is a dependency
- sagemath#34567: ...
-->

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: sagemath#36936
Reported by: Matthias Köppe
Reviewer(s): Kwankyu Lee, Matthias Köppe
vbraun pushed a commit to vbraun/sage that referenced this pull request Jan 2, 2024
…seline]' earlier

    
<!-- ^^^^^
Please provide a concise, informative and self-explanatory title.
Don't put issue numbers in there, do this in the PR body below.
For example, instead of "Fixes sagemath#1234" use "Introduce new method to
calculate 1+1"
-->
<!-- Describe your changes here in detail -->

The note "[failed in baseline]" already appears in the doctest failure
summary.

Here we add the note also to the `sage -t` line during doctesting:

https://github.com/sagemath/sage/actions/runs/7281940815/job/19843412065
?pr=36936#step:11:2744
```
sage -t --random-seed=256963700569517996050547927079750684585
src/sage/combinat/combinatorial_map.py
    [75 tests, 0.05 s]
sage -t --random-seed=256963700569517996050547927079750684585
src/sage/combinat/cluster_algebra_quiver/quiver.py  # [failed in
baseline]
    [320 tests, 3.73 s]
sage -t --random-seed=256963700569517996050547927079750684585
src/sage/combinat/composition_signed.py
    [20 tests, 0.16 s]
```

https://github.com/sagemath/sage/actions/runs/7281940815/job/19843412065
?pr=36936#step:11:9192
```
sage -t --random-seed=256963700569517996050547927079750684585
src/sage_setup/setenv.py
    [0 tests, 0.00 s]
sage -t --random-seed=256963700569517996050547927079750684585
src/sage_setup/clean.py  # [failed in baseline]
**********************************************************************
File "src/sage_setup/clean.py", line 104, in
sage_setup.clean._find_stale_files
Failed example:
    for f in stale_iter:
        if f.endswith(skip_extensions): continue
        if '/ext_data/' in f: continue
        print('Found stale file: ' + f)
Expected nothing
Got:
    Found stale file: sage/tests/books/judson-abstract-
algebra/homomorph-sage-exercises.py
    Found stale file: sage/tests/books/judson-abstract-algebra/actions-
sage-exercises.py
    Found stale file: sage/tests/books/judson-abstract-
algebra/homomorph-sage.py
```

The changes in the code that implement this are also preparation for:
- sagemath#36558.

<!-- Why is this change required? What problem does it solve? -->
<!-- If this PR resolves an open issue, please link to it here. For
example "Fixes sagemath#12345". -->
<!-- If your change requires a documentation PR, please link it
appropriately. -->

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->
<!-- If your change requires a documentation PR, please link it
appropriately -->
<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
<!-- Feel free to remove irrelevant items. -->

- [ ] The title is concise, informative, and self-explanatory.
- [ ] The description explains in detail what this PR is about.
- [ ] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation accordingly.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on
- sagemath#12345: short description why this is a dependency
- sagemath#34567: ...
-->

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: sagemath#36936
Reported by: Matthias Köppe
Reviewer(s): Kwankyu Lee, Matthias Köppe
vbraun pushed a commit to vbraun/sage that referenced this pull request Jan 5, 2024
…seline]' earlier

    
<!-- ^^^^^
Please provide a concise, informative and self-explanatory title.
Don't put issue numbers in there, do this in the PR body below.
For example, instead of "Fixes sagemath#1234" use "Introduce new method to
calculate 1+1"
-->
<!-- Describe your changes here in detail -->

The note "[failed in baseline]" already appears in the doctest failure
summary.

Here we add the note also to the `sage -t` line during doctesting:

https://github.com/sagemath/sage/actions/runs/7281940815/job/19843412065
?pr=36936#step:11:2744
```
sage -t --random-seed=256963700569517996050547927079750684585
src/sage/combinat/combinatorial_map.py
    [75 tests, 0.05 s]
sage -t --random-seed=256963700569517996050547927079750684585
src/sage/combinat/cluster_algebra_quiver/quiver.py  # [failed in
baseline]
    [320 tests, 3.73 s]
sage -t --random-seed=256963700569517996050547927079750684585
src/sage/combinat/composition_signed.py
    [20 tests, 0.16 s]
```

https://github.com/sagemath/sage/actions/runs/7281940815/job/19843412065
?pr=36936#step:11:9192
```
sage -t --random-seed=256963700569517996050547927079750684585
src/sage_setup/setenv.py
    [0 tests, 0.00 s]
sage -t --random-seed=256963700569517996050547927079750684585
src/sage_setup/clean.py  # [failed in baseline]
**********************************************************************
File "src/sage_setup/clean.py", line 104, in
sage_setup.clean._find_stale_files
Failed example:
    for f in stale_iter:
        if f.endswith(skip_extensions): continue
        if '/ext_data/' in f: continue
        print('Found stale file: ' + f)
Expected nothing
Got:
    Found stale file: sage/tests/books/judson-abstract-
algebra/homomorph-sage-exercises.py
    Found stale file: sage/tests/books/judson-abstract-algebra/actions-
sage-exercises.py
    Found stale file: sage/tests/books/judson-abstract-
algebra/homomorph-sage.py
```

The changes in the code that implement this are also preparation for:
- sagemath#36558.

<!-- Why is this change required? What problem does it solve? -->
<!-- If this PR resolves an open issue, please link to it here. For
example "Fixes sagemath#12345". -->
<!-- If your change requires a documentation PR, please link it
appropriately. -->

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->
<!-- If your change requires a documentation PR, please link it
appropriately -->
<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
<!-- Feel free to remove irrelevant items. -->

- [ ] The title is concise, informative, and self-explanatory.
- [ ] The description explains in detail what this PR is about.
- [ ] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation accordingly.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on
- sagemath#12345: short description why this is a dependency
- sagemath#34567: ...
-->

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: sagemath#36936
Reported by: Matthias Köppe
Reviewer(s): Kwankyu Lee, Matthias Köppe
@vbraun vbraun merged commit 8e8c4e4 into sagemath:develop Jan 14, 2024
17 of 21 checks passed
@mkoeppe mkoeppe added this to the sage-10.3 milestone Jan 14, 2024
vbraun pushed a commit to vbraun/sage that referenced this pull request Jan 24, 2024
    
Not all of the added failures are conda-specific, but the 6 instances of
CI Conda amplify the error probability
(sagemath#36694 (comment))

We also add info (ideally a link to the GitHub Issue where the failure
is reported) to the failures and arrange for it to be printed by the
doctester as part of the `[failed in baseline]` message.

Marked as blocker so it takes effect in CI runs -- to reduce the noise
from failures of the Conda CI that PR authors and reviewers find
distracting.

<!-- ^^^^^
Please provide a concise, informative and self-explanatory title.
Don't put issue numbers in there, do this in the PR body below.
For example, instead of "Fixes sagemath#1234" use "Introduce new method to
calculate 1+1"
-->
<!-- Describe your changes here in detail -->

<!-- Why is this change required? What problem does it solve? -->
<!-- If this PR resolves an open issue, please link to it here. For
example "Fixes sagemath#12345". -->
<!-- If your change requires a documentation PR, please link it
appropriately. -->

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->
<!-- If your change requires a documentation PR, please link it
appropriately -->
<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
<!-- Feel free to remove irrelevant items. -->

- [x] The title is concise, informative, and self-explanatory.
- [x] The description explains in detail what this PR is about.
- [x] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation accordingly.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on
- sagemath#12345: short description why this is a dependency
- sagemath#34567: ...
-->
- Depends on sagemath#36936 (which refactors the `[failed in baseline]`
printing)

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: sagemath#36937
Reported by: Matthias Köppe
Reviewer(s): Kwankyu Lee, Matthias Köppe, Tobias Diez
vbraun pushed a commit to vbraun/sage that referenced this pull request Jan 27, 2024
    
Not all of the added failures are conda-specific, but the 6 instances of
CI Conda amplify the error probability
(sagemath#36694 (comment))

We also add info (ideally a link to the GitHub Issue where the failure
is reported) to the failures and arrange for it to be printed by the
doctester as part of the `[failed in baseline]` message.

Marked as blocker so it takes effect in CI runs -- to reduce the noise
from failures of the Conda CI that PR authors and reviewers find
distracting.

<!-- ^^^^^
Please provide a concise, informative and self-explanatory title.
Don't put issue numbers in there, do this in the PR body below.
For example, instead of "Fixes sagemath#1234" use "Introduce new method to
calculate 1+1"
-->
<!-- Describe your changes here in detail -->

<!-- Why is this change required? What problem does it solve? -->
<!-- If this PR resolves an open issue, please link to it here. For
example "Fixes sagemath#12345". -->
<!-- If your change requires a documentation PR, please link it
appropriately. -->

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->
<!-- If your change requires a documentation PR, please link it
appropriately -->
<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
<!-- Feel free to remove irrelevant items. -->

- [x] The title is concise, informative, and self-explanatory.
- [x] The description explains in detail what this PR is about.
- [x] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation accordingly.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on
- sagemath#12345: short description why this is a dependency
- sagemath#34567: ...
-->
- Depends on sagemath#36936 (which refactors the `[failed in baseline]`
printing)

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: sagemath#36937
Reported by: Matthias Köppe
Reviewer(s): Kwankyu Lee, Matthias Köppe, Tobias Diez
vbraun pushed a commit to vbraun/sage that referenced this pull request Jan 29, 2024
    
Not all of the added failures are conda-specific, but the 6 instances of
CI Conda amplify the error probability
(sagemath#36694 (comment))

We also add info (ideally a link to the GitHub Issue where the failure
is reported) to the failures and arrange for it to be printed by the
doctester as part of the `[failed in baseline]` message.

Marked as blocker so it takes effect in CI runs -- to reduce the noise
from failures of the Conda CI that PR authors and reviewers find
distracting.

<!-- ^^^^^
Please provide a concise, informative and self-explanatory title.
Don't put issue numbers in there, do this in the PR body below.
For example, instead of "Fixes sagemath#1234" use "Introduce new method to
calculate 1+1"
-->
<!-- Describe your changes here in detail -->

<!-- Why is this change required? What problem does it solve? -->
<!-- If this PR resolves an open issue, please link to it here. For
example "Fixes sagemath#12345". -->
<!-- If your change requires a documentation PR, please link it
appropriately. -->

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->
<!-- If your change requires a documentation PR, please link it
appropriately -->
<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
<!-- Feel free to remove irrelevant items. -->

- [x] The title is concise, informative, and self-explanatory.
- [x] The description explains in detail what this PR is about.
- [x] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation accordingly.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on
- sagemath#12345: short description why this is a dependency
- sagemath#34567: ...
-->
- Depends on sagemath#36936 (which refactors the `[failed in baseline]`
printing)

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: sagemath#36937
Reported by: Matthias Köppe
Reviewer(s): Kwankyu Lee, Matthias Köppe, Tobias Diez
vbraun pushed a commit to vbraun/sage that referenced this pull request Jan 30, 2024
    
Not all of the added failures are conda-specific, but the 6 instances of
CI Conda amplify the error probability
(sagemath#36694 (comment))

We also add info (ideally a link to the GitHub Issue where the failure
is reported) to the failures and arrange for it to be printed by the
doctester as part of the `[failed in baseline]` message.

Marked as blocker so it takes effect in CI runs -- to reduce the noise
from failures of the Conda CI that PR authors and reviewers find
distracting.

<!-- ^^^^^
Please provide a concise, informative and self-explanatory title.
Don't put issue numbers in there, do this in the PR body below.
For example, instead of "Fixes sagemath#1234" use "Introduce new method to
calculate 1+1"
-->
<!-- Describe your changes here in detail -->

<!-- Why is this change required? What problem does it solve? -->
<!-- If this PR resolves an open issue, please link to it here. For
example "Fixes sagemath#12345". -->
<!-- If your change requires a documentation PR, please link it
appropriately. -->

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->
<!-- If your change requires a documentation PR, please link it
appropriately -->
<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
<!-- Feel free to remove irrelevant items. -->

- [x] The title is concise, informative, and self-explanatory.
- [x] The description explains in detail what this PR is about.
- [x] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation accordingly.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on
- sagemath#12345: short description why this is a dependency
- sagemath#34567: ...
-->
- Depends on sagemath#36936 (which refactors the `[failed in baseline]`
printing)

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: sagemath#36937
Reported by: Matthias Köppe
Reviewer(s): Kwankyu Lee, Matthias Köppe, Tobias Diez
vbraun pushed a commit to vbraun/sage that referenced this pull request Feb 1, 2024
    
Not all of the added failures are conda-specific, but the 6 instances of
CI Conda amplify the error probability
(sagemath#36694 (comment))

We also add info (ideally a link to the GitHub Issue where the failure
is reported) to the failures and arrange for it to be printed by the
doctester as part of the `[failed in baseline]` message.

Marked as blocker so it takes effect in CI runs -- to reduce the noise
from failures of the Conda CI that PR authors and reviewers find
distracting.

<!-- ^^^^^
Please provide a concise, informative and self-explanatory title.
Don't put issue numbers in there, do this in the PR body below.
For example, instead of "Fixes sagemath#1234" use "Introduce new method to
calculate 1+1"
-->
<!-- Describe your changes here in detail -->

<!-- Why is this change required? What problem does it solve? -->
<!-- If this PR resolves an open issue, please link to it here. For
example "Fixes sagemath#12345". -->
<!-- If your change requires a documentation PR, please link it
appropriately. -->

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->
<!-- If your change requires a documentation PR, please link it
appropriately -->
<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
<!-- Feel free to remove irrelevant items. -->

- [x] The title is concise, informative, and self-explanatory.
- [x] The description explains in detail what this PR is about.
- [x] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation accordingly.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on
- sagemath#12345: short description why this is a dependency
- sagemath#34567: ...
-->
- Depends on sagemath#36936 (which refactors the `[failed in baseline]`
printing)

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: sagemath#36937
Reported by: Matthias Köppe
Reviewer(s): Kwankyu Lee, Matthias Köppe, Tobias Diez
vbraun pushed a commit to vbraun/sage that referenced this pull request Feb 1, 2024
… annotations in the 'Files changed' tab

    
<!-- ^^^^^
Please provide a concise, informative and self-explanatory title.
Don't put issue numbers in there, do this in the PR body below.
For example, instead of "Fixes sagemath#1234" use "Introduce new method to
calculate 1+1"
-->
<!-- Describe your changes here in detail -->

This prints doctest failures as github annotations.

For illustrating this new feature, the branch on sagemath#36558 provokes some
errors.

As seen in the "Files changed" tab over there
(https://github.com/sagemath/sage/pull/36558/files):
- Doctest failures show as errors next to the doctest in source code
- Doctest warnings show as "warnings"
- Doctest failures from files that "failed in baseline" show as
"notices"

These messages can also be seen in the Summary page of the workflow
(https://github.com/sagemath/sage/actions/runs/7359388426?pr=36558).
Clicking on a message leads to the source code location.

<!-- Why is this change required? What problem does it solve? -->
<!-- If this PR resolves an open issue, please link to it here. For
example "Fixes sagemath#12345". -->
<!-- If your change requires a documentation PR, please link it
appropriately. -->

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->
<!-- If your change requires a documentation PR, please link it
appropriately -->
<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
<!-- Feel free to remove irrelevant items. -->

- [x] The title is concise, informative, and self-explanatory.
- [ ] The description explains in detail what this PR is about.
- [ ] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation accordingly.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on
- sagemath#12345: short description why this is a dependency
- sagemath#34567: ...
-->
- Depends on sagemath#36936

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: sagemath#36938
Reported by: Matthias Köppe
Reviewer(s): Alex J Best, Matthias Köppe, Tobias Diez
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.

None yet

3 participants