swiftlang / swiftlang/swift-package-manager

Git Repository Tests are hanging on the Windows CI job

Open
#8,564 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug windows
Dominant language
Swift
Stars
10.2k
Forks
1.5k
Avg merge
2d 15h
Merged PRs (30d)
55

Description

Is it reproducible with SwiftPM command-line tools: swift build, swift test, swift package etc?
  • Confirmed reproduction steps with SwiftPM CLI. The description text must include reproduction steps with either of command-line SwiftPM commands, swift build, swift test, swift package etc.
Description

We saw this with an attempt last year to parallelize the git checkouts SwiftPM does at the beginning of the resolve step. It has hit again when we parallelized the Git repository tests in Windows CI in the build-using-self script.

Running the tests in parallel greatly improve the CI run times. So for now, I have turned off those tests in Windows when running the build-using-self scripts, but we do need to bring them back.

Two options, find out why it's happening. Which seems so far to only happen in the CI job. All attempt to reproduce locally have failed.

Or we need to find a way to serialize these tests, ensuing only one git operation is running at a time.

I'd prefer the former but it's going to be difficult unless we can reproduce locally so we can debug it or at least quickly try workarounds.

Expected behavior

No response

Actual behavior

No response

Steps to reproduce

No response

Swift Package Manager version/commit hash

No response

Swift & OS version (output of swift --version ; uname -a)

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Windows CI build-using-self script and the Git repository tests that were parallelized. Run the relevant SwiftPM CLI tests in the Windows CI environment and compare them with local runs; done means identifying the hang and restoring the tests to parallel execution, or defining a reliable serialized path.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, swift
Domain
ci-cd, testing-qa
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.