Skip to content

Three store products in one repo, against a tool whose model is one #6

Description

@anderix

odox ships three applications — xodt, xods, xodp — and therefore six store products: three Microsoft Store reservations and three Mac App Store bundles. ship's model is one repo, one release, one set of targets, and one product behind each store target, so odox's store lanes cannot be opened by adding targets to its profile.

What is in the repository

  • packaging/windows/identity.psd1 is committed and carries an Applications table keyed by binary with three entries: Excelano.OdoxText / 9N90RJZDXQZC, Excelano.OdoxGrid / 9MWKG7FFB4DZ, Excelano.OdoxDeck / 9P8ZDZPQFQTF.
  • packaging/macos/build-app.sh substitutes one of three bundle identifiers per application — com.excelano.xodt, com.excelano.xods, com.excelano.xodp — into a single Info.plist.in.
  • packaging/store-listing.md and packaging/store-listing.de-de.md are the pre-TOML format, organised the way the repo is: a # Shared section, then # Odox Text, # Odox Grid and # Odox Deck, each with its own name, subtitle, promotional text, short description, description and keywords, in both languages. listing.Listing is map[locale]Locale and carries one of each per locale, so the TOML cannot hold it as it stands.
  • packaging/release-notes.toml and packaging/store-listing.toml are both absent.
  • The releases carry .deb files and nothing else. v0.1.0, v0.2.0, v0.2.1 and v0.3.0 were all listed; v0.3.0 is eight debs. .github/workflows/apple-silicon.yml is push and pull_request only, with no release trigger and no workflow_dispatch, and its only uploads are artifacts.

What it costs today

ship odox --status exits 0 with every row green, because ship.conf says targets=apt crates and status probes the profile's targets and nothing else. Six store products have never been submitted and the screen says the repo is fully released.

The decision

Two ways, and this is the only large one in the fleet's backlog:

  1. ship grows a product dimension. A products= key that every store step loops over: the identity, the listing copy, the release notes, the screenshots and the submission. It touches msix, appstore, listing, notes and status, and listing.Listing changes shape.
  2. odox stays off the store lanes, its profile says targets=apt crates and means it, and the store material here is either removed or kept with a note saying it is not released by ship.

Filed here rather than against ship because the answer is about odox: whether three applications in one repository is the shape this product wants.

Moved from anderix/ship#9, #10, #12 and #20, which are the same question seen from four sides. The status half — a repo reading as fully released while six products have never been submitted — is a consequence of the profile, not of ship's probing.

Activity

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions