-
Notifications
You must be signed in to change notification settings - Fork 23
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
Error: "Timeout reached while waiting for Roblox Studio to come online" #21
Comments
Agh, these issues are a pain to diagnose; I'm sorry you ran into this. In the past, the culprits of these issues were things like:
|
Sounds like multiple people might be running into this. @jeparlefrancais or @OrbitalOwen, have either of you run into this before? Any ideas? |
I'm encountering this issue as well, but flaky (unlike OP who has 100% failure).
Sometimes it hits this error, sometimes it doesn't. I just rerun the workflow and hope to get lucky (and use up all of my Actions minutes). |
If it helps, my workflow is a bit different than most people's. I install studio, then open with a blank .lua file to finalize the installation (this flaky fails) and make Studio create directories, then edit those files to make fflag changes, then open my actual test file and script. jobs:
Curriculum:
strategy:
fail-fast: false
runs-on: windows-latest
timeout-minutes: 13
steps:
# Get dependencies
- name: Checkout repository
uses: actions/checkout@v1
with:
submodules: recursive
- name: Studio installation
uses: OrbitalOwen/[email protected]
with:
cookie: ${{ secrets.ROBLOSECURITY }}
token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
- name: Foreman installation
uses: rojo-rbx/setup-foreman@v1
with:
token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
# Build .rbxlx file
- name: Build test project
run: rojo build default.project.json -o ./tests/test.rbxlx
# Open Studio so it finalizes installation
- name: Open Studio to finalize installation
run: |
New-Item ./noop.lua
Set-Content ./noop.lua '--noop'
run-in-roblox --place ./tests/test.rbxlx --script ./noop.lua
# Edit fast flags
- name: Edit FFlags
run: |
$flags = Get-Content -Path C:/Users/*/AppData/Local/Roblox/ClientSettings/StudioAppSettings.json -Raw | ConvertFrom-Json
$flags.AnyCustomFlagsHere=$true
New-Item -Path 'C:/Program Files (x86)/Roblox/Versions/version-*/' -Name "ClientSettings" -ItemType "directory"
New-Item -Path 'C:/Program Files (x86)/Roblox/Versions/version-*/ClientSettings' -Name "ClientAppSettings.json"
$flags | ConvertTo-Json -depth 32| set-content -Path 'C:/Program Files (x86)/Roblox/Versions/version-*/ClientSettings/ClientAppSettings.json'
# Run tests with run-in-roblox
- name: Run tests
run: run-in-roblox --place ./tests/test.rbxlx --script ./tests/Curriculum.spec.lua |
After a lot more testing, I've found that this seems to be tied to StudioUseNewLoginDataEndpoint. (I would appreciate another person verifying this as well.) A temporary workaround is to disable this feature flag before calling run-in-roblox: # Flip flag that causes issue
- name: Create fflag overrides
run: |
$flags = @{DFIntStudioUseNewLoginDataEndpointHundredthPercent=0; FFlagStudioUseNewLoginDataEndpoint=$false}
New-Item -Path 'C:/Program Files (x86)/Roblox/Versions/version-*/' -Name "ClientSettings" -ItemType "directory"
New-Item -Path 'C:/Program Files (x86)/Roblox/Versions/version-*/ClientSettings' -Name "ClientAppSettings.json"
$flags | ConvertTo-Json -depth 32| set-content -Path 'C:/Program Files (x86)/Roblox/Versions/version-*/ClientSettings/ClientAppSettings.json'
# Run your tests with run-in-roblox
- name: Run tests
run: |
run-in-roblox --place ./tests/test.rbxl --script ./tests/TestRunner.lua
|
Adding the following for me has resolved the issue (for now): - name: Add RBXID to the Windows registry
run: REG ADD HKCU\Software\RobloxStudioBrowser\roblox.com /t REG_SZ /v .RBXID /d "${{ secrets.RBXID }}" I have been getting consistent test passes with this step. It also does not appear flipping flags is necessary anymore. This is something that should be included in roblox-win-installer as it already adds the ROBLOSECURITY cookie to the registry. If someone could look into making this change it would be much appreciated |
@vocksel what is secrets.RBXID and how do I get it? I assumed is it the Roblox UserId of the cookie owner After doing both methods the test still fails for me name: Roblox Unit Test
on: [push]
jobs:
Run-Tests:
runs-on: windows-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v1
- name: Install Tools
uses: Roblox/setup-foreman@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Install Roblox Studio
uses: OrbitalOwen/[email protected]
with:
cookie: ${{ secrets.ROBLOSECURITY }}
token: ${{ secrets.GITHUB_TOKEN }}
- name: Add RBXID to the Windows registry
run: REG ADD HKCU\Software\RobloxStudioBrowser\roblox.com /t REG_SZ /v .RBXID /d "${{ secrets.RBXID }}"
# Flip flag that causes issue
- name: Create fflag overrides
run: |
$flags = @{DFIntStudioUseNewLoginDataEndpointHundredthPercent=0; FFlagStudioUseNewLoginDataEndpoint=$false}
New-Item -Path 'C:/Program Files (x86)/Roblox/Versions/version-*/' -Name "ClientSettings" -ItemType "directory"
New-Item -Path 'C:/Program Files (x86)/Roblox/Versions/version-*/ClientSettings' -Name "ClientAppSettings.json"
$flags | ConvertTo-Json -depth 32| set-content -Path 'C:/Program Files (x86)/Roblox/Versions/version-*/ClientSettings/ClientAppSettings.json'
- name: Run tests
run: |
run-in-roblox --place "./Time Attack!.rbxlx" --script ./src/TestService/TestServer/init.lua
run-in-roblox --place "./Time Attack!.rbxlx" --script ./src/TestService/TestClient/init.lua |
RBXID is a cookie required for authenticating with Studio. You can find it in the same place as your ROBLOSECURITY cookie. I haven't had good luck recently getting this workflow to work, but I'm told that flipping But I'm not confident that this solution will last forever |
@vocksel Flipping the flag worked for a while, but the most recent CI runs I've had have failed. It's not future proof, and I think the future is now. |
My runs have been failing and I can't get this to work. I realized that Roblox made a change in which cookies are invalidated with IP changes. How would I go about logging in and getting the cookies from the workflow? I'm not too familiar with these things. |
Any updates on this? I am running into the same issue |
I'm running into the same issue. |
Anybody got anything working on CI? |
i'm pretty sure nobody has been working on this for a while now try looking into Cloud API for Luau Tasks https://devforum.roblox.com/t/beta-open-cloud-engine-api-for-executing-luau/3172185 |
When using run-in-roblox in a
windows-latest
GitHub Action I get the errorTimeout reached while waiting for Roblox Studio to come online
. This happens 100% of the time in the action but I am not able to reproduce it locally.I am running
run-in-roblox
with a.rbxl
file that is 17MB in size. The following is the relevent part of my workflow YML:The
npm test
command isrun-in-roblox --place game.rbxl --script ci-scripts/unit-testing.lua
.The text was updated successfully, but these errors were encountered: