aboutgitcodebugslistschat
path: root/hooks/pre-push
blob: fb86c0bb495e4ae60a3b8c0915f54fe8c7f3bcf3 (plain) (blame)
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#!/bin/sh -e
#
# SPDX-License-Identifier: AGPL-3.0-or-later
#
# PASST - Plug A Simple Socket Transport
#  for qemu/UNIX domain socket mode
#
# PASTA - Pack A Subtle Tap Abstraction
#  for network namespace/tap device mode
#
# hooks/pre-push - Run CI. On success, run demos, build, and copy all contents
#
# Copyright (c) 2021 Red Hat GmbH
# Author: Stefano Brivio <sbrivio@redhat.com>
#
# cp hooks/pre-push .git/hooks/pre-push

USER_HOST="passt.top"
BASE="/var/www/passt"

BUILDS="${BASE}/builds"
LATEST="${BUILDS}/latest"
TEMP="${BUILDS}/temp"

WEB="${LATEST}/web"
TEST="${LATEST}/test"

ARCH="$(uname -m)"
BIN="${LATEST}/${ARCH}"

ssh "${USER_HOST}" 				"mkdir -p ${WEB} ${TEST} ${BIN}"
ssh "${USER_HOST}"				"cp -a ${LATEST} ${TEMP}"

cd test

./ci
scp ci.webm perf.js ci.js ../doc/*.png		"${USER_HOST}:${WEB}/"
scp test_logs/* 				"${USER_HOST}:${TEST}/"

./run_demo
scp demo_passt.webm demo_pasta.webm		"${USER_HOST}:${WEB}/"

cd ..

make static
scp passt pasta qrap passt.1 pasta.1 qrap.1	"${USER_HOST}:${BIN}"

make pkgs
ssh "${USER_HOST}" 				"rm -f ${BIN}/*.deb"
ssh "${USER_HOST}"				"rm -f ${BIN}/*.rpm"
scp *.deb *.rpm					"${USER_HOST}:${BIN}/"

CFLAGS="-static" make avx2
ssh "${USER_HOST}"				"mkdir -p ${BIN}/avx2"
scp passt pasta qrap passt.1 pasta.1 qrap.1	"${USER_HOST}:${BIN}/avx2/"

make pkgs
ssh "${USER_HOST}"				"rm -f ${BIN}/avx2/*.deb"
ssh "${USER_HOST}"				"rm -f ${BIN}/avx2/*.rpm"
scp *.deb *.rpm					"${USER_HOST}:${BIN}/avx2/"

# Legacy, for KubeVirt tests
CFLAGS="-DPASST_LEGACY_NO_OPTIONS -static" make avx2
scp passt qrap					"${USER_HOST}:${BUILDS}/static/"