Puppet Class: profile::ci::gitcache
- Defined in:
- modules/profile/manifests/ci/gitcache.pp
Overview
SPDX-License-Identifier: Apache-2.0
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'modules/profile/manifests/ci/gitcache.pp', line 2
class profile::ci::gitcache {
file { '/srv/git':
ensure => directory,
}
$repos = [
'operations/puppet',
'mediawiki/core',
'mediawiki/vendor',
'mediawiki/extensions/AbuseFilter',
'mediawiki/extensions/Cite',
'mediawiki/extensions/cldr',
'mediawiki/extensions/Echo',
'mediawiki/extensions/EventLogging',
'mediawiki/extensions/GrowthExperiments',
'mediawiki/extensions/MobileFrontend',
'mediawiki/extensions/Scribunto',
'mediawiki/extensions/TemplateData',
'mediawiki/extensions/Translate',
'mediawiki/extensions/UniversalLanguageSelector',
'mediawiki/extensions/VisualEditor',
'mediawiki/extensions/Wikibase',
'mediawiki/skins/MinervaNeue',
'mediawiki/skins/Vector',
]
$repos.each |$repo| {
$repo_dir = "/srv/git/${repo}.git"
ensure_resource('file', $repo_dir.dirname, { 'ensure' => 'directory' })
ensure_resource('git::clone', $repo, {
'directory' => $repo_dir,
'bare' => true,
}
)
}
$minute = fqdn_rand(60)
systemd::timer::job { 'ci-gitcache-refresh':
ensure => present,
description => 'Regular job to update the CI git cache',
user => 'root',
command => '/usr/bin/find /srv/git -type d -name \'*.git\' -exec git -C {} fetch origin --prune --prune-tags --force \;',
interval => {'start' => 'OnCalendar', 'interval' => "*-*-* 3:${minute}:00"},
}
}
|