Use separate jobs instead of child_process - #881
Conversation
3a405c3 to
66976d2
Compare
66976d2 to
7420c17
Compare
|
hi @amvanbaren, do you know why this is failed https://github.com/EclipseFdn/publish-extensions/actions/runs/15301776884/job/43043958569?pr=881 |
|
The reporting functionality is broken: publish-extensions/.github/workflows/publish-extensions.yml Lines 50 to 77 in 7420c17 There's a check for important extensions: https://github.com/EclipseFdn/publish-extensions/blob/f7cfb5c517bbf53d772704383db8b22b4cb895aa/report-extensions.ts#L226C1-L232C2 Because the reporting functionality is broken every extension is seen as outdated and the Validate PR job fails. |
filiptronicek
left a comment
There was a problem hiding this comment.
In general, I'm aligned and happy with this approach --> we never really did publishing outside of GitHub Actions anyway.
I'm curious about:
- How does our local testing story look like? I used to run
node publish-extension.jswith a list of extensions when debugging build issues with certain extensions - How can we test the PR before landing it? If it's not worth the effort to do here, I'm also fine with merging it and testing then
- Do we have an idea on how this will affect timing? I know there's some concurrency limits for GHA workflows, so given there's > 400 extensions, I worry the publishing times might get lengthy.
| const publishContext = JSON.parse(process.env.PUBLISH_CONTEXT); | ||
| publishContext.msLastUpdated = new Date(publishContext.msLastUpdated); | ||
| publishContext.ovsxLastUpdated = new Date(publishContext.ovsxLastUpdated); | ||
| await resolveExtension( |
There was a problem hiding this comment.
Does resolveExtension have a side effect we need here or can we safely remove it?
There was a problem hiding this comment.
Yes, it downloads extension files to /tmp/download/
There was a problem hiding this comment.
Can you please run npm run format here?
Yes, it's going to be lengthy and create a lot of jobs: from https://github.com/amvanbaren/publish-extensions/actions?page=2 to https://github.com/amvanbaren/publish-extensions/actions?page=18 for a single run. |
|
@amvanbaren do you think we could potentially hit this limitation GitHub has? As I mentioned, we have about 420 extension as of now, so maybe we wouldn't hit it today.
I guess when we do hit it, we can just add some rate limiting on our side to wait like 0.05 seconds between each trigger |
I've added
I've added a rate limiter |
|
@filiptronicek Can we move this forward? |
filiptronicek
left a comment
There was a problem hiding this comment.
LGTM. Sorry for the holdup, but let's finally give this a shot
|
Running for the first time: https://github.com/EclipseFdn/publish-extensions/actions/runs/15843713746 |
@amvanbaren could you take a look? |
|
@filiptronicek Can you take a look at #903? It fixes the workflow ref. |
This PR introduces the use of separate jobs instead of child_process to sandbox the extension build process.