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

Azure Pipelines: macOS CI Tests and Ubuntu CI Tests (coverage) jobs are always skipped #109395

Closed
sobolevn opened this issue Sep 14, 2023 · 6 comments
Labels
build The build process and cross-build tests Tests in the Lib/test dir

Comments

@sobolevn sobolevn added tests Tests in the Lib/test dir build The build process and cross-build labels Sep 14, 2023
@hugovk
Copy link
Member

hugovk commented Sep 14, 2023

macOS CI Tests

The macOS tests were disabled 3.5 years ago, when GitHub Actions CI was newer: PR #18818.

Ubuntu CI Tests (coverage)

This is skipped because the condition:

    and(
        and(
            succeeded(),
            eq(variables['coverage'], 'true')
        ),
        eq(dependencies.Prebuild.outputs['tests.run'], 'true')
    )

evaluates to false:

    and(
        and(
            True, 
            eq('false', 'true')
        ),
        eq(dependencies['Prebuild']['outputs']['tests.run'], 'true')
    )

Because variables['coverage'] is 'false'.

There is a coverage: true for the job's only step, but it looks like the above condition is evaluating to false before the step can even run. I've not checked if this is intentional.


Are these Azure Pipelines runs doing anything that is not covered by the GitHub Actions CI?

If not, a better course of action would be to remove them from Azure Pipelines. GitHub Actions is easier to manage, especially when it comes to restarting and maintenance. (Compare: PR #105823 that removed docs testing from AP.)

(The same applies to the other Ubuntu and Windows jobs that are running, but there's at least some unique things run in patchcheck that hasn't been migrated over, so we can deal with these later.)


In the issue that led to disabling the macOS jobs, @zooba outlined the required steps (#84018 (comment)):

Deleting the files is not the right first step.

First, it needs to be changed to a non-required check.

Then, I can use the web UI to disable it starting.

Then, we can remove some of the files in the directory. Others are used for the official release, and have to stay.

@zooba, for macOS:

For Ubuntu coverage:

  • First off, do we want to fix coverage?
  • If so, should we add something to GitHub Actions first?
  • In any case, can we remove this skipped job now?

@sobolevn
Copy link
Member Author

@hugovk thanks a lot for the context. I've sent #109400 to see what will happen if macos-steps.yml is deleted.

Looks like it should be fine, but we will see :)

@hugovk
Copy link
Member

hugovk commented Sep 14, 2023

Ubuntu CI Tests (coverage)

A quick experiment that hardcodes coverage: true to check if the run completes shows it core dumped after 59 minutes:

Compared to 15 minutes for the regular Ubuntu CI Tests build which passes.

Here's a PR to remove the skipped coverage job: #109412

@zooba
Copy link
Member

zooba commented Sep 14, 2023

Yeah, coverage just never worked, unfortunately. It was a nice idea. It's possible that the segfault at 59 minutes is just the 1 hour timeout sending a Ctrl+C at a bad time, but the tests are so slow I don't think we'd want it enabled anyway. Maybe as a scheduled (daily) job.

Removing the files is fine. They don't do any harm by staying there, and might be helpful to someone trying to run tests on their fork, but if people are going to keep suggesting we remove them then I guess we may as well make them happy.

@hugovk
Copy link
Member

hugovk commented Sep 14, 2023

At work, the coverage is also slow on the CI. But it's faster locally, so we sometimes use it for local development. And you might just run a subset of tests for the bit of code you're working on, and check you're properly covering your new code.

So something for the future may be to set tooling up for local development, if people would find that useful.

miss-islington pushed a commit to miss-islington/cpython that referenced this issue Sep 15, 2023
…thonGH-109412)

(cherry picked from commit fa49390)

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
miss-islington pushed a commit to miss-islington/cpython that referenced this issue Sep 15, 2023
…thonGH-109412)

(cherry picked from commit fa49390)

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
miss-islington pushed a commit to miss-islington/cpython that referenced this issue Sep 15, 2023
…thonGH-109400)

(cherry picked from commit 1ece084)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
miss-islington pushed a commit to miss-islington/cpython that referenced this issue Sep 15, 2023
…thonGH-109400)

(cherry picked from commit 1ece084)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
hugovk added a commit that referenced this issue Sep 15, 2023
…H-109412) (#109434)

gh-109395: Remove skipped coverage job from Azure Pipelines (GH-109412)
(cherry picked from commit fa49390)

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
hugovk pushed a commit that referenced this issue Sep 15, 2023
Yhg1s pushed a commit that referenced this issue Sep 15, 2023
…H-109412) (#109433)

gh-109395: Remove skipped coverage job from Azure Pipelines (GH-109412)
(cherry picked from commit fa49390)

Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
Yhg1s pushed a commit that referenced this issue Sep 15, 2023
…H-109400) (#109441)

gh-109395: Remove skipped macOS builds from Azure Pipelines (GH-109400)
(cherry picked from commit 1ece084)

Co-authored-by: Nikita Sobolev <mail@sobolevn.me>
@hugovk
Copy link
Member

hugovk commented Sep 15, 2023

All merged and backported, thanks!

Let's continue AP -> GHA migration in #109408.

@hugovk hugovk closed this as completed Sep 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build The build process and cross-build tests Tests in the Lib/test dir
Projects
None yet
Development

No branches or pull requests

3 participants