-
Notifications
You must be signed in to change notification settings - Fork 30.1k
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
Update build process to include integrated CLI #161640
Conversation
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.
Not yet a full review, but just an observation from a chat discussion: we should zip these up before they end up in our storage and further eat at our CDN costs.
zipping
cli-alpine-x64
makes the asset go from 10MB to 4MB
Marking as draft, pending a full review early October. |
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.
General comments:
- Injecting targets/artifact names from
product-build.yml
makes the pipelines harder to reason about. Let's be less smart and just describe each platform/arch in the specific*.yml
files. - Instead of
build/cli
directory, it's best to havecli
in the names of the pipelines, as inbuild/darwin/cli-compile-darwin
,build/cli-prepare.yml
,build/cli-test.yml
, etc. - Don't use
macos
, butdarwin
. - The whole
vspkg
usage looks very strange to me. Why is this necessary? Can we abstract this whole thing away in Cargo? If this is only about fetchingopenssl
, can't we manually do that instead? How is thisopenssl
usage tracked in terms of OSS licensing, component governance, Third-Party-Notices, etc?
General notes:
- It would have been helpful to have reviewed the whitespace changes in a separate PR.
- ${{ if eq(parameters.VSCODE_BUILD_WIN32, true) }}: | ||
- x64-windows-static-md | ||
- ${{ if eq(parameters.VSCODE_BUILD_WIN32_ARM64, true) }}: | ||
- arm64-windows-static-md | ||
vcpkgDir: $(Build.SourcesDirectory)/build/azure-pipelines/cli/vcpkg |
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.
What about 32-bit Windows? And what if 32-bit Windows is the only Windows platform being built? This targets
array will be empty. Should these steps run at all?
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 just have not yet tested win32, though it should(?) work. That is on my plate for this month, and I can try that in this PR if you want; my goal was to get initial build bits migrated and in without changes to the CLI itself.
We use this to grab a Windows build of OpenSSL. This is currently required by our SSH crate, russh, for its cryptography. However I soon plan to move this to either use native Windows |
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.
Thanks for simplifying, we're getting there!
Apparently I can't comment on it, but: my plan for that is to make the necessary Cargo.toml changes in vscode-distro and have them merge in. But I will do that in a followup PR (in distro) once this is in to avoid conflicts. |
46a9ad0
to
fba577c
Compare
fba577c
to
ebd5936
Compare
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.
Last round. Happy to approve and merge this once rest of comments are addressed. ✅
Review without whitespace diffs
code-tunnel-exploration
prepare.ts
script that sets variables for product.json and version informationExample pipeline run: https://dev.azure.com/monacotools/Monaco/_build/results?buildId=186450&view=results
Fixes #159789