paketo-buildpacks / cpython

Apache License 2.0
10 stars 16 forks source link

Add deprecation_date to metadata #712

Closed c0d1ngm0nk3y closed 3 months ago

c0d1ngm0nk3y commented 5 months ago

Summary

Adding the deprecation date to the metadata of the dependencies.

Use Cases

The user should be aware if the EOL approaches.

Checklist

arjun024 commented 5 months ago

Thanks for the PR. Do you have an official source for the dates? Per RFC 9, if the dates are not known/published, we leave them empty.

Ideally this metadata should be generated along with dependency retrieval from the source of the information here - see an example from ruby-mri here.

c0d1ngm0nk3y commented 5 months ago

Thanks for the PR. Do you have an official source for the dates? Per RFC 9, if the dates are not known/published, we leave them empty.

@modulo11 Could you provide the link? I kind of took your input without cross checking :)

c0d1ngm0nk3y commented 5 months ago

Do you have an official source for the dates?

https://devguide.python.org/versions/ https://endoflife.date/python

c0d1ngm0nk3y commented 5 months ago

@arjun024 Would getting the data from https://endoflife.date/docs/api be acceptable?

arjun024 commented 5 months ago

I can't find a trail of where endoflife.date sources their date from. If you can find it, that source is acceptable. Otherwise, you can use the devguide to source the dates in the retrieve program. The data seems to be coming from https://github.com/python/devguide/blob/main/include/release-cycle.json

pbusko commented 5 months ago

The endoflife.date uses the same data source under the hood. You can find the sources in https://raw.githubusercontent.com/endoflife-date/endoflife.date/master/products/python.md

auto:
  methods:
  -   git: https://github.com/python/cpython.git
      # The v is mandatory here because each branch EOL is tagged, e.g. https://github.com/python/cpython/releases/tag/3.6
      regex: ^v(?P<major>[1-9]\d*)\.(?P<minor>\d+)\.?(?P<patch>\d+)?$
  -   release_table: https://devguide.python.org/versions/
      selector: "table"
      fields:
        releaseCycle: "Branch"
        releaseDate: "First release"
        eol: "End of life"
c0d1ngm0nk3y commented 3 months ago

@paketo-buildpacks/python-maintainers Any updates on this? Rebasing is rather tedious...

arjun024 commented 3 months ago

@c0d1ngm0nk3y Code LGTM. Can you remove the metadata.json, which I believe you checked-in in error?

c0d1ngm0nk3y commented 3 months ago

Code LGTM. Can you remove the metadata.json, which I believe you checked-in in error?

Sorry for the delay. We forgot about that one. I removed the file.