Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions run_release.py
Original file line number Diff line number Diff line change
Expand Up @@ -316,6 +316,23 @@
client.exec_command("pwd")


def check_sigstore_client(db: ReleaseShelf) -> None:
client = paramiko.SSHClient()
client.load_system_host_keys()
client.set_missing_host_key_policy(paramiko.WarningPolicy)
client.connect(DOWNLOADS_SERVER, port=22, username=db["ssh_user"])
_, stdout, _ = client.exec_command("python3 -m sigstore --version")
sigstore_version = stdout.read(1000).decode()
sigstore_vermatch = re.match("^sigstore ([0-9.]+)", sigstore_version)
if not sigstore_vermatch or tuple(

Check warning on line 327 in run_release.py

View check run for this annotation

Codecov / codecov/patch

run_release.py#L320-L327

Added lines #L320 - L327 were not covered by tests
int(part) for part in sigstore_vermatch.group(1).split(".")
) < (3, 5):
raise ReleaseException(

Check warning on line 330 in run_release.py

View check run for this annotation

Codecov / codecov/patch

run_release.py#L330

Added line #L330 was not covered by tests
f"Sigstore version not detected or not valid. "
f"Expecting 3.5.x or later: {sigstore_version}"
)


def check_buildbots(db: ReleaseShelf) -> None:
async def _check() -> set[Builder]:
async def _get_builder_status(
Expand Down Expand Up @@ -1250,6 +1267,7 @@
check_ssh_connection,
f"Validating ssh connection to {DOWNLOADS_SERVER} and {DOCS_SERVER}",
),
Task(check_sigstore_client, "Checking Sigstore CLI"),
Task(check_buildbots, "Check buildbots are good"),
Task(check_cpython_repo_is_clean, "Checking Git repository is clean"),
Task(check_magic_number, "Checking the magic number is up-to-date"),
Expand Down