ci: store Clamav DB in LFS

Fix #136 (stop pulling the files from @griff's poor server), also add a script
to update the files.

The fun thing about this is that due to sourcing the files from
`https://gitlab.com/simple-nixos-mailserver/nixos-mailserver/raw/master/tests/clamav`
during the tests, updates to the `hashes.json` and `*.cvd` files will always
fail CI.  I guess this is a reasonable tradeoff as long as people are aware of
it.
This commit is contained in:
Ruben Maher 2018-08-18 13:41:48 +09:30
parent 817d84d36d
commit 9488b6fd43
11 changed files with 53 additions and 9 deletions

1
tests/clamav/.gitattributes vendored Normal file
View file

@ -0,0 +1 @@
*cvd filter=lfs diff=lfs merge=lfs -text

1
tests/clamav/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
mirrors.dat

BIN
tests/clamav/bytecode.cvd (Stored with Git LFS) Normal file

Binary file not shown.

BIN
tests/clamav/daily.cvd (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -0,0 +1 @@
DatabaseMirror database.clamav.net

5
tests/clamav/hashes.json Normal file
View file

@ -0,0 +1,5 @@
{
"bytecode.cvd": "a6800da4e3740b611e4f8a8e835be4a867abf8009af502e5bbf038d3ad162fa8",
"daily.cvd": "da96006e191412806bac1a2cef5d48ed0ec1b46efa150cf0aa6c27e734f4c4f8",
"main.cvd": "081884225087021e718599e8458ff6c9ee3cdebed8775dd8e445fc7b589d88a6"
}

BIN
tests/clamav/main.cvd (Stored with Git LFS) Normal file

Binary file not shown.

View file

@ -0,0 +1,15 @@
#!/bin/sh
set -e
cd "$(dirname "${0}")"
rm ./*.cvd hashes.json || :
freshclam --datadir=. --config-file=freshclam.conf
(for i in ./*.cvd;
do echo '{}' |
jq --arg path "$(basename "${i}")" \
--arg sha256sum "$(sha256sum "${i}" | awk '{ print $1; }')" \
'.[$path] = $sha256sum'; done) |
jq -s add > hashes.json