0
Meisam c74d5b4f31
add shellcheck to CI (#2478)
* add shellcheck to ci

* test ci

* install bash for shellcheck

* set globstar for bash

* cleanup shell scripts

* do not ignore automated hls tests

* rm legacy build script

* update shell scripts

* cleanup ci

* Fix misspell

* cleanup ci

* fail on curl error in ci
2022-12-25 19:17:13 -08:00

44 lines
1.0 KiB
Bash
Executable File

#!/bin/bash
TEMP_DB=$(mktemp)
# Install the node test framework
npm install --quiet --no-progress
# Download a specific version of ffmpeg
if [ ! -d "ffmpeg" ]; then
mkdir ffmpeg
pushd ffmpeg >/dev/null || exit
curl -sL https://github.com/vot/ffbinaries-prebuilt/releases/download/v4.2.1/ffmpeg-4.2.1-linux-64.zip --output ffmpeg.zip >/dev/null
unzip -o ffmpeg.zip >/dev/null
PATH=$PATH:$(pwd)
popd >/dev/null || exit
fi
pushd ../../.. >/dev/null || exit
# Build and run owncast from source
go build -o owncast main.go
./owncast -database "$TEMP_DB" &
SERVER_PID=$!
popd >/dev/null || exit
sleep 5
# Start streaming the test file over RTMP to
# the local owncast instance.
ffmpeg -hide_banner -loglevel panic -stream_loop -1 -re -i ../test.mp4 -vcodec libx264 -profile:v main -sc_threshold 0 -b:v 1300k -acodec copy -f flv rtmp://127.0.0.1/live/abc123 &
FFMPEG_PID=$!
function finish {
rm "$TEMP_DB"
kill $SERVER_PID $FFMPEG_PID
}
trap finish EXIT
echo "Waiting..."
sleep 15
# Run the tests against the instance.
npm test