blob: 924d5f7583292a22ccc7cb8f185220189ab3a444 [file] [log] [blame]
Harald Welte105c1dc2018-06-29 21:35:28 +02001#!/bin/bash
2
Harald Weltecb6e2052018-06-29 22:16:35 +02003TOPDIR=`pwd`
4
5if ! [ -x "$(command -v osmo-build-dep.sh)" ]; then
6 echo "Error: We need to have scripts/osmo-deps.sh from http://git.osmocom.org/osmo-ci/ in PATH !"
7 exit 2
8fi
9
Harald Welte105c1dc2018-06-29 21:35:28 +020010set -e
11
Kévin Redon37e78612018-08-07 11:22:24 +020012publish="$1"
Harald Weltecb6e2052018-06-29 22:16:35 +020013base="$PWD"
14deps="$base/deps"
15inst="$deps/install"
16export deps inst
17
18osmo-clean-workspace.sh
19
20mkdir "$deps" || true
21
22osmo-build-dep.sh libosmocore "" '--disable-doxygen --enable-gnutls'
23
Harald Weltecdc08532019-12-17 13:22:46 +010024# verify only after building the dependency (to ensure we have most recent source of dependency)
25verify_value_string_arrays_are_terminated.py $(find . -name "*.[hc]")
26
Harald Weltecb6e2052018-06-29 22:16:35 +020027export PKG_CONFIG_PATH="$inst/lib/pkgconfig:$PKG_CONFIG_PATH"
28export LD_LIBRARY_PATH="$inst/lib"
29
Harald Welte105c1dc2018-06-29 21:35:28 +020030BUILDS=""
Harald Weltee33c2902021-06-01 18:36:04 +020031BUILDS+="simtrace/dfu simtrace/trace simtrace/cardem "
Harald Welte105c1dc2018-06-29 21:35:28 +020032BUILDS+="qmod/dfu qmod/cardem "
33BUILDS+="owhw/dfu owhw/cardem "
Harald Welteb69f5a82021-06-03 09:34:43 +020034BUILDS+="octsimtest/cardem "
Harald Welte105c1dc2018-06-29 21:35:28 +020035
Harald Weltecb6e2052018-06-29 22:16:35 +020036cd $TOPDIR/firmware
Harald Welte105c1dc2018-06-29 21:35:28 +020037for build in $BUILDS; do
38 board=`echo $build | cut -d "/" -f 1`
39 app=`echo $build | cut -d "/" -f 2`
40 echo
41 echo "=============== $board / $app START =============="
42 make BOARD="$board" APP="$app"
43 echo "=============== $board / $app RES:$? =============="
44done
Harald Weltecb6e2052018-06-29 22:16:35 +020045
46echo
47echo "=============== FIRMWARE TESTS ==========="
48cd $TOPDIR/firmware/test
49make clean
50make
51./card_emu_test
52make clean
53
54echo
55echo "=============== HOST START =============="
56cd $TOPDIR/host
Harald Welte964cda32019-11-24 22:27:10 +010057autoreconf --install --force
58./configure --enable-sanitize --enable-werror
59$MAKE $PARALLEL_MAKE
60#$MAKE distcheck || cat-testlogs.sh
61make dist
62
63#if [ "$WITH_MANUALS" = "1" ] && [ "$PUBLISH" = "1" ]; then
64# make -C "$base/doc/manuals" publish
65#fi
Harald Weltecb6e2052018-06-29 22:16:35 +020066
Kévin Redond5f583d2018-08-06 15:57:34 +020067if [ "x$publish" = "x--publish" ]; then
Kévin Redonfecfa2a2018-08-07 17:44:08 +020068 echo
69 echo "=============== UPLOAD BUILD =============="
Oliver Smith62ad58a2021-03-08 08:33:47 +010070 $TOPDIR/contrib/prepare_upload.sh
Kévin Redond5f583d2018-08-06 15:57:34 +020071
Harald Weltee876bf52019-10-30 09:24:37 +010072 cat > "/build/known_hosts" <<EOF
Harald Welte206d6132021-04-22 11:20:13 +020073[ftp.osmocom.org]:48 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDgQ9HntlpWNmh953a2Gc8NysKE4orOatVT1wQkyzhARnfYUerRuwyNr1GqMyBKdSI9amYVBXJIOUFcpV81niA7zQRUs66bpIMkE9/rHxBd81SkorEPOIS84W4vm3SZtuNqa+fADcqe88Hcb0ZdTzjKILuwi19gzrQyME2knHY71EOETe9Yow5RD2hTIpB5ecNxI0LUKDq+Ii8HfBvndPBIr0BWYDugckQ3Bocf+yn/tn2/GZieFEyFpBGF/MnLbAAfUKIdeyFRX7ufaiWWz5yKAfEhtziqdAGZaXNaLG6gkpy3EixOAy6ZXuTAk3b3Y0FUmDjhOHllbPmTOcKMry9
74[ftp.osmocom.org]:48 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPdWn1kEousXuKsZ+qJEZTt/NSeASxCrUfNDW3LWtH+d8Ust7ZuKp/vuyG+5pe5pwpPOgFu7TjN+0lVjYJVXH54=
75[ftp.osmocom.org]:48 ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK8iivY70EiR5NiGChV39gRLjNpC8lvu1ZdHtdMw2zuX
Kévin Redond5f583d2018-08-06 15:57:34 +020076EOF
Harald Weltee876bf52019-10-30 09:24:37 +010077 SSH_COMMAND="ssh -o 'UserKnownHostsFile=/build/known_hosts' -p 48"
Harald Welte206d6132021-04-22 11:20:13 +020078 rsync --archive --verbose --compress --delete --rsh "$SSH_COMMAND" $TOPDIR/firmware/bin/*-latest.{bin,elf} binaries@ftp.osmocom.org:web-files/simtrace2/firmware/latest/
79 rsync --archive --verbose --compress --rsh "$SSH_COMMAND" --exclude $TOPDIR/firmware/bin/*-latest.{bin,elf} $TOPDIR/firmware/bin/*-*-*-*.{bin,elf} binaries@ftp.osmocom.org:web-files/simtrace2/firmware/all/
Kévin Redond5f583d2018-08-06 15:57:34 +020080fi
81
Kévin Redonfecfa2a2018-08-07 17:44:08 +020082echo
Harald Welte964cda32019-11-24 22:27:10 +010083echo "=============== HOST CLEAN =============="
84$MAKE maintainer-clean
85
86echo
Kévin Redonfecfa2a2018-08-07 17:44:08 +020087echo "=============== FIRMWARE CLEAN =============="
88cd $TOPDIR/firmware/
89for build in $BUILDS; do
90 board=`echo $build | cut -d "/" -f 1`
91 app=`echo $build | cut -d "/" -f 2`
92 make BOARD="$board" APP="$app" clean
93done
94
Harald Weltecb6e2052018-06-29 22:16:35 +020095osmo-clean-workspace.sh