Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
ec50ef0
fix(workflow): make 'network' input a choice type for workflow_dispatch
khaledyoussef24 Apr 22, 2025
6c4fc38
adding branch choosing and making lerna only runs on local
khaledyoussef24 Apr 23, 2025
6c76dd6
adding workflow to be build on any network or to run on the current n…
khaledyoussef24 May 5, 2025
eb49c47
removing local from choices
khaledyoussef24 May 6, 2025
bee5702
fixing checkout
khaledyoussef24 May 6, 2025
20ba723
fixing checkout
khaledyoussef24 May 6, 2025
d13f8c8
fixing checkout
khaledyoussef24 May 6, 2025
aa1e941
fixing confest.py
khaledyoussef24 May 6, 2025
0a3ce83
fixing workflow link
khaledyoussef24 May 6, 2025
49c7eb6
fixing workflow link
khaledyoussef24 May 6, 2025
4499676
fixing workflow link
khaledyoussef24 May 6, 2025
2b5a8c3
fixing workflow link
khaledyoussef24 May 7, 2025
5a7b0c9
fixing url work flow
khaledyoussef24 May 8, 2025
ffb01f6
fixing url work flow
khaledyoussef24 May 8, 2025
249b528
fixing url work flow
khaledyoussef24 May 8, 2025
7d9a2a9
trial 1
khaledyoussef24 May 8, 2025
01b1d7f
trial
khaledyoussef24 May 8, 2025
02ec2c1
Merge remote-tracking branch 'origin' into development_selenium_workf…
khaledyoussef24 May 8, 2025
e433efc
trial
khaledyoussef24 May 8, 2025
866d15d
trial
khaledyoussef24 May 8, 2025
a852a3d
trial
khaledyoussef24 May 8, 2025
eca183b
trial
khaledyoussef24 May 8, 2025
d313e5f
trial
khaledyoussef24 May 8, 2025
52e4a30
checking
khaledyoussef24 May 8, 2025
d57645b
trying remote
khaledyoussef24 May 8, 2025
b84de32
trying remote
khaledyoussef24 May 8, 2025
6c5b3f3
trying remote
khaledyoussef24 May 8, 2025
d3dac8c
step1
khaledyoussef24 May 11, 2025
e5bd3e4
step2
khaledyoussef24 May 11, 2025
c4a0be9
step3
khaledyoussef24 May 11, 2025
9bf7a40
trial 2 step 1
khaledyoussef24 May 11, 2025
cbf78ea
trial 2 step 2
khaledyoussef24 May 11, 2025
169a685
startegy 2
khaledyoussef24 May 15, 2025
f3a82e5
startegy 2 update 1
khaledyoussef24 May 15, 2025
076c6f1
startegy 2 update 2
khaledyoussef24 May 15, 2025
77e12e5
startegy 2 update 3
khaledyoussef24 May 15, 2025
8fd7e10
startegy 2 update 4
khaledyoussef24 May 15, 2025
9dae3e2
startegy 2 update 5
khaledyoussef24 May 15, 2025
668942f
startegy 2 update 6
khaledyoussef24 May 15, 2025
b4f0fd0
startegy 2 update 9
khaledyoussef24 May 15, 2025
1ebf141
fixing work flow uses
khaledyoussef24 May 15, 2025
430fa6c
fixing the priniting of the seed
khaledyoussef24 May 15, 2025
7632715
fixing the priniting of the seed
khaledyoussef24 May 15, 2025
0ab59b3
fixing the priniting of the seed
khaledyoussef24 May 15, 2025
6b6ba4e
Merge remote-tracking branch 'origin' into development_selenium_workf…
khaledyoussef24 May 15, 2025
da31eb2
Merge branch 'development' of https://github.com/threefoldtech/tfgrid…
khaledyoussef24 May 15, 2025
6c91ead
fixing seeds field
khaledyoussef24 May 15, 2025
dcf3ca8
fixing seeds field
khaledyoussef24 May 15, 2025
2321878
fixing seeds field
khaledyoussef24 May 15, 2025
5465f43
workflow enhancements
khaledyoussef24 Jul 3, 2025
fb17a23
Merge remote-tracking branch 'origin' into development_selenium_workf…
khaledyoussef24 Jul 3, 2025
708b34c
workflow fixes
khaledyoussef24 Jul 3, 2025
e3b0f32
Merge remote-tracking branch 'origin' into development_selenium_workf…
khaledyoussef24 Jul 23, 2025
14751b5
fixes for different enviroment
khaledyoussef24 Jul 23, 2025
796a89b
fixes for different enviroment
khaledyoussef24 Jul 23, 2025
f1febdb
fixes for different enviroment
khaledyoussef24 Jul 23, 2025
8b52fb1
adding local run
khaledyoussef24 Jul 27, 2025
4f8c7da
adding network selection to local
khaledyoussef24 Jul 28, 2025
f2b2e12
adding network selection to local
khaledyoussef24 Jul 28, 2025
8edc1c4
adding network selection to local and only one network to run
khaledyoussef24 Jul 28, 2025
d5b7cf5
add package
khaledyoussef24 Jul 28, 2025
550b164
add package
khaledyoussef24 Jul 28, 2025
5eaca7e
add package
khaledyoussef24 Jul 28, 2025
2af0033
add package
khaledyoussef24 Jul 28, 2025
98793f5
add package
khaledyoussef24 Jul 28, 2025
fe66173
adding config.ini
khaledyoussef24 Jul 28, 2025
d8d9f13
editing flow
khaledyoussef24 Jul 28, 2025
8dc45f0
editing the local build message
khaledyoussef24 Jul 28, 2025
b7934ec
editing the local build message
khaledyoussef24 Jul 28, 2025
b222f43
Add selenium brance yo get tests from it
ramezsaeed Jul 31, 2025
c5287d0
run on ramez brance for fixes 2.8.0
ramezsaeed Jul 31, 2025
7c251b3
run node tests only
ramezsaeed Jul 31, 2025
623b6a0
export stellar network test/main for local build
ramezsaeed Jul 31, 2025
56d332b
add print and run one test
ramezsaeed Jul 31, 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
97 changes: 83 additions & 14 deletions .github/workflows/playground_selenium.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,40 +2,109 @@ name: Playground Selenium Tests

on:
workflow_dispatch:
inputs:
env:
description: "Target environment"
type: choice
required: true
options:
- dev
- qa
- test
- main
branch:
type: choice
description: "Git branch to test"
required: true
default: "development"
options:
- "development"
- "development_seleium_2.8.0_fixes"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is that still needed?

local:
description: "Build Local Environment"
type: boolean
default: false
schedule:
- cron: "0 6 * * *"

jobs:
selenium-run:
selenium:
runs-on: ubuntu-latest
environment: ${{ inputs.env }}
steps:
- name: Checkout
- name: Checkout code
uses: actions/checkout@v4
- name: Setting up Python

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install system dependencies
run: sudo apt-get update && sudo apt-get install -y xclip
- name: Installing all necessary packages
run: pip install -r packages/playground/tests/frontend_selenium/requirements.txt
- name: Node install

- name: Install Python requirements
run: pip install -r packages/playground/tests/frontend_selenium/requirements.txt

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: 22.15

- name: Yarn install
run: yarn install
- name: Lerna Build


# - name: Generate local config
# if: ${{ inputs.local }}
# working-directory: packages/playground/public
# run: MODE=${{ inputs.env }} bash ../scripts/build-env.sh
Comment on lines +55 to +58
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why this commented

- name: Generate local config
if: ${{ inputs.local }}
working-directory: packages/playground/public
run: |
if [[ "${{ inputs.env }}" == "dev" || "${{ inputs.env }}" == "qa" ]]; then
export STELLAR_NETWORK="test"
else
export STELLAR_NETWORK="main"
fi
export MODE=${{ inputs.env }}
echo "Using MODE=$MODE and STELLAR_NETWORK=$STELLAR_NETWORK"


- name: Build packages when local
if: ${{ inputs.local }}
run: yarn lerna run build
- name: Yarn Serve

- name: Build env config when local
if: ${{ inputs.local }}
working-directory: packages/playground/public
run: bash ../scripts/build-env.sh

- name: Start playground app
if: ${{ inputs.local }}
run: make run project=playground &
- name: Wait for localhost

- name: Wait for local app
if: ${{ inputs.local }}
run: sleep 60
- name: Run tests
working-directory: ./packages/playground/tests/frontend_selenium

- name: Update Config.ini
run: |
CONFIG=packages/playground/tests/frontend_selenium/Config.ini
if [ -f "$CONFIG" ]; then
if [ "${{ inputs.local }}" == "true" ]; then
sed -i 's/^net =.*/net = local/' "$CONFIG"
else
sed -i "s/^net =.*/net = ${{ inputs.env }}/" "$CONFIG"
fi
else
echo "::warning::Config.ini not found at $CONFIG. Skipping config update."
fi

- name: Run selenium tests
working-directory: packages/playground/tests/frontend_selenium
env:
TFCHAIN_MNEMONICS: ${{ secrets.TFCHAIN_MNEMONICS }}
# TFCHAIN_MNEMONICS: ${{ secrets.TFCHAIN_MNEMONICS.${{ inputs.env }} }}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why this commented?

TFCHAIN_NODE_MNEMONICS: ${{ secrets.TFCHAIN_NODE_MNEMONICS }}
STELLAR_ADDRESS: ${{ secrets.STELLAR_ADDRESS }}
EMAIL: ${{ secrets.EMAIL }}
run: python -m pytest -v
run: python -m pytest -v tests/Farms/test_node.py::test_node_details
17 changes: 9 additions & 8 deletions packages/playground/tests/frontend_selenium/selenium.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ There are two ways to run the Automation selenium tests:
yarn lerna run build
make run project=playground
```
If the build fails due to a memory issue, please use the following command

If the build fails due to a memory issue, please use the following command

```bash
export NODE_OPTIONS="--max-old-space-size=8192"
Expand Down Expand Up @@ -70,17 +71,17 @@ export NODE_OPTIONS="--max-old-space-size=8192"

- (Not Recommended) Install the recommended version of the pip package listed above for a stable run, or you can just install Python 3 and use the command:
- `pip install -r requirements.txt --break-system-packages` (Use this if you don't use any of the listed packages).
- (Recommended) Or use Virtual Environments:
- create an environment using
`python -m venv myenv`
- (Recommended) Or use Virtual Environments:
- create an environment using
`python -m venv myenv`
- activate it using
`source myenv/bin/activate`
`source myenv/bin/activate`
- install packages using
`pip install -r requirements.txt`.
`pip install -r requirements.txt`.
- You'll also need to install `Xvfb`, Run:
`sudo apt install xvfb`.
`sudo apt install xvfb`.
- You can run selenium tests with pytest through the command line using:
`python3 -m pytest -v`.
`python3 -m pytest -v`.

### More options to run tests

Expand Down
Loading