purescript / purescript/registry-dev

Provide an auto-publish GitHub action for Spago users

Open
#741 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

discussion help wanted
Dominant language
PureScript
Stars
95
Forks
79
Avg merge
15m
Merged PRs (30d)
1

Description

Today we provide a DailyImporter script which will attempt to publish any newly-discovered tags on existing registered repos from GitHub. We do this because there are packages — such as all of purescript as an organization — which haven't switched to Spago yet and therefore don't publish to the registry.

This has a number of issues:

  • If a package version has a problem which prevents it from being published, the author has no idea and the version simply doesn't get registered.
  • It only supports GitHub packages with version-like tags, which goes against the registry goals to be agnostic to where you store your code and to allow for monorepo/polyrepo setups

However, it's very convenient. So instead I propose we write and release a GitHub action which does the same thing the importer does — when you push a new SemVer tag it will auto-publish to the registry — that authors can install on their repositories.

It would produce the same effect but:

  • the author is aware when there is an issue
  • we could potentially make it flexible to detect polyrepo setups and use the subdir key to publish within a polyrepo without requiring a top level tag (could be triggered by something like contents of a commit message)

The daily import can coexist with this action easily as it doesn't republish already-published package versions. Even if there were a bug and it tried then the registry would reject the job.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The existing behavior is in scripts/src/DailyImporter.purs; start by reading that importer and the proposed SemVer-tag trigger. Done means a released GitHub Action that publishes tagged packages to the registry and makes failures visible to authors, while addressing the described repository layouts.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions
Domain
ci-cd, release
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.