Initial QSfera import

This commit is contained in:
Курнат Андрей
2026-06-07 10:20:04 +03:00
commit 2315f25754
16485 changed files with 4826827 additions and 0 deletions
@@ -0,0 +1,20 @@
{
"server": "https://opencloud:9200",
"theme": "https://opencloud:9200/themes/opencloud/theme.json",
"openIdConnect": {
"metadata_url": "https://opencloud:9200/.well-known/openid-configuration",
"authority": "https://opencloud:9200",
"client_id": "web",
"response_type": "code"
},
"apps": [
"files",
"text-editor",
"preview",
"pdf-viewer",
"search",
"admin-settings",
"ocm",
"app-store"
]
}
@@ -0,0 +1,35 @@
#!/bin/bash
REPORT_PATH="$PUBLIC_BUCKET/desktop/testlogs/$CI_PIPELINE_NUMBER/$MATRIX_NAME/reports"
REPORT_URL="$MC_HOST/$REPORT_PATH"
echo ""
echo "--- GUI Test Reports ---"
echo "Test Report: $REPORT_URL/report.html"
echo "Client Log: $REPORT_URL/qsfera.log"
echo "AT_SPI Driver Log: $REPORT_URL/atspi_webdriver.log"
screenshots=$(mc find s3/$REPORT_PATH/screenshots/ 2>/dev/null || true)
if [[ -n "$screenshots" ]]; then
echo "Screenshots:"
for f in $screenshots; do
# remove 's3/' prefix
f=${f/s3\//}
echo " - $MC_HOST/$f"
done
else
echo "No screenshots found."
fi
recordings=$(mc find s3/$REPORT_PATH/recordings/ 2>/dev/null || true)
if [[ -n "$recordings" ]]; then
echo ""
echo "Recordings:"
for f in $recordings; do
# remove 's3/' prefix
f=${f/s3\//}
echo " - $MC_HOST/$f"
done
else
echo "No recordings found."
fi
@@ -0,0 +1,38 @@
#!/bin/bash
set -e
TEST_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")"/../ && pwd)"
WEBDRIVER_DIR="$TEST_DIR/__webdriver"
mkdir -p "$WEBDRIVER_DIR"
DRIVER_FILE="atspi-webdriver.py"
DRIVER_URL="https://raw.githubusercontent.com/KDE/selenium-webdriver-at-spi"
# shellcheck disable=SC1091
. "$TEST_DIR/.woodpecker.env"
if [ -z "$ATSPI_WEBDRIVER_VERSION" ]; then
ATSPI_WEBDRIVER_VERSION="master"
fi
if [ ! -f "$WEBDRIVER_DIR/$DRIVER_FILE" ]; then
curl -sSL --fail "$DRIVER_URL/$ATSPI_WEBDRIVER_VERSION/selenium-webdriver-at-spi.py" -o "$WEBDRIVER_DIR/$DRIVER_FILE"
fi
if [ ! -f "$WEBDRIVER_DIR/app_roles.py" ]; then
curl -sSL --fail "$DRIVER_URL/$ATSPI_WEBDRIVER_VERSION/app_roles.py" -o "$WEBDRIVER_DIR/app_roles.py"
fi
if [ -z "$WEBDRIVER_HOST" ]; then
WEBDRIVER_HOST="0.0.0.0"
fi
if [ -z "$WEBDRIVER_PORT" ]; then
WEBDRIVER_PORT="4723"
fi
# run webdriver server
export FLASK_ENV=production
export FLASK_APP="$WEBDRIVER_DIR/$DRIVER_FILE"
flask run --host="$WEBDRIVER_HOST" --port="$WEBDRIVER_PORT" --no-reload
+70
View File
@@ -0,0 +1,70 @@
#!/bin/bash
touch .woodpecker.env
PY_REQUIREMENTS_PATH="test/gui/requirements.txt"
# get playwright version from requirements.txt
get_playwright_version() {
if [[ ! -f "$PY_REQUIREMENTS_PATH" ]]; then
echo "Error: file not found: $PY_REQUIREMENTS_PATH"
fi
playwright_version=$(grep 'playwright==' "$PY_REQUIREMENTS_PATH" | cut -d'=' -f3 | cut -d'.' -f1-2)
playwright_version=${playwright_version//[^0-9.]/}
if [[ -z "$playwright_version" ]]; then
echo "Error: Playwright package not found in requirements.txt" >&2
exit 78
fi
echo "$playwright_version"
}
# Function to check if the cache exists for the given commit ID
check_browsers_cache() {
playwright_version=$(get_playwright_version)
playwright_cache=$(mc find s3/$CACHE_BUCKET/desktop/browsers-cache/$playwright_version/playwright-browsers.tar.gz 2>&1 | grep 'Object does not exist')
if [[ "$playwright_cache" != "" ]]
then
echo "Browsers cache for playwright v$playwright_version not found in cache."
ENV="BROWSER_CACHE_FOUND=false\n"
else
echo "Browsers cache for playwright v$playwright_version found in cache."
ENV="BROWSER_CACHE_FOUND=true\n"
fi
}
get_requirementstxt_hash() {
requirements_sha=$(sha1sum $PY_REQUIREMENTS_PATH | cut -d" " -f1)
echo "$requirements_sha"
}
check_python_cache() {
requirements_sha=$(get_requirementstxt_hash)
python_cache=$(mc find s3/$CACHE_BUCKET/desktop/python-cache/$requirements_sha/python-cache.tar.gz 2>&1 | grep 'Object does not exist')
if [[ "$python_cache" != "" ]]
then
echo "Python cache for '$requirements_sha' hash not found in cache."
ENV="PYTHON_CACHE_FOUND=false\n"
else
echo "Python cache for '$requirements_sha' hash found in cache."
ENV="PYTHON_CACHE_FOUND=true\n"
fi
}
if [[ "$1" == "" ]]; then
echo "Usage: $0 [COMMAND]"
echo "Commands:"
echo -e " get_playwright_version \t get the playwright version from requirements.txt"
echo -e " get_requirementstxt_hash \t get the hash of the current requirements.txt"
echo -e " check_browsers_cache \t check if the browsers cache exists for the given playwright version"
echo -e " check_python_cache \t check if a cache for the current requirements.txt exists"
exit 1
fi
$1
echo -e $ENV >> .woodpecker.env
+3
View File
@@ -0,0 +1,3 @@
[General]
AUT/qsfera = "/woodpecker/desktop/build/bin"
AUTPMTimeout = "15000"