purescript / purescript/registry-dev
Implement `registry-version-check` script
Nobody has claimed this yet.
- Dominant language
- PureScript
- Stars
- 95
- Forks
- 79
- Avg merge
- 15m
- Merged PRs (30d)
- 1
Description
The packaging team regularly makes manual package sets releases. Manual releases are required, for example, when a package such as Halogen is upgraded. Invariably the new Halogen version will break other packages in the set, and so the Halogen release is not added at first. Over time the dependents upgrade to the new Halogen, at which point Halogen and its dependents can all be updated in one go to produce a new package set.
The packaging team needs to be able to tell what package versions have been uploaded to the registry and are more recent than the version of those packages in the package set. For example, if Halogen 6 is in the package set and Halogen 7 has been released (but could not be added automatically because it breaks downstream packages), then we need to be able to tell that there's a Halogen 7 release waiting to go into the package set.
To accomplish this, we need to add a new script to the registry. This script, most likely named Registry.Scripts.VersionCheck, should:
- Read in the contents of the most recent package set (this can be read from the
package-setsrepository for now, but it will use the registry in the future) - Read in the contents of the
metadatadirectory in the registry - Find all packages with a latest version higher than its version in the package set
- Log those package versions to the console for review
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
Start by locating the registry's script entry points and the proposed Registry.Scripts.VersionCheck module. Read the most recent package set from the package-sets repository and inspect the registry's metadata directory. Done means identifying packages whose latest registry version exceeds the package-set version and logging those versions to the console.
Written by the indexing model from the issue text.
Assessment
- Domain
- tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100