From 65a032f96116f3d384ee57857880f1f1bd51efa0 Mon Sep 17 00:00:00 2001 From: Daniel Dolezal Date: Sun, 14 Jun 2026 15:20:48 +0200 Subject: [PATCH] ci: publish separate extension archives - Rename the keyed extension package to a testing archive to make its purpose explicit. - Keep the webstore archive as a separate keyless package for Chrome Web Store upload. - Upload both extension archives to tagged releases instead of only publishing one ambiguous asset. - Update the package helper's default suffix and documentation to match the release asset names. --- .gitea/workflows/package-extension.yml | 57 ++++++++++++++++---------- scripts/package_extension.py | 4 +- 2 files changed, 37 insertions(+), 24 deletions(-) diff --git a/.gitea/workflows/package-extension.yml b/.gitea/workflows/package-extension.yml index d047963..e8efce2 100644 --- a/.gitea/workflows/package-extension.yml +++ b/.gitea/workflows/package-extension.yml @@ -41,13 +41,15 @@ jobs: - name: Build extension archives run: | - python scripts/package_extension.py --out "dist/browser-cli-extension-v${{ steps.version.outputs.version }}.zip" + python scripts/package_extension.py --out "dist/browser-cli-extension-testing-v${{ steps.version.outputs.version }}.zip" python scripts/package_extension.py --webstore --out "dist/browser-cli-extension-webstore-v${{ steps.version.outputs.version }}.zip" - - name: Publish extension release asset + - name: Publish extension release assets env: ACTION_ACCESS_TOKEN: ${{ secrets.ACTION_ACCESS_TOKEN }} - ASSET_NAME: browser-cli-extension-v${{ steps.version.outputs.version }}.zip + ASSET_NAMES: | + browser-cli-extension-testing-v${{ steps.version.outputs.version }}.zip + browser-cli-extension-webstore-v${{ steps.version.outputs.version }}.zip EXTENSION_VERSION: ${{ steps.version.outputs.version }} GITHUB_REPOSITORY: ${{ github.repository }} GITHUB_SERVER_URL: ${{ github.server_url }} @@ -55,15 +57,19 @@ jobs: run: | set -euo pipefail - asset_path="dist/browser-cli-extension-v${EXTENSION_VERSION}.zip" - asset_name="$(basename "$asset_path")" tag_name="v${EXTENSION_VERSION}" api_base="${GITHUB_SERVER_URL}/api/v1/repos/${GITHUB_REPOSITORY}" - if [ ! -f "$asset_path" ]; then - echo "Missing asset: $asset_path" >&2 - exit 1 - fi + while IFS= read -r asset_name; do + [ -n "$asset_name" ] || continue + asset_path="dist/${asset_name}" + if [ ! -f "$asset_path" ]; then + echo "Missing asset: $asset_path" >&2 + exit 1 + fi + done < None: def package_extension(*, webstore: bool = False, out: Path | None = None) -> Path: manifest = _read_manifest(webstore) version = manifest["version"] - suffix = "webstore" if webstore else "local" + suffix = "webstore" if webstore else "testing" out = out or DIST_DIR / f"browser-cli-extension-{suffix}-v{version}.zip" staging = DIST_DIR / f"extension-package-{suffix}"