Merge bitcoin/bitcoin#28332: test: previous releases: speed up fetching sources with shallow clone

360ac64b90ee16cc24bd4c574ec7e11760515a79 test: previous releases: speed up fetching sources with shallow clone (Sebastian Falbesoner)

Pull request description:

  For the sake of building previous releases, fetching the whole history of the repository for each version seems to be overkill as it takes much more time, bandwidth and disk space than necessary. Create a shallow clone instead with history truncated to the one commit of the version tag, which is directly checked out in the same command. This has the nice side-effect that we can remove the extra `git checkout` step after as it's not needed anymore.

  Note that it might look confusing to pass a _tag_ to a parameter named `--branch`, but the git-clone manpage explicitly states that this is supported.

ACKs for top commit:
  MarcoFalke:
    lgtm ACK 360ac64b90ee16cc24bd4c574ec7e11760515a79

Tree-SHA512: c885a695c1ea90895cf7a785540c24e8ef8d1d9ea78db28143837240586beb6dfb985b8b0b542d2f64e2f0ffdca7c65fc3d55f44b5e1b22cc5535bc044566f86
This commit is contained in:
fanquake 2023-08-24 10:35:57 +01:00 committed by pasta
parent 8490bf4b03
commit 7f83db0d0c
No known key found for this signature in database
GPG Key ID: E2F3D7916E722D38

View File

@ -212,14 +212,11 @@ def build_release(tag, args) -> int:
print('Tag {} not found'.format(tag)) print('Tag {} not found'.format(tag))
return 1 return 1
ret = subprocess.run([ ret = subprocess.run([
'git', 'clone', githubUrl, tag 'git', 'clone', f'--branch={tag}', '--depth=1', githubUrl, tag
]).returncode ]).returncode
if ret: if ret:
return ret return ret
with pushd(tag): with pushd(tag):
ret = subprocess.run(['git', 'checkout', tag]).returncode
if ret:
return ret
host = args.host host = args.host
if args.depends: if args.depends:
with pushd('depends'): with pushd('depends'):