snapshot of https://github.com/zulip/zulip.git @ 48c69911c7dd4e03b20552eb3bd77ad8151c1357 (2026-09-15)
Some checks failed
Code scanning / CodeQL (push) Failing after 15s
Zulip production suite / Ubuntu 22.04 production build (push) Failing after 26s
Zulip production suite / Debian 12 production install with custom db name and user (push) Has been skipped
Zulip production suite / Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga (push) Has been skipped
Zulip production suite / Ubuntu 24.04 production install (push) Has been skipped
Zulip production suite / Ubuntu 26.04 production install (push) Has been skipped
Zulip production suite / Debian 13 production install (push) Has been skipped
Zulip production suite / 7.0 Version Upgrade (push) Has been skipped
Zulip production suite / 8.0 Version Upgrade (push) Has been skipped
Zulip production suite / 6.0 Version Upgrade (push) Has been skipped
Zulip production suite / 10.0 Version Upgrade (push) Has been skipped
Zulip production suite / 9.0 Version Upgrade (push) Has been skipped
Zulip production suite / 12.0 Version Upgrade (push) Has been skipped
Zulip production suite / 11.0 Version Upgrade (push) Has been skipped
GitHub Actions Security Analysis with zizmor / zizmor (push) Failing after 3s
Zulip CI / Debian 12 (Python 3.11, backend + documentation) (push) Failing after 26s
Zulip CI / Ubuntu 22.04 (Python 3.10, backend + frontend) (push) Failing after 3s
Zulip CI / Ubuntu 24.04 (Python 3.12, backend) (push) Failing after 25s
Zulip CI / Ubuntu 26.04 (Python 3.14, backend) (push) Failing after 25s
Zulip CI / Debian 13 (Python 3.13, backend) (push) Failing after 28s
Zulip production suite / Required jobs (push) Has been cancelled
Zulip CI / Required jobs (push) Has been cancelled
API Documentation Update Check / check-feature-level-updated (push) Has been cancelled
API Documentation Update Check / notify-if-api-docs-changed (push) Has been cancelled
Some checks failed
Code scanning / CodeQL (push) Failing after 15s
Zulip production suite / Ubuntu 22.04 production build (push) Failing after 26s
Zulip production suite / Debian 12 production install with custom db name and user (push) Has been skipped
Zulip production suite / Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga (push) Has been skipped
Zulip production suite / Ubuntu 24.04 production install (push) Has been skipped
Zulip production suite / Ubuntu 26.04 production install (push) Has been skipped
Zulip production suite / Debian 13 production install (push) Has been skipped
Zulip production suite / 7.0 Version Upgrade (push) Has been skipped
Zulip production suite / 8.0 Version Upgrade (push) Has been skipped
Zulip production suite / 6.0 Version Upgrade (push) Has been skipped
Zulip production suite / 10.0 Version Upgrade (push) Has been skipped
Zulip production suite / 9.0 Version Upgrade (push) Has been skipped
Zulip production suite / 12.0 Version Upgrade (push) Has been skipped
Zulip production suite / 11.0 Version Upgrade (push) Has been skipped
GitHub Actions Security Analysis with zizmor / zizmor (push) Failing after 3s
Zulip CI / Debian 12 (Python 3.11, backend + documentation) (push) Failing after 26s
Zulip CI / Ubuntu 22.04 (Python 3.10, backend + frontend) (push) Failing after 3s
Zulip CI / Ubuntu 24.04 (Python 3.12, backend) (push) Failing after 25s
Zulip CI / Ubuntu 26.04 (Python 3.14, backend) (push) Failing after 25s
Zulip CI / Debian 13 (Python 3.13, backend) (push) Failing after 28s
Zulip production suite / Required jobs (push) Has been cancelled
Zulip CI / Required jobs (push) Has been cancelled
API Documentation Update Check / check-feature-level-updated (push) Has been cancelled
API Documentation Update Check / notify-if-api-docs-changed (push) Has been cancelled
This commit is contained in:
69
puppet/zulip/manifests/external_dep.pp
Normal file
69
puppet/zulip/manifests/external_dep.pp
Normal file
@@ -0,0 +1,69 @@
|
||||
define zulip::external_dep(
|
||||
String $version,
|
||||
String $url,
|
||||
String $tarball_prefix = '',
|
||||
String $sha256 = '',
|
||||
String $mode = '0755',
|
||||
Array[String] $bin = [],
|
||||
Array[Type[Resource]] $cleanup_after = [],
|
||||
) {
|
||||
$arch = $facts['os']['architecture']
|
||||
if $sha256 == '' {
|
||||
if $zulip::common::versions[$title]['sha256'] =~ Hash {
|
||||
$sha256_filled = $zulip::common::versions[$title]['sha256'][$arch]
|
||||
if $sha256_filled == undef {
|
||||
err("No sha256 found for ${title} for architecture ${arch}")
|
||||
fail()
|
||||
}
|
||||
} else {
|
||||
# For things like source code which are arch-invariant
|
||||
$sha256_filled = $zulip::common::versions[$title]['sha256']
|
||||
}
|
||||
} else {
|
||||
$sha256_filled = $sha256
|
||||
}
|
||||
|
||||
$path = "/srv/zulip-${title}-${version}"
|
||||
|
||||
if $tarball_prefix == '' {
|
||||
zulip::sha256_file_to { $title:
|
||||
url => $url,
|
||||
sha256 => $sha256_filled,
|
||||
install_to => $path,
|
||||
notify => Exec["Cleanup ${title}"],
|
||||
}
|
||||
file { $path:
|
||||
ensure => file,
|
||||
require => Zulip::Sha256_File_To[$title],
|
||||
before => Exec["Cleanup ${title}"],
|
||||
mode => $mode,
|
||||
}
|
||||
} else {
|
||||
zulip::sha256_tarball_to { $title:
|
||||
url => $url,
|
||||
sha256 => $sha256_filled,
|
||||
install_from => $tarball_prefix,
|
||||
install_to => $path,
|
||||
notify => Exec["Cleanup ${title}"],
|
||||
}
|
||||
file { $path:
|
||||
ensure => present,
|
||||
require => Zulip::Sha256_Tarball_To[$title],
|
||||
before => Exec["Cleanup ${title}"],
|
||||
}
|
||||
file { $bin:
|
||||
ensure => file,
|
||||
require => [File[$path], Zulip::Sha256_Tarball_To[$title]],
|
||||
before => Exec["Cleanup ${title}"],
|
||||
mode => $mode,
|
||||
}
|
||||
}
|
||||
|
||||
exec { "Cleanup ${title}":
|
||||
refreshonly => true,
|
||||
provider => shell,
|
||||
onlyif => "ls -d /srv/zulip-${title}-* | grep -xv '${path}'",
|
||||
command => "ls -d /srv/zulip-${title}-* | grep -xv '${path}' | xargs rm -r",
|
||||
require => $cleanup_after,
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user