Add token for check latest Rust version.
This commit is contained in:
parent
29f4f8d05e
commit
8b3b797992
|
|
@ -72,10 +72,12 @@ jobs:
|
|||
bin/check/zizmor.sh --github-token ${GITHUB_TOKEN} .github/workflows/*.yml
|
||||
|
||||
- name: Check Rust version
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
if: always()
|
||||
run: |
|
||||
python3 -m pip install requests --quiet
|
||||
bin/check/rust_version.py 7
|
||||
bin/check/rust_version.py --token ${GITHUB_TOKEN} 7
|
||||
|
||||
- name: Generated
|
||||
if: always()
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
#!/usr/bin/env python3
|
||||
import argparse
|
||||
import datetime
|
||||
import json
|
||||
import os
|
||||
|
|
@ -7,10 +8,13 @@ import sys
|
|||
import requests
|
||||
|
||||
|
||||
def get_latest_release() -> None | tuple[str, datetime]:
|
||||
def get_latest_release(token: str | None) -> None | tuple[str, datetime]:
|
||||
"""Returns the latest Rust release available."""
|
||||
url = "https://api.github.com/repos/rust-lang/rust/releases"
|
||||
r = requests.get(url)
|
||||
headers = {}
|
||||
if token:
|
||||
headers["Authorization"] = f"Bearer {token}"
|
||||
r = requests.get(url, headers=headers)
|
||||
if r.status_code != 200:
|
||||
sys.stderr.write(f"Error GET {url} {r.status_code}\n")
|
||||
sys.stderr.write(f"{r.text}\n")
|
||||
|
|
@ -30,12 +34,22 @@ def get_current_version() -> str:
|
|||
|
||||
|
||||
def main():
|
||||
if len(sys.argv) < 2:
|
||||
print("Usage: rust_version.py NUM_DAYS_BEFORE_ERROR")
|
||||
sys.exit(1)
|
||||
num_days_before_error = int(sys.argv[1])
|
||||
parser = argparse.ArgumentParser(
|
||||
description="Check if Hurl uses the latest Rust version"
|
||||
)
|
||||
parser.add_argument(
|
||||
"num_days_before_error",
|
||||
type=int,
|
||||
metavar="NUM_DAYS_BEFORE_ERROR",
|
||||
help="Interval in days before raising an error if Hurl is not using latest Rust",
|
||||
)
|
||||
parser.add_argument("--token", help="GitHub authentication token")
|
||||
args = parser.parse_args()
|
||||
|
||||
ret = get_latest_release()
|
||||
num_days_before_error = args.num_days_before_error
|
||||
token = args.token
|
||||
|
||||
ret = get_latest_release(token=token)
|
||||
if not ret:
|
||||
sys.exit(2)
|
||||
|
||||
|
|
@ -48,6 +62,9 @@ def main():
|
|||
days_before_now = datetime.datetime.now() - date
|
||||
if days_before_now > datetime.timedelta(days=num_days_before_error):
|
||||
sys.exit(1)
|
||||
else:
|
||||
sys.stderr.write(f"Latest Rust version: {latest_version}\n")
|
||||
sys.stderr.write(f"Hurl Rust version: {current_version}\n")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
|
|
|||
Loading…
Reference in New Issue