pkgown job triggered by a release causes subsequent job (updating the dev site) to be skipped
Opened this issue · 3 comments
I've been noticing this for a while and have the habit of waiting for the pkgdown job triggered by usethis::use_github_release() to finish, before I allow myself to execute usethis::use_dev_version(push = TRUE). But it would be nice to just power through this checklist without worrying about it.
What is the problem? If you do those 2 actions in quick succession, the two pkgdown jobs fall into the same concurrency group. This means you get your new released pkgdown site 🎉 but you don't get your new dev pkgdown site 😢. Because the second job gets skipped. Here's a screenshot of the sequence from today's googlesheets4 release:
In order to make this point, I deliberately didn't wait, saw the 2nd build & deploy get skipped, then used the manual trigger once the release build was done.
I know the stakes are semi-low:
- How many people really go to the dev sites?
- The dev site will update on the next push to
main. But if you aren't actively working on a package, this might not happen for a while.
And it just seems weird for the dev site version number to be lower than the released version.
I chatted with co-pilot about this and will make a PR for discussion.
TL;DR it's very hard/fiddly to fix this, although not necessarily impossible. I'm happy for this issue to be closed since we have no immediate plans to fix. Or we can leave it open as concrete documentation of the problem. The discussion in #1019 presents the whole problem.
Are there changes on the pkgdown side that could help? Thinking especially about the version selector discussion here:
And an implementation of this that is already in the wild (see version selector at top left), and might eventually be incorporated in pkgdown:
@jayhesselberth That issue and those workflows do not discuss or deal with concurrency, how do they help?
In any case, I don't think this can be fixed in pkgdown.
AFAICT our two choices are
- some makeshift solution like: https://github.com/r-lib/turnstyle This is not terrible for open source repos, but it is definitely not great for people paying for actions, because they'll be paying for workflow runs "waiting in the queue".
- wait until GH implements this: https://github.com/orgs/community/discussions/12835