Fix the failed run ID URL; use a .txt extension for the failed files
This commit is contained in:
parent
491f3f9924
commit
9e2e1814a2
16
autobuild.py
16
autobuild.py
@ -149,7 +149,8 @@ def download_asset(asset: GitReleaseAsset, target_path: str) -> None:
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
def upload_asset(release: GitRelease, path: _PathLike, replace: bool = False) -> None:
|
def upload_asset(release: GitRelease, path: _PathLike, replace: bool = False,
|
||||||
|
text: bool = False) -> None:
|
||||||
# type_: msys/mingw/failed
|
# type_: msys/mingw/failed
|
||||||
if not environ.get("CI"):
|
if not environ.get("CI"):
|
||||||
print("WARNING: upload skipped, not running in CI")
|
print("WARNING: upload skipped, not running in CI")
|
||||||
@ -157,7 +158,7 @@ def upload_asset(release: GitRelease, path: _PathLike, replace: bool = False) ->
|
|||||||
path = Path(path)
|
path = Path(path)
|
||||||
|
|
||||||
basename = os.path.basename(str(path))
|
basename = os.path.basename(str(path))
|
||||||
asset_name = get_gh_asset_name(basename)
|
asset_name = get_gh_asset_name(basename, text)
|
||||||
asset_label = basename
|
asset_label = basename
|
||||||
|
|
||||||
for asset in get_release_assets(release, include_incomplete=True):
|
for asset in get_release_assets(release, include_incomplete=True):
|
||||||
@ -385,8 +386,8 @@ def build_package(build_type: str, pkg, msys2_root: _PathLike, builddir: _PathLi
|
|||||||
failed_path = os.path.join(tempdir, entry)
|
failed_path = os.path.join(tempdir, entry)
|
||||||
with open(failed_path, 'w') as h:
|
with open(failed_path, 'w') as h:
|
||||||
# github doesn't allow empty assets
|
# github doesn't allow empty assets
|
||||||
h.write(f"https://github.com/{REPO}/runs/{RUN_ID}")
|
h.write(f"https://github.com/{REPO}/actions/runs/{RUN_ID}")
|
||||||
upload_asset(release, failed_path)
|
upload_asset(release, failed_path, text=True)
|
||||||
|
|
||||||
raise BuildError(e)
|
raise BuildError(e)
|
||||||
else:
|
else:
|
||||||
@ -482,17 +483,18 @@ def get_buildqueue() -> List[_Package]:
|
|||||||
return pkgs
|
return pkgs
|
||||||
|
|
||||||
|
|
||||||
def get_gh_asset_name(basename: _PathLike) -> str:
|
def get_gh_asset_name(basename: _PathLike, text: bool = False) -> str:
|
||||||
# GitHub will throw out charaters like '~' or '='. It also doesn't like
|
# GitHub will throw out charaters like '~' or '='. It also doesn't like
|
||||||
# when there is no file extension and will try to add one
|
# when there is no file extension and will try to add one
|
||||||
return sha256(str(basename).encode("utf-8")).hexdigest() + ".bin"
|
return sha256(str(basename).encode("utf-8")).hexdigest() + (".bin" if not text else ".txt")
|
||||||
|
|
||||||
|
|
||||||
def get_asset_filename(asset: GitReleaseAsset) -> str:
|
def get_asset_filename(asset: GitReleaseAsset) -> str:
|
||||||
if not asset.label:
|
if not asset.label:
|
||||||
return asset.name
|
return asset.name
|
||||||
else:
|
else:
|
||||||
assert get_gh_asset_name(asset.label) == asset.name
|
assert os.path.splitext(get_gh_asset_name(asset.label))[0] == \
|
||||||
|
os.path.splitext(asset.name)[0]
|
||||||
return asset.label
|
return asset.label
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user