chipyard icon indicating copy to clipboard operation
chipyard copied to clipboard

Use An Older Git Version in CI

Open davidbiancolin opened this issue 3 years ago • 1 comments

Impact: other

Tell us about your environment: CI: 2.31 (Dev clones fine) Manager: git version 2.24.2 (Dev clones fine) Mill: git version 2.17.1 (fails to resolve reference gemmini-rocc-tests) Weirdo machine: 2.7.4 (^, and fails to resolve reference for speckle)

Chipyard Version: dev

What is the current behavior?

Dev does not clone with some versions of git.

What is the expected behavior?

Dev should clone on all versions of git init-submodules permits.

Other information

It's no secret that we essentially use git as a package manager. Unfortunately, newer versions of are relatively clever and can resolve references hosted on github.com that would otherwise be inaccessible to older versions of git. For example: if a ref lies on fork not pointed to by a submodule, the resolution will fail on older versions.

Since git is so critical to distributing CY, i propose we either:

  • bump the required git version to something newer to avoid these problems and/or
  • use the oldest permissible version of git in CI to catch them. We can run a separate job in our workflow that checks init-submodules runs fine if we'd like to use the newer version

I've already reached out repo maintainers to fix these submodules, but it might be good to make CI check for these sorts of things in the future.

davidbiancolin avatar May 06 '21 18:05 davidbiancolin

I'm not seeing this error on Mill (git version 2.17.1) when cloning dev. What commit is this?

With that being said, I think it is fine to bump to a particular version of git (what happens if we just make the minimum git version 2.24.2 (to match the EC2 manager)... I'd be fine in doing that).

abejgonzalez avatar May 07 '21 05:05 abejgonzalez