w3c / spec-prod

GitHub Action to build ReSpec/Bikeshed specs, validate output and publish to GitHub pages or W3C
https://w3c.github.io/spec-prod/
MIT License
34 stars 21 forks source link

Warn when Bikeshed is invoked with a Python < 3.9? #191

Open tabatkins opened 2 weeks ago

tabatkins commented 2 weeks ago

Several months back I bumped Bikeshed's minimum Python version to 3.9. This means that if you install from pip with an older Python, you'll get the last version that advertised support for Python 3.7, which is already old and getting older.

I didn't realize that I needed to do something about this at the time (had I known, I would have published a final update before the bump that caused it to die with a deprecation message), and I'm not sure how to fix it now, but spec-prod might be able to intercept the problem.

Could y'all detect when the running Python is less than 3.9, and if Bikeshed is used, die with an error asking to upgrade to an OS distro that supports Python 3.9? That would make people's build failures a lot less confusing. I think a change I pushed on Monday, to change the datafile manifest file format, will make all spec-prod usage on <3.9 fail with a confusing message now (see https://github.com/WICG/shared-storage/actions/runs/11693566639/job/32565381014 for an example).

sidvishnoi commented 1 day ago

https://github.com/w3c/spec-prod/issues/99 will help. Someday I'll get enough time and energy!

tabatkins commented 19 hours ago

Also, I realized I could go back to the last 3.7-supporting commit, change the error message, and publish a new version (with a semver just after the previous 3.7-supporting version, but less than the first 3.9 version), so I did that yesterday. Hopefully that helps too; it should die with a more useful message now.