Skip to content

Update PURLDB with all ABCTK releases #582

@mjherzog

Description

@mjherzog

We need an automated process to update PURLDB whenever we release a new version of any AboutCode.org package - we should start with aboutcode-toolkit. If we have each release in PURLDB then you should be able to get that data for a Product in DejaCode with the Improve Packages from PURLDB Action.
The steps seem to be:

  • Use the PURLDB API to get the current list of PURLs for aboutcode-toolkit and their data
  • Identify missing or incorrect data in the existing PURL data and correct it
  • Identify the missing PURLs and add them to PURLDB
  • Figure out how to automatically populate the PURLDB for each new release of aboutcode-toolkit

This is a pilot for a process to:

  • Clean up existing PURLDB data for all AboutCode projects
  • Automate adding PURLDB data for each new release of an AboutCode project
    The initial focus should be on AboutCode projects that are published to PyPI to keep this simple.

An open question is how to handle the different types of packages that we usually publish for aboutcode-toolkit (and most other AboutCode projects). Using v11.0.0 AboutCode Toolkit v11.0.0 as an example, we have 4 downloads:

  • aboutcode_toolkit-11.0.0-py3-none-any.whl
  • aboutcode_toolkit-11.0.0.tar.gz
  • v11.0.0.zip (Source Code)
  • v11.0.0.tar.gz (Source Code)

For patch releases like AboutCode Toolkit v11.0.1 and v11.0.2 (and many older versions) we only release the source packages.
Since each PURLDB record has one Download URL we will need some way to record the four different PURLs.
This seems to call for a qualifier so that the records will be unique. My guess is that we might want to treat the wheel as primary in the PyPI context and perhaps not use a qualifier for it.

Metadata

Metadata

Labels

Importantneeds designIssue needs design work before any coding can start

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions