purescript / purescript/registry-dev

Implement `registry-version-check` script

Open
#426 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

CI help wanted
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:

  1. Read in the contents of the most recent package set (this can be read from the package-sets repository for now, but it will use the registry in the future)
  2. Read in the contents of the metadata directory in the registry
  3. Find all packages with a latest version higher than its version in the package set
  4. Log those package versions to the console for review

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

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.