mirror of
https://github.com/servo/servo.git
synced 2025-08-05 21:50:18 +01:00
Auto merge of #16687 - aneeshusa:keep-stable-rustc-during-clean-nightlies, r=mbrubeck
Keep stable rustc versions in `clean-nightlies` Check the `rust-stable-version` file to keep the last n versions of both the nightly and the stable compiler. <!-- Please describe your changes on the following line: --> --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: --> - [ ] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [x] These changes fix #16675 (github issue number if applicable). <!-- Either: --> - [ ] There are tests for these changes OR - [x] These changes do not require tests because they should be checked manually <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/16687) <!-- Reviewable:end -->
This commit is contained in:
commit
225b505d22
1 changed files with 22 additions and 14 deletions
|
@ -290,9 +290,13 @@ class MachCommands(CommandBase):
|
|||
default='1',
|
||||
help='Keep up to this many most recent nightlies')
|
||||
def clean_nightlies(self, force=False, keep=None):
|
||||
rust_current = self.rust_version()
|
||||
self.set_use_stable_rust(False)
|
||||
rust_current_nightly = self.rust_version()
|
||||
self.set_use_stable_rust(True)
|
||||
rust_current_stable = self.rust_version()
|
||||
cargo_current = self.cargo_build_id()
|
||||
print("Current Rust version: {}".format(rust_current))
|
||||
print("Current Rust nightly version: {}".format(rust_current_nightly))
|
||||
print("Current Rust stable version: {}".format(rust_current_stable))
|
||||
print("Current Cargo version: {}".format(cargo_current))
|
||||
to_keep = {
|
||||
'rust': set(),
|
||||
|
@ -300,20 +304,24 @@ class MachCommands(CommandBase):
|
|||
}
|
||||
if int(keep) == 1:
|
||||
# Optimize keep=1 case to not invoke git
|
||||
to_keep['rust'].add(rust_current)
|
||||
to_keep['rust'].add(rust_current_nightly)
|
||||
to_keep['rust'].add(rust_current_stable)
|
||||
to_keep['cargo'].add(cargo_current)
|
||||
else:
|
||||
for tool in ["rust", "cargo"]:
|
||||
commit_file = '{}-commit-hash'.format(tool)
|
||||
cmd = subprocess.Popen(
|
||||
['git', 'log', '--oneline', '--no-color', '-n', keep, '--patch', commit_file],
|
||||
stdout=subprocess.PIPE,
|
||||
universal_newlines=True
|
||||
)
|
||||
stdout, _ = cmd.communicate()
|
||||
for line in stdout.splitlines():
|
||||
if line.startswith("+") and not line.startswith("+++"):
|
||||
to_keep[tool].add(line[1:])
|
||||
for tool, version_files in {
|
||||
'rust': ['rust-commit-hash', 'rust-stable-version'],
|
||||
'cargo': ['cargo-commit-hash'],
|
||||
}.items():
|
||||
for version_file in version_files:
|
||||
cmd = subprocess.Popen(
|
||||
['git', 'log', '--oneline', '--no-color', '-n', keep, '--patch', version_file],
|
||||
stdout=subprocess.PIPE,
|
||||
universal_newlines=True
|
||||
)
|
||||
stdout, _ = cmd.communicate()
|
||||
for line in stdout.splitlines():
|
||||
if line.startswith("+") and not line.startswith("+++"):
|
||||
to_keep[tool].add(line[1:])
|
||||
|
||||
removing_anything = False
|
||||
for tool in ["rust", "cargo"]:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue