Description:
The label addition is not atomic and there is a small time window after opening a PR where the action will unexpectedly remove user-added labels. Example from here:
I guess the API flow is like this:
- Labeler does a
GET labels request
- User changes labels (which invalidates the labels seen in the GET)
- Labeler does a
PUT labels request with previously seen labels, reverting the user's changes
Action version:
v5
Platform:
Runner type:
Repro steps:
- Have a simple labeler action with this config
- Open a PR
- Immediatly set some labels on the PR
- If the timing is right, the labeler will unexpectedly remove the user-added labels
Expected behavior:
The action should atomically update the labels or at least never removing labels it does not have in its config.
Actual behavior:
The action will remove user-set labels when set within a certain time window.
Description:
The label addition is not atomic and there is a small time window after opening a PR where the action will unexpectedly remove user-added labels. Example from here:
I guess the API flow is like this:
GET labelsrequestPUT labelsrequest with previously seen labels, reverting the user's changesAction version:
v5Platform:
Runner type:
Repro steps:
Expected behavior:
The action should atomically update the labels or at least never removing labels it does not have in its config.
Actual behavior:
The action will remove user-set labels when set within a certain time window.