Skip to content

Conversation

@joshuahuburn
Copy link
Contributor

@joshuahuburn joshuahuburn commented Apr 1, 2020

Because we were using the project directory to symlink the engine in this script, the location of the fastbuild database was changing for each project that ran a build on a single agent.
Fastbuild databases are not meant to be moved as they are path maps, doing so causes the build to fail.

In the UnrealGDK we symlink the UnrealEngine to a static location that doesn't include the project name, I have replicated this here.

We did not notice this issue before as the various CI pipelines were using different build queues and thus the same agents were not used.

Build: https://buildkite.com/improbable/unrealgdkexampleproject-nightly/builds/876

Equivalent GDK PR: spatialos/UnrealGDK#1962
Equivalent TestGyms PR: https://github.com/improbable/TestGymBuildKite/pull/52

@joshuahuburn joshuahuburn self-assigned this Apr 1, 2020
@improbable-prow-robot improbable-prow-robot added jira/no-ticket Indicates a PR has no corresponding JIRA ticket size/XS Denotes a PR that changes 0-14 lines, ignoring generated files. labels Apr 1, 2020
@joshuahuburn joshuahuburn requested review from m-samiec and mironec April 1, 2020 11:59
[string] $project_name = "unreal_gdk"
[string] $project_name = "unreal_gdk",
[string] $build_home = (Get-Item "$($PSScriptRoot)").parent.parent.FullName, ## The root of the entire build. Should ultimately resolve to "C:\b\<number>\".
[string] $unreal_engine_symlink_dir = "$build_home\UnrealEngine"
Copy link
Contributor

Choose a reason for hiding this comment

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

do we need to make sure to clean up the symlink before / after each build?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Nah, we're just changing the symlink location, it's previous functionality was sufficient.

Copy link
Contributor

Choose a reason for hiding this comment

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

yes, but now the symlink is outside of the folder that gets checked out and cleaned before each build. so that symlink won't get cleaned up, plus the GDK uses the same symlink location (we do clean it up there before each build btw)

Copy link
Contributor

Choose a reason for hiding this comment

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

This is a valid point, because the creation of the symlink will probably fail on a new build, since one could be present already. We can do a quick fix by just deleting the symlink before creating it (if it exists).

Copy link
Contributor

Choose a reason for hiding this comment

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

did this get addressed?

Copy link
Contributor

@mironec mironec Apr 1, 2020

Choose a reason for hiding this comment

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

Yeah, spoke offline/online, we delete the symlink before linking again, so should be fine

@improbable-prow-robot improbable-prow-robot added size/S Denotes a PR that changes 15-39 lines, ignoring generated files. and removed size/XS Denotes a PR that changes 0-14 lines, ignoring generated files. labels Apr 1, 2020
@joshuahuburn joshuahuburn merged commit cc0f74a into master Apr 1, 2020
@joshuahuburn joshuahuburn deleted the bugfix/engine-directory-fb-fix branch April 1, 2020 15:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

jira/no-ticket Indicates a PR has no corresponding JIRA ticket size/S Denotes a PR that changes 15-39 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants