-
Notifications
You must be signed in to change notification settings - Fork 55
gRPC server for Bicep #1330
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
Open
andyleejordan
wants to merge
31
commits into
PowerShell:main
Choose a base branch
from
andyleejordan:bicep-gRPC
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
gRPC server for Bicep #1330
Changes from all commits
Commits
Show all changes
31 commits
Select commit
Hold shift + click to select a range
e598a1d
Update .gitignore for tree-sitter files
andyleejordan bde1fc7
Add bicep.proto file
andyleejordan 92b6e01
Basic CLI plumbing for Bicep gRPC server
andyleejordan 1868e58
Add Rust tonic and prost packages for gRPC
andyleejordan 4b79f4f
Implement stub Bicep gRPC server
andyleejordan 8039b6c
Refactor to stand-alone dscbicep binary
andyleejordan 6d74da5
Always attach debugger
andyleejordan 3793117
Start to implement create_or_update gRPC method
andyleejordan 34d5875
Place the dscbicep binary
andyleejordan 8382304
Reuse Tokio runtime in invoke_command
andyleejordan 403c2fa
Add tracing
andyleejordan 169eeb6
Don't build gRPC client
andyleejordan 90b7b1f
Basic implementation of all methods
andyleejordan b93d598
Check environment for tracing and debug settings
andyleejordan 9900616
Add a default HTTP server for debugging with grpcurl
andyleejordan c693ecc
Add tonic-reflection package
andyleejordan 841cd13
Add tonic reflection service
andyleejordan 093a165
Refactor use std::
andyleejordan 621a34d
Implement fuller return responses
andyleejordan df36a0a
Fix bugs
andyleejordan 1f37f5d
Unwrap DSC result structs to property bags
andyleejordan 4266b52
Simplify and remove direct serde dependency
andyleejordan 177d0b0
Clean up error handling
andyleejordan fd310e6
Slight socket code clean up
andyleejordan c7c1d06
Hacky support for named pipes
andyleejordan cd87700
Use tokio correctly by informing it we're about to block
andyleejordan 01629a6
Update to use DiscoveryFilter
andyleejordan aeed883
Ensure Protobuf is available in build
andyleejordan d9d2b9e
Use Test-CommandAvailable for protoc and node
andyleejordan 254eed3
Add WinGet links to PATH on Windows
andyleejordan 873c479
Localize strings in dscbicep
andyleejordan File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,11 +1,12 @@ | ||
| target | ||
| build/ | ||
| target/ | ||
| bin/ | ||
| .DS_Store | ||
| *.msix | ||
|
|
||
| # Node.js generated files for tree-sitter | ||
| build/ | ||
| node_modules/ | ||
| # Generated files for tree-sitter | ||
| grammars/**/bindings/ | ||
| grammars/**/src/ | ||
| grammars/**/parser.* | ||
| tree-sitter-ssh-server-config/ | ||
| tree-sitter-dscexpression/ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
This was necessary for Protobuf because
protoc.exeis made available by WinGet in this local app data path, which on GitHub images is not already in the PATH, and that is unlike the rest of our dependencies (Node.js is already installed system-wide and so in the PATH, tree-sitter isn't installed by installs via Cargo, this was our first installation on GitHub Actions using WinGet that doesn't run a system installer).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.
I think you should have this environment change in the build.helpers.psm1 for protobuf tool install instead of a one-off here
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.
This is specific to GitHub Actions. When you install Protobuf via WinGet on Windows normally,
protocis found in thePATH. It appears that GitHub Actions Windows images don't correctly include the WinGet path.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.
I think we could check for the
GITHUB_ACTIONSenvironment variable if we want to move this into the install function - that variable is always defined astruewhen running in GHA and unlikely to be accidentally set for local development.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.
Or it could just be in the GitHub Actions script 😅