-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Don't do shallow clones if upstream does not support this #1678
base: master
Are you sure you want to change the base?
Conversation
Since we changes our cloning strategy to do shallow clones only, all CI builds broke because the upstream servers don't allow us to clone specific commits. The error reads like this: error: Server does not allow request for unadvertised object beb2cdbcda911764b2bed5e57921fe90493260bd fatal: Fetched in submodule path 'binutils', but it did not contain beb2cdbcda911764b2bed5e57921fe90493260bd. Direct fetching of that commit failed. What we could do is to search for our target commit in remote branches, fetch those and then checkout our target commit. See also the following comment for an idea how this could be realized: https://github.com/riscv-collab/riscv-gnu-toolchain/ issues/1654#issuecomment-2591195261 However, it feels wrong to do add such scripts downstream. We need to find a better solution. But unless we have one, let's just disable shallow clones to unbreak the CI builds. Signed-off-by: Christoph Müllner <[email protected]>
What I still don't know is:
|
Doesn't @mickflemm explain the issue clearly here? |
Most GNU toolchain are hosted in |
Sorry, I should have tagged the PR with RFC. So, the only path forward seems indeed to be a downstream clone script (with inspiration from #1616 and #1654 (comment)). Volunteers are welcome! |
Since we changes our cloning strategy to do shallow clones only, all CI builds broke because the upstream servers don't allow us to clone specific commits. The error reads like this:
See also: https://github.com/riscv-collab/riscv-gnu-toolchain/actions/runs/13434377368/job/37533209677?pr=1677
What we could do is to search for our target commit in remote branches, fetch those and then checkout our target commit. See also the following comment for an idea how this could be realized:
#1654 (comment)
However, it feels wrong to do add such scripts downstream. We need to find a better solution. But unless we have one, let's just disable shallow clones to unbreak the CI builds.