-
Notifications
You must be signed in to change notification settings - Fork 21
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
TagBot is unable to release multiple versions in one job run #304
Comments
i think i'm seeing the same issue |
I'm not at all familiar with the code here, but it looks like TagBot does try to release all the possible versions it can find: TagBot/tagbot/action/__main__.py Lines 92 to 96 in d15ddfa
In the included stacktrace I see
Googling that leads me to docker/docker-py#3113, and I think we are using docker-py. From the last comment docker/docker-py#3113 (comment), maybe we just need to update our dependencies? |
I'm getting the same error. |
https://github.com/nicolasloizeau/PauliStrings.jl/actions/runs/12562866366/job/35023914494 might be the same issue, creating a release from a lookback (but not multiple releases) Stacktrace/usr/bin/docker run --name ghcriojuliaregistriestagbot1200_32fa7b --label fcd4ce --workdir /github/workspace --rm -e "INPUT_TOKEN" -e "INPUT_SSH" -e "INPUT_REGISTRY" -e "INPUT_GITHUB" -e "INPUT_GITHUB_API" -e "INPUT_BRANCHES" -e "INPUT_DISPATCH" -e "INPUT_DISPATCH_DELAY" -e "INPUT_LOOKBACK" -e "INPUT_SSH_PASSWORD" -e "INPUT_GPG" -e "INPUT_GPG_PASSWORD" -e "INPUT_REGISTRY_SSH" -e "INPUT_DRAFT" -e "INPUT_USER" -e "INPUT_EMAIL" -e "INPUT_BRANCH" -e "INPUT_SUBDIR" -e "INPUT_TAG_PREFIX" -e "INPUT_CHANGELOG" -e "INPUT_CHANGELOG_IGNORE" -e "HOME" -e "GITHUB_JOB" -e "GITHUB_REF" -e "GITHUB_SHA" -e "GITHUB_REPOSITORY" -e "GITHUB_REPOSITORY_OWNER" -e "GITHUB_REPOSITORY_OWNER_ID" -e "GITHUB_RUN_ID" -e "GITHUB_RUN_NUMBER" -e "GITHUB_RETENTION_DAYS" -e "GITHUB_RUN_ATTEMPT" -e "GITHUB_REPOSITORY_ID" -e "GITHUB_ACTOR_ID" -e "GITHUB_ACTOR" -e "GITHUB_TRIGGERING_ACTOR" -e "GITHUB_WORKFLOW" -e "GITHUB_HEAD_REF" -e "GITHUB_BASE_REF" -e "GITHUB_EVENT_NAME" -e "GITHUB_SERVER_URL" -e "GITHUB_API_URL" -e "GITHUB_GRAPHQL_URL" -e "GITHUB_REF_NAME" -e "GITHUB_REF_PROTECTED" -e "GITHUB_REF_TYPE" -e "GITHUB_WORKFLOW_REF" -e "GITHUB_WORKFLOW_SHA" -e "GITHUB_WORKSPACE" -e "GITHUB_ACTION" -e "GITHUB_EVENT_PATH" -e "GITHUB_ACTION_REPOSITORY" -e "GITHUB_ACTION_REF" -e "GITHUB_PATH" -e "GITHUB_ENV" -e "GITHUB_STEP_SUMMARY" -e "GITHUB_STATE" -e "GITHUB_OUTPUT" -e "RUNNER_OS" -e "RUNNER_ARCH" -e "RUNNER_NAME" -e "RUNNER_ENVIRONMENT" -e "RUNNER_TOOL_CACHE" -e "RUNNER_TEMP" -e "RUNNER_WORKSPACE" -e "ACTIONS_RUNTIME_URL" -e "ACTIONS_RUNTIME_TOKEN" -e "ACTIONS_CACHE_URL" -e "ACTIONS_RESULTS_URL" -e GITHUB_ACTIONS=true -e CI=true -v "/var/run/docker.sock":"/var/run/docker.sock" -v "/home/runner/work/_temp/_github_home":"/github/home" -v "/home/runner/work/_temp/_github_workflow":"/github/workflow" -v "/home/runner/work/_temp/_runner_file_commands":"/github/file_commands" -v "/home/runner/work/PauliStrings.jl/PauliStrings.jl":"/github/workspace" ghcr.io/juliaregistries/tagbot:1.20.0
Processing version v1.3.0 (5979b4dc4400a2bd77706213ab857dc0235e1d7f)
Generating changelog for version v1.3.0 (5979b4dc4400a2bd77706213ab857dc0235e1d7f)
Creating release v1.3.0 at 5979b4dc4400a2bd77706213ab857dc0235e1d7f
Request POST /repos/nicolasloizeau/PauliStrings.jl/releases failed with 403: Forbidden
HTTPHeaderDict({'Date': 'Tue, 31 Dec 2024 18:37:58 GMT', 'Content-Type': 'application/json; charset=utf-8', 'X-GitHub-Media-Type': 'github.v3; format=json', 'x-accepted-github-permissions': 'contents=write; contents=write,workflows=write', 'x-github-api-version-selected': '2022-11-28', 'X-RateLimit-Limit': '[50](https://github.com/nicolasloizeau/PauliStrings.jl/actions/runs/12562866366/job/35023914494#step:3:51)00', 'X-RateLimit-Remaining': '4970', 'X-RateLimit-Reset': '1735673867', 'X-RateLimit-Used': '30', 'X-RateLimit-Resource': 'core', 'Access-Control-Expose-Headers': 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset', 'Access-Control-Allow-Origin': '*', 'Strict-Transport-Security': 'max-age=31[53](https://github.com/nicolasloizeau/PauliStrings.jl/actions/runs/12562866366/job/35023914494#step:3:54)6000; includeSubdomains; preload', 'X-Frame-Options': 'deny', 'X-Content-Type-Options': 'nosniff', 'X-XSS-Protection': '0', 'Referrer-Policy': 'origin-when-cross-origin, strict-origin-when-cross-origin', 'Content-Security-Policy': "default-src 'none'", 'Vary': 'Accept-Encoding, Accept, X-Requested-With', 'Content-Encoding': 'gzip', 'Transfer-Encoding': 'chunked', 'X-GitHub-Request-Id': '1C40:2376D2:181A837A:301232F7:67743A05', 'Server': 'github.com'})
Error: GitHub returned a 403 permissions-related error.
Please check that your ssh key and TagBot permissions are up to date
https://github.com/JuliaRegistries/TagBot#setup
Traceback (most recent call last):
File "/root/tagbot/action/__main__.py", line 96, in <module>
repo.create_release(version, sha)
File "/root/tagbot/action/repo.py", line 608, in create_release
self._repo.create_git_release(
File "/usr/local/lib/python3.12/site-packages/github/Repository.py", line 1342, in create_git_release
headers, data = self._requester.requestJsonAndCheck("POST", f"{self.url}/releases", input=post_parameters)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/github/Requester.py", line 550, in requestJsonAndCheck
return self.__check(*self.requestJson(verb, url, parameters, headers, input, self.__customConnection(url)))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/github/Requester.py", line 715, in requestJson
return self.__requestEncode(cnx, verb, url, parameters, headers, input, encode)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/github/Requester.py", line 812, in __requestEncode
status, responseHeaders, output = self.__requestRaw(cnx, verb, url, requestHeaders, encoded_input)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/github/Requester.py", line 846, in __requestRaw
response = cnx.getresponse()
^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/github/Requester.py", line 198, in getresponse
r = verb(
^^^^^
File "/usr/local/lib/python3.12/site-packages/requests/sessions.py", line 637, in post
return self.request("POST", url, data=data, json=json, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/requests/sessions.py", line 589, in request
resp = self.send(prep, **send_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/requests/sessions.py", line 703, in send
r = adapter.send(request, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/requests/adapters.py", line 667, in send
resp = conn.urlopen(
^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/urllib3/connectionpool.py", line 934, in urlopen
retries = retries.increment(method, url, response=response, _pool=self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/github/GithubRetry.py", line 187, in increment
raise Requester.createException(response.status, response.headers, content) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
github.GithubException.GithubException: 403 {"message": "Resource not accessible by integration", "documentation_url": "https://docs.github.com/rest/releases/releases#create-a-release", "status": "403"}
Response (502): {
Traceback (most recent call last):
File "/root/tagbot/action/__main__.py", line 96, in <module>
"message": "Internal server error"
}
repo.create_release(version, sha)
File "/root/tagbot/action/repo.py", line 608, in create_release
self._repo.create_git_release(
File "/usr/local/lib/python3.12/site-packages/github/Repository.py", line 1342, in create_git_release
headers, data = self._requester.requestJsonAndCheck("POST", f"{self.url}/releases", input=post_parameters)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/github/Requester.py", line [55](https://github.com/nicolasloizeau/PauliStrings.jl/actions/runs/12562866366/job/35023914494#step:3:56)0, in requestJsonAndCheck
return self.__check(*self.requestJson(verb, url, parameters, headers, input, self.__customConnection(url)))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/github/Requester.py", line 715, in requestJson
return self.__requestEncode(cnx, verb, url, parameters, headers, input, encode)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/github/Requester.py", line 812, in __requestEncode
status, responseHeaders, output = self.__requestRaw(cnx, verb, url, requestHeaders, encoded_input)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/github/Requester.py", line 846, in __requestRaw
response = cnx.getresponse()
^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/github/Requester.py", line 198, in getresponse
r = verb(
^^^^^
File "/usr/local/lib/python3.12/site-packages/requests/sessions.py", line 637, in post
return self.request("POST", url, data=data, json=json, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/requests/sessions.py", line [58](https://github.com/nicolasloizeau/PauliStrings.jl/actions/runs/12562866366/job/35023914494#step:3:59)9, in request
resp = self.send(prep, **send_kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/requests/sessions.py", line 703, in send
r = adapter.send(request, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/requests/adapters.py", line 667, in send
resp = conn.urlopen(
^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/urllib3/connectionpool.py", line 934, in urlopen
retries = retries.increment(method, url, response=response, _pool=self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/github/GithubRetry.py", line 187, in increment
raise Requester.createException(response.status, response.headers, content) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
github.GithubException.GithubException: 403 {"message": "Resource not accessible by integration", "documentation_url": "https://docs.github.com/rest/releases/releases#create-a-release", "status": "403"}
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "/root/tagbot/action/__main__.py", line 99, in <module>
repo.handle_error(e)
File "/root/tagbot/action/repo.py", line [64](https://github.com/nicolasloizeau/PauliStrings.jl/actions/runs/12562866366/job/35023914494#step:3:65)6, in handle_error
raise Abort("Cannot continue due to internal failure")
tagbot.action.Abort: Cannot continue due to internal failure |
TagBot seems to be unable to create GitHub releases when there are multiple releases that need to be made.
Noticed in SciMLSensitivity.
SciMLSensitivity's TagBot setup was broken for a while, due to which a few git tags were not automatically created, and the subsequent GitHub Releases were not published.
Running the TagBot workflow, with a
lookback
from (approximately) the last time a GitHub release was made1, throws an error while trying to create the GitHub release. The corresponding git tag, however, gets created.Error stacktrace
However, triggering the same workflow, with the
lookback
adjusted to include only the latest releasev7.52.0
, runs successfully2, with the tag and release being created as expected.Footnotes
https://github.com/SciML/SciMLSensitivity.jl/actions/runs/7568969251/job/20611271359#step:3:47 ↩
https://github.com/SciML/SciMLSensitivity.jl/actions/runs/7568953034/job/20611326603#step:3:43 ↩
The text was updated successfully, but these errors were encountered: