... | ... | @@ -153,6 +153,34 @@ that we need to do some more configuration of Docker, see [upstream |
|
|
issue 6644](https://gitlab.com/gitlab-org/gitlab-runner/-/issues/6644), although it's unclear why this problem is happening
|
|
|
right now. Still to be more fully investigated, see [tpo/tpa/gitlab#93](https://gitlab.torproject.org/tpo/tpa/gitlab/-/issues/93).
|
|
|
|
|
|
### "unadvertised object" error
|
|
|
|
|
|
If a project's pipeline fails to clone submodules with this error:
|
|
|
|
|
|
```
|
|
|
Updating/initializing submodules recursively with git depth set to 1...
|
|
|
Submodule 'lego' (https://git.torproject.org/project/web/lego.git) registered for path 'lego'
|
|
|
Cloning into '/builds/tpo/web/tpo/lego'...
|
|
|
error: Server does not allow request for unadvertised object 0d9efebbaec064730fba8438dda2d666585247a0
|
|
|
Fetched in submodule path 'lego', but it did not contain 0d9efebbaec064730fba8438dda2d666585247a0. Direct fetching of that commit failed.
|
|
|
```
|
|
|
|
|
|
that is because the depth configuration is too shallow. In the above,
|
|
|
we see:
|
|
|
|
|
|
```
|
|
|
Updating/initializing submodules recursively with git depth set to 1...
|
|
|
```
|
|
|
|
|
|
In this case, the submodule is being cloned with only the latest
|
|
|
commit attached. If the project refers to a previous version of that
|
|
|
submodule, this will fail.
|
|
|
|
|
|
To fix this, change the `Git shallow clone` value to a higher one. The
|
|
|
default is 50, but you can set it to zero or empty to disable shallow
|
|
|
clones. See also "[Limit the number of changes fetched during
|
|
|
clone](https://gitlab.torproject.org/help/ci/pipelines/settings#limit-the-number-of-changes-fetched-during-clone)" in the upstream documentation.
|
|
|
|
|
|
## Disaster recovery
|
|
|
|
|
|
Runners should be disposable: if a runner is destroyed, at most the
|
... | ... | |