purescript / purescript/registry-dev
Provide an auto-publish GitHub action for Spago users
Nobody has claimed this yet.
- 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
subdirkey 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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