Skip to content

Commit bd428ac

Browse files
committed
Template HubFS base path by release version
1 parent d331dac commit bd428ac

3 files changed

Lines changed: 14 additions & 4 deletions

File tree

.github/workflows/quiltsync-release-to-hubspot.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,6 @@ jobs:
4242
python scripts/publish_quiltsync_release.py \
4343
--github-repo "${{ github.event.inputs.github_repo || github.event.client_payload.github_repo || 'quiltdata/quilt-rs' }}" \
4444
--release-tag "${{ github.event.inputs.release_tag || github.event.client_payload.release_tag }}" \
45-
--hubfs-base-path "${{ vars.HUBFS_BASE_PATH || '/quiltsync' }}" \
45+
--hubfs-base-path "${{ vars.HUBFS_BASE_PATH || '/quiltsync/{version}' }}" \
4646
--hubfs-root-url "${{ vars.HUBFS_ROOT_URL || 'https://www.quilt.bio/hubfs' }}" \
4747
--latest-json-target-path "/latest.json"

scripts/README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ Arguments:
2626

2727
- `--github-repo`: Repo that hosts releases. Default `quiltdata/quilt-rs`.
2828
- `--release-tag`: Release tag. Omit for latest.
29-
- `--hubfs-base-path`: Base hubfs path for assets. Default `/quiltsync`.
29+
- `--hubfs-base-path`: Base hubfs path for assets. Supports `{version}` or `{tag}`.
30+
Default `/quiltsync/{version}`.
3031
- `--hubfs-root-url`: Base hubfs URL. Default `https://www.quilt.bio/hubfs`.
3132
- `--latest-json-target-path`: Target path for latest.json. Default `/latest.json`.

scripts/publish_quiltsync_release.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,13 @@ def build_upload_map(items, base_path, hubfs_root_url):
125125
return mapping
126126

127127

128+
def render_base_path(template, version, tag):
129+
try:
130+
return template.format(version=version, tag=tag)
131+
except (KeyError, ValueError):
132+
return template
133+
134+
128135
def update_latest_json_urls(latest_json, upload_map, hubfs_root_url, base_path):
129136
base_path = "/" + base_path.strip("/")
130137
hubfs_root_url = hubfs_root_url.rstrip("/")
@@ -282,12 +289,14 @@ def main():
282289
return 1
283290

284291
latest_json = load_latest_json(latest_item["source"])
292+
release_version = find_release_version(latest_json, release_tag)
293+
resolved_base_path = render_base_path(args.hubfs_base_path, release_version, release_tag)
285294

286295
upload_candidates = [item for item in items if item != latest_item]
287-
upload_map = build_upload_map(upload_candidates, args.hubfs_base_path, args.hubfs_root_url)
296+
upload_map = build_upload_map(upload_candidates, resolved_base_path, args.hubfs_root_url)
288297

289298
latest_json = update_latest_json_urls(
290-
latest_json, upload_map, args.hubfs_root_url, args.hubfs_base_path
299+
latest_json, upload_map, args.hubfs_root_url, resolved_base_path
291300
)
292301

293302
updated_latest_path = os.path.join(temp_dir, "latest.json")

0 commit comments

Comments
 (0)