1515 e2e :
1616 runs-on : macos-latest # TODO: use ubuntu-latest once open sourced
1717 name : E2E Tests
18+ env :
19+ EXTERNAL_SFU_URL : ${{ vars.EXTERNAL_SFU_URL }}
1820
1921 steps :
2022 - name : Clone
@@ -136,16 +138,27 @@ jobs:
136138 - name : Configure Site for E2E
137139 working-directory : /Users/runner/frappe-bench
138140 run : |
141+ if [ -n "$EXTERNAL_SFU_URL" ]; then
142+ echo "Using External SFU: $EXTERNAL_SFU_URL"
143+ SFU_URL="$EXTERNAL_SFU_URL"
144+ SFU_PORT=$(python3 -c "from urllib.parse import urlparse; u = urlparse('$SFU_URL'); print(u.port or (443 if u.scheme == 'https' else 80))")
145+ else
146+ echo "Using Local SFU"
147+ SFU_URL="http://localhost"
148+ SFU_PORT="3000"
149+ fi
150+
139151 bench --site meet.test set-config sfu_secret "e2e-test-secret-key-12345"
140- bench --site meet.test set-config sfu_server_url "http://localhost "
141- bench --site meet.test set-config sfu_server_port "3000 "
152+ bench --site meet.test set-config sfu_server_url "$SFU_URL "
153+ bench --site meet.test set-config sfu_server_port "$SFU_PORT "
142154 bench --site meet.test set-config allow_tests true
143155 bench --site meet.test set-config host_name "http://meet.test:8000"
144156
145157 # Create test users
146158 bench --site meet.test execute meet.utils.test_helpers.create_test_users
147159
148160 - name : Build SFU Server
161+ if : env.EXTERNAL_SFU_URL == ''
149162 working-directory : ${{ github.workspace }}/sfu-server
150163 run : |
151164 npm ci
@@ -178,6 +191,7 @@ jobs:
178191 echo "Frappe server is ready!"
179192
180193 - name : Start SFU Server
194+ if : env.EXTERNAL_SFU_URL == ''
181195 working-directory : ${{ github.workspace }}/sfu-server
182196 run : |
183197 npm start &
@@ -196,7 +210,7 @@ jobs:
196210 run : yarn test
197211 env :
198212 BASE_URL : http://meet.test:8000
199- SFU_URL : http://localhost:3000
213+ SFU_URL : ${{ env.EXTERNAL_SFU_URL || ' http://localhost:3000' }}
200214 CI : true
201215
202216 - name : Upload Test Results
0 commit comments