Skip to content

refactor(build): unify VS Code packaging and release profiles#240

Merged
hongjr03 merged 85 commits into
masterfrom
perf/optimize-bin-size
Jun 8, 2026
Merged

refactor(build): unify VS Code packaging and release profiles#240
hongjr03 merged 85 commits into
masterfrom
perf/optimize-bin-size

Conversation

@roife
Copy link
Copy Markdown
Member

@roife roife commented Jun 8, 2026

This change unifies the VS Code extension packaging flow around focused packaging modules and cargo xtask server preparation, while keeping release binaries smaller by enabling release size optimizations and making profile tracing an opt-in feature that is only packaged for debug/profile builds.

hongjr03 added 30 commits June 6, 2026 18:01
Copilot AI review requested due to automatic review settings June 8, 2026 04:36
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR reduces the size of vide release binaries by tightening Rust release build settings and making Chrome/Perfetto profiling trace support opt-in via a Cargo feature, while preserving incremental compilation for non-tag builds.

Changes:

  • Enable Thin LTO and set codegen-units = 1 for the default release profile to improve binary size.
  • Make tracing-chrome optional and gate profile trace setup behind a new profile-trace feature, with a clear runtime error when profiling is requested without the feature.
  • In release CI, disable release incremental compilation only for tag-based (v*) pushes, including for the manylinux docker build.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
src/main.rs Gates profile tracing behind profile-trace and returns a helpful error when requested without the feature.
Cargo.toml Makes tracing-chrome optional, adds profile-trace feature, and enables Thin LTO + codegen-units=1 in release.
.github/workflows/release.yml Disables release incremental builds only for tag push releases and passes the env override into the manylinux docker build.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/main.rs Outdated
@roife roife force-pushed the perf/optimize-bin-size branch from c614d97 to 261a26f Compare June 8, 2026 04:41
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 8, 2026

Docs preview: https://vide.pascal-lab.net/preview/pr-240/

@hongjr03 hongjr03 changed the title perf: optimize bin size of release builds refactor(build): unify VS Code packaging and release profiles Jun 8, 2026
@hongjr03 hongjr03 merged commit fbf5265 into master Jun 8, 2026
12 checks passed
@hongjr03 hongjr03 deleted the perf/optimize-bin-size branch June 8, 2026 09:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants