summaryrefslogtreecommitdiffstats
path: root/test/travis-upload-artifacts.sh
blob: 6f96b118a8e28e1172c9a7e7d520d138b3ced3b9 (plain)
1
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
#!/bin/bash
# Publishes artifacts from a Travis CI build.
#
# Copyright (C) 2019 Peter Wu <peter@lekensteyn.nl>
# SPDX-License-Identifier: GPL-2.0-or-later
#
# Currently it dumps a base64-encoded xz-compressed tarball as Travis CI
# does not have a nice way to publish artifacts (like Gitlab does).
#

shopt -s nullglob
files=(*screenshot.png)

if [ ${#files[@]} -eq 0 ]; then
    echo "No artifacts found"
    exit
fi

output=travis.tar.xz
tar -cJvf "$output" "${files[@]}"

# Print some details for an integrity check.
ls -l "$output"
openssl dgst -sha256 "$output"

# Upload to other services just in case the log output is corrupted.
curl -F 'f:1=<-' ix.io < "$output"

# Dump the contents to the log (note: Travis has a 4MiB limit)
cat <<EOF
base64 -d > $output <<ARTIFACTS_BASE64
$(base64 < "$output" | tr -d '\n' | fold -w200)
ARTIFACTS_BASE64
EOF