Skip to content

Publish: Marketplace + Open VSX, release CI, icon #4

Open

Description

@zcsizmadia

Get the extension into users' hands. CI already typechecks, bundles, and packages a .vsix on every push; this adds the publishing half.

Owner decisions (cannot be done autonomously)

Work

  • 128×128 PNG icon — reuse the Hawser coil mark (assets/hawser-mark.svg upstream; hawser's tools/genicons can raster it); "icon" in package.json.
  • release.yml: on tag v* → npm ci, check, build --production, vsce publish and ovsx publish with the secrets; attach the .vsix to the GitHub release.
  • CHANGELOG discipline (Keep-a-Changelog), README badges (CI, Marketplace version/installs).
  • vsce pre-flight: repository, bugs, license, gallery banner.

Activity

  1. added this to the v0.1 — MVP milestone on Sep 9, 2026
  2. added
    enhancementNew feature or request
    mvpPart of the first shippable extension
    on Sep 9, 2026
  3. zcsizmadia commented on Sep 11, 2026

    @zcsizmadia
    CollaboratorAuthor

    The autonomous half is done

    #19, merged.

    • Publisher ID — the manifest already said hawserhq (this checkbox was stale; the publisher is registered)
    • 128×128 PNG icon — generated by hawser's tools/genicons from the same spiral and brand slate as every other raster asset, copied here rather than hand-cut (hawserhq/hawser#222)
    • release.yml — on v*: check, build --production, verify the tag matches package.json, package, attach the vsix to the release, then vsce publish and ovsx publish
    • CHANGELOG discipline (Keep-a-Changelog, with compare links)
    • README badges — CI and licence live; the two Marketplace badges are staged in an HTML comment because they render "not found" until the first publish
    • vsce pre-flight — repository, bugs, license were already there; gallery banner added, and packaging reports no warnings

    What it does before the tokens exist

    Each publish step is skipped when its secret is absent, so tagging today produces a packaged vsix attached to the GitHub release and a green run, rather than a red one. Nothing is blocked on the tokens except the Marketplace and Open VSX listings themselves.

    Still owner-only

    • VSCE_PAT — Azure DevOps PAT with Marketplace: Manage, added as a repo secret
    • OVSX_PAT — from https://open-vsx.org, added as a repo secret
    • After the first publish: uncomment the two Marketplace badges in the README

    Verified

    npm run check && npm run build -- --production && vsce package
      -> 8 files, 17.78 KB, no warnings
    
    inside the vsix:  icon 128x128 · publisher hawserhq · id hawser · version 0.1.0
    

    One thing worth recording, because it would have failed silently: the publish steps first used step-level env with if: env.VSCE_PAT != ''. A step's if cannot see env declared in that same step, so both conditions would have evaluated wrongly — the secrets are job-scoped now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestmvpPart of the first shippable extension

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions