5eca8feda9
The prepare_workspace_sync_required_projects_only variable allows users to define which projects to sync to the node. This can prevent syncing of unnecessary repositories. For some builds e.g. the depends-on repositories dont need to be synced. The projects are filtered based on the 'required' flag present in each zuul.project entry and the required projects list also does not contain projects which are present due to Depends-On or gate queue sequencing. Having unnecessary repos in the workspace can for example also break the analysis phase of bazel. Change-Id: I3cc36cbfc60c81956caf5137da63973aeade4e21 Co-Authored-By: James E. Blair <jim@acmegating.com> Co-Authored-By: Bernhard Berg <bernhard.berg@bearingpoint.com>
36 lines
1.1 KiB
ReStructuredText
36 lines
1.1 KiB
ReStructuredText
Mirror the local git repos to remote nodes
|
|
|
|
This role uses git operations (unlike :zuul:role:`prepare-workspace`
|
|
which uses rsync) to mirror the locally prepared git repos to the remote
|
|
nodes while taking advantage of cached repos on the node if they exist.
|
|
This role works generically regardless of the existence of a cached
|
|
repo on the node.
|
|
|
|
The cached repos need to be placed using the canonical name under the
|
|
`cached_repos_root` directory.
|
|
|
|
**Role Variables**
|
|
|
|
.. zuul:rolevar:: cached_repos_root
|
|
:default: /opt/git
|
|
|
|
The root of the cached repos.
|
|
|
|
.. zuul:rolevar:: prepare_workspace_sync_required_projects_only
|
|
:type: bool
|
|
:default: False
|
|
|
|
A flag which if set to true, filters the to be synchronized project
|
|
list to only use projects which are required by the job.
|
|
|
|
.. zuul:rolevar:: mirror_workspace_quiet
|
|
:default: false
|
|
|
|
If `true` git operations will be silenced and won't print every
|
|
changed reference.
|
|
|
|
.. zuul:rolevar:: zuul_workspace_root
|
|
:default: "{{ ansible_user_dir }}"
|
|
|
|
The root of the workspace in which the repos are mirrored.
|