Skip to content

Conection reset #5981

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 87 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
76bb3e3
connection reset test
bunsenstraat Apr 29, 2025
4d9e6cb
grouped
bunsenstraat Apr 29, 2025
fc1c0af
flaky
bunsenstraat Apr 29, 2025
31f683a
chrome idle
bunsenstraat Apr 29, 2025
9c3a164
webdriver
bunsenstraat Apr 29, 2025
7edddf2
update setting
bunsenstraat Apr 29, 2025
14b6f26
mv config
bunsenstraat Apr 29, 2025
6c82531
tight
bunsenstraat Apr 29, 2025
6f8d3c4
keep alive
bunsenstraat Apr 29, 2025
dc3a0b0
timeout
bunsenstraat Apr 29, 2025
13db53c
attempts
bunsenstraat Apr 29, 2025
9d92396
keep alive
bunsenstraat Apr 29, 2025
af0fce6
break it
bunsenstraat Apr 29, 2025
439e3eb
break it again
bunsenstraat Apr 29, 2025
9e844f1
retry
bunsenstraat Apr 29, 2025
09d42b6
test global
bunsenstraat Apr 29, 2025
3e892b2
incerase timeout
bunsenstraat Apr 29, 2025
455054f
all settings
bunsenstraat Apr 29, 2025
1c40862
restore
bunsenstraat Apr 29, 2025
431b85d
flaky off
bunsenstraat Apr 29, 2025
7a57b3b
mv it
bunsenstraat Apr 29, 2025
9f677c0
strategy
bunsenstraat Apr 29, 2025
35230de
blink setting
bunsenstraat Apr 29, 2025
f0c3694
turn on images
bunsenstraat Apr 29, 2025
09af779
rm panel stuff dom
bunsenstraat Apr 29, 2025
0849c06
santize
bunsenstraat Apr 29, 2025
b360822
more jobs
bunsenstraat Apr 30, 2025
d9577fc
store logs
bunsenstraat Apr 30, 2025
87748fa
config
bunsenstraat Apr 30, 2025
4bcf743
config
bunsenstraat Apr 30, 2025
0425d4d
use refs
bunsenstraat Apr 30, 2025
e315f33
cleanup
bunsenstraat Apr 30, 2025
f95992d
lint
bunsenstraat Apr 30, 2025
493bfa5
Update popup-panel.tsx
bunsenstraat Apr 30, 2025
10e08b4
try auto install
bunsenstraat Apr 30, 2025
3e6368d
chromedriver path
bunsenstraat Apr 30, 2025
e5c28ae
install chromedriver
bunsenstraat Apr 30, 2025
f68d89d
rm load test
bunsenstraat Apr 30, 2025
7a034f8
foundry
bunsenstraat May 1, 2025
3b02fae
foundry
bunsenstraat May 1, 2025
321bf47
manual chromedriver
bunsenstraat May 1, 2025
a9bbcd0
start chromedriver
bunsenstraat May 1, 2025
d0c4988
rm kill signal
bunsenstraat May 1, 2025
acabfed
fix script
bunsenstraat May 1, 2025
5139661
turn off flaky
bunsenstraat May 3, 2025
6577350
plugin test
bunsenstraat May 4, 2025
3dc44a2
screens
bunsenstraat May 4, 2025
020708e
wc3
bunsenstraat May 4, 2025
0748869
random port
bunsenstraat May 4, 2025
853c384
linux tests
bunsenstraat May 4, 2025
fbc8de9
add assertions
bunsenstraat May 4, 2025
3bc7fa4
rpc test
bunsenstraat May 4, 2025
f054fc0
plugin api
bunsenstraat May 4, 2025
92e293f
more logs
bunsenstraat May 5, 2025
6569731
remove sandbox
bunsenstraat May 5, 2025
11bb622
--no-sandbox
bunsenstraat May 5, 2025
7e69d41
rm pauses
bunsenstraat May 5, 2025
174002b
fork test
bunsenstraat May 5, 2025
883a8d2
remixd
bunsenstraat May 5, 2025
60ad218
screens
bunsenstraat May 5, 2025
7c011af
more screenshots
bunsenstraat May 5, 2025
e7ff580
add pause
bunsenstraat May 5, 2025
08294a0
refactor spawn
bunsenstraat May 5, 2025
39817cf
log data
bunsenstraat May 5, 2025
82b5738
log remixd
bunsenstraat May 5, 2025
c75011c
fix install script
bunsenstraat May 5, 2025
55be6a2
restore files
bunsenstraat May 5, 2025
62056fe
rm files
bunsenstraat May 5, 2025
8ac04da
rm pause
bunsenstraat May 5, 2025
9e3d2c9
logs in test
bunsenstraat May 5, 2025
a70aeeb
just log it
bunsenstraat May 5, 2025
7c27c67
clean up
bunsenstraat May 5, 2025
c20488c
clean up
bunsenstraat May 5, 2025
5e70207
turn on metamask
bunsenstraat May 5, 2025
6f9a069
test all
bunsenstraat May 5, 2025
6276b3d
settings
bunsenstraat May 6, 2025
35d9d05
enable rasterizer
bunsenstraat May 6, 2025
d8e6b2b
Merge branch 'master' into conectreset
bunsenstraat May 6, 2025
9b5937f
metamask
bunsenstraat May 6, 2025
b67ec2b
METAMASK_TEST
bunsenstraat May 6, 2025
c5c84af
headless
bunsenstraat May 6, 2025
b4aa4d7
sandbox?
bunsenstraat May 6, 2025
3959ea2
chrome driver fix
bunsenstraat May 7, 2025
ff4f85f
chromedriver
bunsenstraat May 7, 2025
9b70236
metamask off
bunsenstraat May 7, 2025
66b4c07
revert
bunsenstraat May 7, 2025
a72cf21
disable linux test
bunsenstraat May 7, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
69 changes: 53 additions & 16 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ parameters:
type: boolean
default: false
orbs:
browser-tools: circleci/[email protected].2
browser-tools: circleci/[email protected].3
win: circleci/[email protected]
node: circleci/[email protected]
jobs:
Expand Down Expand Up @@ -125,6 +125,9 @@ jobs:
- node/install:
install-yarn: true
node-version: '20.2'
- restore_cache:
keys:
- remixdesktop-linux-deps-{{ checksum "apps/remixdesktop/yarn.lock" }}
- run:
command: |
node -v
Expand All @@ -134,10 +137,14 @@ jobs:
mkdir apps/remixdesktop/build
cp -r dist/apps/remix-ide apps/remixdesktop/build
cd apps/remixdesktop/
yarn add node-pty
yarn --ignore-optional
yarn add @remix-project/remix-ws-templates
yarn add node-pty --network-timeout 600000
yarn --ignore-optional --network-timeout 600000
yarn add @remix-project/remix-ws-templates --network-timeout 600000
./rundist.bash test_only
- save_cache:
key: remixdesktop-linux-deps-{{ checksum "apps/remixdesktop/yarn.lock" }}
paths:
- apps/remixdesktop/node_modules
- run:
name: "Run tests"
command: |
Expand All @@ -152,6 +159,9 @@ jobs:
path: ./apps/remixdesktop/reports/tests
- store_artifacts:
path: ./apps/remixdesktop/reports/screenshots
- store_artifacts:
path: /home/circleci/remix-project/logs
destination: logs

build-remixdesktop-linux:
machine:
Expand Down Expand Up @@ -310,6 +320,9 @@ jobs:
path: ./apps/remixdesktop/reports/tests
- store_artifacts:
path: ./apps/remixdesktop/reports/screenshots
- store_artifacts:
path: /home/circleci/remix-project/logs
destination: logs

# to setup a new certificate:
# 1) from https://one.digicert.com/signingmanager/dashboard in the 'get started' section, the following configuration variables can be created:
Expand Down Expand Up @@ -581,6 +594,9 @@ jobs:
path: ./apps/remixdesktop/reports/tests
- store_artifacts:
path: ./apps/remixdesktop/reports/screenshots
- store_artifacts:
path: /home/circleci/remix-project/logs
destination: logs

uploadartifacts:
docker:
Expand Down Expand Up @@ -662,6 +678,11 @@ jobs:
default: 1
parallelism: << parameters.parallelism >>
steps:
- run:
name: set env
command: |
export DBUS_SESSION_BUS_ADDRESS=/dev/null
export XDG_RUNTIME_DIR=/tmp
- checkout
- attach_workspace:
at: .
Expand All @@ -679,21 +700,25 @@ jobs:
- browser-tools/install-browser-tools:
install-firefox: false
install-chrome: true
install-chromedriver: false
install-chromedriver: true
install-geckodriver: false
- run: yarn install_webdriver
- run: google-chrome --version
- when:
condition:
equal: [ "chromeMetamask", << parameters.browser >> ]
steps:
- run:
name: Set metamask test flag
command: echo "METAMASK_TEST=true" >> $BASH_ENV
- browser-tools/install-browser-tools:
install-firefox: false
install-chrome: true
install-chromedriver: false
install-chromedriver: true
install-geckodriver: false
- run: yarn install_webdriver
- run: google-chrome --version
#- run: yarn install_webdriver
- run:
command: |
google-chrome --version
chromedriver --version
- when:
condition:
equal: [ "firefox", << parameters.browser >> ]
Expand All @@ -710,6 +735,9 @@ jobs:
path: ./reports/tests
- store_artifacts:
path: ./reports/screenshots
- store_artifacts:
path: /home/circleci/remix-project/logs
destination: logs

tests-passed:
machine:
Expand Down Expand Up @@ -743,14 +771,20 @@ jobs:
install-firefox: false
install-chrome: true
install-geckodriver: false
install-chromedriver: false
- run: yarn install_webdriver
- run: google-chrome --version
install-chromedriver: true
#- run: yarn install_webdriver
- run:
command: |
google-chrome --version
chromedriver --version
- run: ./apps/remix-ide/ci/browser_test_plugin.sh << parameters.plugin >>
- store_test_results:
path: ./reports/tests
- store_artifacts:
path: ./reports/screenshots
- store_artifacts:
path: /home/circleci/remix-project/logs
destination: logs


predeploy:
Expand Down Expand Up @@ -812,7 +846,7 @@ workflows:
script: ["flaky.sh"]
job: ["nogroup"]
jobsize: ["1"]
parallelism: [5]
parallelism: [10]
run_metamask_tests:
when: << pipeline.parameters.run_metamask_tests >>
jobs:
Expand Down Expand Up @@ -868,6 +902,9 @@ workflows:
- test-remixdesktop-linux:
requires:
- build-desktop
filters:
branches:
only: [/.*desktop.*/]
- test-remixdesktop-windows:
requires:
- build-desktop
Expand Down Expand Up @@ -915,8 +952,8 @@ workflows:
parameters:
browser: ["chrome", "firefox"]
script: ["browser_test.sh"]
job: ["0","1","2","3","4","5","6","7","8","9"]
jobsize: ["10"]
job: ["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14"]
jobsize: ["15"]
parallelism: [15]
- remix-ide-browser:
requires:
Expand Down
93 changes: 93 additions & 0 deletions apps/remix-ide-e2e/chrome-driver.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
#!/usr/bin/env bash
# Usage: chrome-driver.sh [install_dir]
# Determine install directory from first argument or ORB_PARAM_DRIVER_INSTALL_DIR
INSTALL_DIR=${1:-${ORB_PARAM_DRIVER_INSTALL_DIR:-"./tmp/webdrivers"}}
echo "Installing ChromeDriver into $INSTALL_DIR"

# Determine the OS platform
OS="$(uname)"

if [ "$OS" == "Darwin" ]; then
# macOS systems
if [ -e "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" ]; then
version=$("/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --version)
echo "Google Chrome version on macOS: $version"
else
echo "Google Chrome is not installed on your macOS."
fi
elif [ "$OS" == "Linux" ]; then
# Linux systems
if command -v google-chrome >/dev/null; then
version=$(google-chrome --version)
echo "Google Chrome version on Linux: $version"
else
echo "Google Chrome is not installed on your Linux."
# exit without error
exit 0
fi
else
echo "Unsupported OS."
exit 0
fi

MAJORVERSION='135' # $(echo "$version" | grep -Eo '[0-9]+\.' | head -1 | cut -d'.' -f1)
echo "CHROME DRIVER INSTALL $MAJORVERSION"

# Determine target platform for ChromeDriver download
case "$OS" in
Darwin)
if [[ "$(uname -m)" == "arm64" ]]; then
PLATFORM="mac-arm64"
else
PLATFORM="mac-x64"
fi
;;
Linux)
PLATFORM="linux64"
;;
*)
echo "Unsupported OS: $OS"; exit 1
;;
esac
echo "Detected platform for download: $PLATFORM"

# Determine ChromeDriver version and download URL
if [ "$MAJORVERSION" -lt 115 ]; then
# Chrome <115: use storage.googleapis.com
CHROMEDRIVER_VERSION=$(curl -sS "https://chromedriver.storage.googleapis.com/LATEST_RELEASE_${MAJORVERSION}" | tr -d '\r')
CHROMEDRIVER_DOWNLOAD_URL="https://chromedriver.storage.googleapis.com/${CHROMEDRIVER_VERSION}/chromedriver_${PLATFORM}.zip"
else
# Chrome >=115: use Chrome for Testing JSON feed
FEED_URL="https://googlechromelabs.github.io/chrome-for-testing/latest-versions-per-milestone-with-downloads.json"
CHROMEDRIVER_VERSION=$(curl -sS "$FEED_URL" | jq -r ".milestones.\"$MAJORVERSION\".version")
CHROMEDRIVER_DOWNLOAD_URL=$(curl -sS "$FEED_URL" \
| jq -r ".milestones.\"$MAJORVERSION\".downloads.chromedriver[] \
| select(.platform==\"$PLATFORM\").url")
fi

echo "Matching ChromeDriver version: $CHROMEDRIVER_VERSION"
echo "Downloading ChromeDriver from $CHROMEDRIVER_DOWNLOAD_URL"

# Prepare install directory
mkdir -p "$INSTALL_DIR"

# Download and install ChromeDriver
ZIP_PATH="${INSTALL_DIR}/chromedriver_${PLATFORM}.zip"
curl -sS -o "$ZIP_PATH" "$CHROMEDRIVER_DOWNLOAD_URL"
unzip -o "$ZIP_PATH" -d "$INSTALL_DIR"

# Move the extracted chromedriver binary to the root of INSTALL_DIR
EXTRACTED_DIR=$(find "$INSTALL_DIR" -mindepth 1 -maxdepth 1 -type d | head -n1)
if [ -f "$EXTRACTED_DIR/chromedriver" ]; then
mv "$EXTRACTED_DIR/chromedriver" "$INSTALL_DIR/chromedriver"
else
echo "Error: chromedriver binary not found in $EXTRACTED_DIR"
exit 1
fi

chmod +x "$INSTALL_DIR/chromedriver"
# Cleanup extracted directory and zip
rm -rf "$EXTRACTED_DIR"
rm -f "$ZIP_PATH"

echo "ChromeDriver installed at $INSTALL_DIR/chromedriver"
30 changes: 3 additions & 27 deletions apps/remix-ide-e2e/install-webdriver.sh
Original file line number Diff line number Diff line change
@@ -1,31 +1,7 @@
#!/bin/bash

# Determine the OS platform
OS="$(uname)"

if [ "$OS" == "Darwin" ]; then
# macOS systems
if [ -e "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" ]; then
version=$("/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --version)
echo "Google Chrome version on macOS: $version"
else
echo "Google Chrome is not installed on your macOS."
fi
elif [ "$OS" == "Linux" ]; then
# Linux systems
if command -v google-chrome >/dev/null; then
version=$(google-chrome --version)
echo "Google Chrome version on Linux: $version"
else
echo "Google Chrome is not installed on your Linux."
fi
else
echo "Unsupported OS."
fi

MAJORVERSION=$(echo "$version" | grep -Eo '[0-9]+\.' | head -1 | cut -d'.' -f1)
echo "CHROME DRIVER INSTALL $MAJORVERSION"

set -e
./apps/remix-ide-e2e/chrome-driver.sh
# Specify the directory to check
directory="./tmp/webdrivers"

Expand All @@ -39,4 +15,4 @@ fi


yarn init -y --cwd "$directory" || exit 1
yarn add -D chromedriver@$MAJORVERSION geckodriver --cwd "$directory" || yarn add -D chromedriver@$MAJORVERSION geckodriver --cwd "$directory" || yarn add -D chromedriver geckodriver --cwd "$directory" || exit 1
yarn add -D geckodriver --cwd "$directory" || yarn add -D geckodriver --cwd "$directory" || yarn add -D chromedriver geckodriver --cwd "$directory" || exit 1
Loading