-
-
Notifications
You must be signed in to change notification settings - Fork 43
refactor: use Burrito for packaging #22
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
Conversation
327323d to
2c94e28
Compare
4d8aed0 to
32644c2
Compare
1864da9 to
0047f4d
Compare
a1101ae to
2ff1264
Compare
mhanberg
left a comment
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.
lets merge #35 into this PR and then we can merge this.
i'll work on the release workflow, and you can get the precompiled engine matrix going
a7a7498 to
15ce974
Compare
15ce974 to
3043a23
Compare
* refactor: integrate GenLSP * fixup!: fix tests * fixup!: use persistent_term instead of adding .lsp to Project * fixup!: fix dialyzer issues * fixup!: Don't use parenthesis on 0-arity function * fixup!: cleanup credo changes * fixup!: Remove outdated comments * fixup!: use info severity for normal shutdown log * fixup!: cleanup credo changes * refactor: isolate Engine from Expert * refactor: rename project node modules and simplify EngineApi/EngineNode code * refactor: use Burrito for packaging * chore: update github release workflow * feat: add plain(non burrito) releases * chore: Remove release-please-action * chore: Remove build/release tasks * chore: fix unordered aliases * chore: update lockfile * fix: rollback change to elixir version * chore: remove ci integration tests Using burrito we're no longer trying to activate the user's elixir executable on boot, making those tests stale * Revert changes to the release workflow It will be done in a follow-up PR * chore: add ci test for release builds * wip --------- Co-authored-by: doorgan <dorgandash@gmail.com>
|
To recap the trouble I have been having testing this locally on x86_64 linux:
I am left with confusion why it passed in CI, but can't seem to pass for me locally. Digit is going to investigate, and I am going to invite him to the repository so it's easier for him. |
Digit was able to get it to wrap in a VM, so I'm just going to classify this as I'm cursed and I'll figure it out later |
mhanberg
left a comment
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.
Seems fine burrito wise, please merge at your discretion.
Updates Expert to use Burrito for packaging
This builds both Expert and Engine with the same elixir and otp versions, the idea is that next we will build several Engine versions in CI and Expert will download the right one for the current project, or default to the one included in it.
To build a release for your machine:
To build releases for macos, linux and windows:
To only build Engine(this will generate namespaced files at
apps/engine/_build/dev_ns:Note that Engine will be built for
devand notprod, this is because it makes use ofMix.Projectand related code, which would not be available if it were build withprod. The idea behind this command is that we will have a CI step on release that will runmake build.engineagainst a matrix of supported elixir+otp versions and publish those artifacts, which Expert will then download so it matches the exact project versions.There are some other relatively minor differences or things to note:
debug_shell.shscript in it, as far as I can see. We need to rethink how to do this, we can still connect an observer to the server node with:observer.start(:"manager-project-entropy@127.0.0.1")but I'm not sure how to open a remote session like one would with a regular release script.Engine.Api). Because that code was moved to Expert and is no longer accessible by Engine, those tests were moved to Expert to avoid circular dependencies on tests.