-
Notifications
You must be signed in to change notification settings - Fork 4
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
chore: update build on dotnet to use release artifacts #158
Conversation
cd dotnet-engine | ||
version=${{ github.event.inputs.version }} | ||
sed -i "s/<Version>.*<\/Version>/<Version>$version<\/Version>/" Yggdrasil.Engine/Yggdrasil.Engine.csproj | ||
binaries=("libyggdrasilffi_aarch64.so linux/aarch64/libyggdrasilffi.so" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would love to have this list of binaries defined in one place across all builds but I can't see an obvious and sane way to do that right now
For the .NET case, we also have to put the binaries in specific locations, which makes this more challenging to abstract
Open to suggestions, but I'll probably do that in a future PR
dotnet restore dotnet-engine.sln | ||
sudo apt-get install -y xmlstarlet | ||
cd dotnet-engine/Yggdrasil.Engine | ||
CORE_VERSION=$(xmlstarlet sel -t -v "/Project/PropertyGroup/YggdrasilCoreVersion" -n Yggdrasil.Engine.csproj) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Dirty little cheat to pull the version property for Ygg out the raw XML, because apparently msbuild doesn't give you an option to do that from the command line #sad
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cool stuff
8996fde
to
0a71087
Compare
0a71087
to
afdfb6e
Compare
bb31b0c
to
526273d
Compare
Binary build is now handled by a completely different task that's fired on
cargo smart-release
(or just pushing a tag, but don't do that).The .NET build now picks up the binaries from the release artifacts, and uses an internal property - YggdrasilCoreVersion in its build files to set the version of Yggdrasil FFI that will be used. This means that our versioning is now tracked in source control