-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Vendor webassets code #16
Conversation
Now we see how bad of a mess this build is in CI... expect at least one iteration |
f195652
to
0106c04
Compare
The motivation here is that whatever Poetry is doing to resolve dependencies is finding a dead docutils. I gave up on the tool, because I couldn't find a way to get the graph and find the source of the missing version. So, here we go.
0106c04
to
3e1c4b3
Compare
This is now running on my mac, so I'm optimistic :D
(also lint with ruff :D )
Aight, this is good to merge. It ... may have sprawled a bit, because I could not wrangle poetry into giving me the dependencies that made sense, so I revamped the pyproject.toml too. We should probably release this as 2.1 @justinmayer I still can't keep the release steps in my head; if you can do that, it'd be great (and maybe we should add them to the README for these various projects) |
Bring GitHub CI workflow in line with Cookiecutter plugin template.
Sorry, this one was a bit below my usual bar; I was distracted while I worked on it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Autopub-based release process involves including a RELEASE.md
file in the PR, as documented here: https://docs.getpelican.com/en/latest/contribute.html#using-git-and-github
I made a comment about a change that I think will be necessary in order for the aforementioned release process to work, due to the fact that (No longer relevant — see resolved follow-up comment below.)githubrelease
still has not published a release containing a needed fix.
Could you take a look at updating the Invoke tasks in tasks.py
to account for the switch from Poetry to uv
, Black/Flake8 to Ruff, etc.? The Cookiecutter plugin template is probably a good place to start: https://github.com/getpelican/cookiecutter-pelican-plugin/blob/main/%7B%7Bcookiecutter.repo_name%7D%7D/tasks.py
How do you feel about the tasks assuming |
- drop poetry from the tools - special-case installing uv - replace poetry instructions with uv instructions
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A couple of notes
Feel free to use the tooling that you feel most comfortable with. Having not had a lot of time/opportunity to experiment with Even when I tried to stop going against the grain, I found it hard to understand how to install and use project dependencies. Running As seen in the https://github.com/getpelican/cookiecutter-pelican-plugin template, I have been using PDM with all the other plugins, and I've been very pleased with how it behaves. (In the end, I gave up on my But I digress. As I mentioned before, feel free to use the tooling that makes the most sense to you. Perhaps someday the paths of |
Nah, I'm fine to settle on a consistent one. It's interesting; It's funny; our workflows are similar but with subtle differences; I've settled on justfiles and uv, instead of invoke and pdm, but the basic ideas are the same. Invoke isn't working out for me these days because it has to be in the virtualenv, which makes it non-ideal to set up the environment :D Edit: I realize that my response was wandering enough it might not have been clear: all things being equal, or equal-ish, I would rather match the template than go my own way on this. |
The
… and that behavior is consistent with my testing, in which the following warning is raised:
I agree that particular Invoke limitation makes it less-than-ideal when bootstrapping. Given the meandering path of Python packaging, I suppose we shouldn't be surprised to see so many tools with so much overlapping functionality and yet often quite different perspectives on how things should work. Software engineers are nothing if not opinionated! 😝 In any case, I agree that ecosystem consistency is often worth preserving. While the Pelican plugin template currently uses PDM, perhaps as |
@@ -11,6 +38,7 @@ documentation = "https://docs.getpelican.com" | |||
packages = [ | |||
{ include = "pelican" }, | |||
] | |||
requires-python = "~= 3.9" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Markdown requires python 3.9+, so I bumped this; I'll yank 3.8 out of CI
0821c72
to
248c080
Compare
And now I'm struggling to get pdm to install the dev dependencies: https://github.com/pelican-plugins/webassets/actions/runs/11647021032/job/32431789688?pr=16 😂 We can't win here :D |
b50e024
to
e4e849a
Compare
e4e849a
to
7e32761
Compare
Many thanks for all your work on this, Chris! It seems it wasn't as easy as one would have hoped. Really appreciate all your efforts! 💕 |
The webassets underlying code is showing signs of being abandoned. Per the discussion in miracle2k/webassets#553 with @justinmayer this PR vendors it into our plugin in the interim.