mirror of
				https://github.com/owncast/owncast.git
				synced 2025-11-04 05:17:27 +08:00 
			
		
		
		
	* mv automated test cleanup to tools.sh check media file exists before streaming in test/ocTestStream.sh fix automatic test ffmpeg detection mv trap to tools mv update_storage_config() to tools enable S3 test * fix video file check in test/ocTestStream.sh * cleanup ci * mv auto test owncast build-run to start_owncast() * suppress cleanup errors * fix style * fix Browser Test paths * use pull_request event for Browser Tests * explicitly mention when test is skipped * refactor shell scripts
		
			
				
	
	
		
			60 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/bash
 | 
						|
 | 
						|
set -o errexit
 | 
						|
set -o pipefail
 | 
						|
 | 
						|
source ../tools.sh
 | 
						|
 | 
						|
BUILD_ID=$((RANDOM % 7200 + 600))
 | 
						|
BROWSER="electron" # Default. Will try to use Google Chrome.
 | 
						|
 | 
						|
if hash google-chrome 2>/dev/null; then
 | 
						|
	BROWSER="chrome"
 | 
						|
	echo "Using Google Chrome as a browser."
 | 
						|
else
 | 
						|
	echo "Google Chrome not found. Using Electron."
 | 
						|
fi
 | 
						|
 | 
						|
 | 
						|
# Bundle the updated web code into the server codebase.
 | 
						|
if [ -z "$SKIP_BUILD" ]; then
 | 
						|
	echo "Bundling web code into server..."
 | 
						|
 | 
						|
	# Change to the root directory of the repository
 | 
						|
	pushd "$(git rev-parse --show-toplevel)"
 | 
						|
 | 
						|
	./build/web/bundleWeb.sh >/dev/null
 | 
						|
 | 
						|
	popd
 | 
						|
else
 | 
						|
	echo "Skipping web build..."
 | 
						|
fi
 | 
						|
 | 
						|
 | 
						|
# Install the web test framework
 | 
						|
if [ -z "$SKIP_BUILD" ]; then
 | 
						|
	echo "Installing test dependencies..."
 | 
						|
	npm install --quiet --no-progress
 | 
						|
 | 
						|
else
 | 
						|
	echo "Skipping dependencies installation"
 | 
						|
fi
 | 
						|
 | 
						|
set -o nounset
 | 
						|
 | 
						|
install_ffmpeg
 | 
						|
 | 
						|
start_owncast
 | 
						|
 | 
						|
# Run cypress browser tests for desktop
 | 
						|
npx cypress run --browser "$BROWSER" --group "desktop-offline" --env tags=desktop --ci-build-id $BUILD_ID --tag "desktop,offline" --record --key e9c8b547-7a8f-452d-8c53-fd7531491e3b --spec "cypress/e2e/offline/*.cy.js"
 | 
						|
# Run cypress browser tests for mobile
 | 
						|
npx cypress run --browser "$BROWSER" --group "mobile-offline" --ci-build-id $BUILD_ID --tag "mobile,offline" --record --key e9c8b547-7a8f-452d-8c53-fd7531491e3b --spec "cypress/e2e/offline/*.cy.js" --config viewportWidth=375,viewportHeight=667
 | 
						|
 | 
						|
start_stream
 | 
						|
 | 
						|
# Run cypress browser tests for desktop
 | 
						|
npx cypress run --browser "$BROWSER" --group "desktop-online" --env tags=desktop --ci-build-id $BUILD_ID --tag "desktop,online" --record --key e9c8b547-7a8f-452d-8c53-fd7531491e3b --spec "cypress/e2e/online/*.cy.js"
 | 
						|
# Run cypress browser tests for mobile
 | 
						|
npx cypress run --browser "$BROWSER" --group "mobile-online" --ci-build-id $BUILD_ID --tag "mobile,online" --record --key e9c8b547-7a8f-452d-8c53-fd7531491e3b --spec "cypress/e2e/online/*.cy.js" --config viewportWidth=375,viewportHeight=667
 |