Skip to content

fix(editors): include complete license texts - #16892

Open
0xKarl98 wants to merge 3 commits into
masterfrom
fix/editor-license-packaging
Open

0xKarl98 wants to merge 3 commits into
masterfrom
fix/editor-license-packaging

Conversation

@0xKarl98

@0xKarl98 0xKarl98 commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

Follow-up to #16730. With core.symlinks=false, Git checks out editor license symlinks as files containing paths such as ../../LICENSE-MIT. Forge and local editor packages then include those paths instead of the full license texts.

Forge now embeds both licenses directly from the repository root. VS Code packaging stages the existing package contents with copies of the root licenses before creating the VSIX and removes the temporary staging directory afterward. The Zed archive instructions also read licenses from the repository root. Forge regression coverage compares the extracted license contents with the root files.

This PR requires the L-ignore changelog exemption.

AI assistance: Codex reviewed the PR, verified the packaging behavior, and removed the changelog entry. This disclosure covers that follow-up work.

Read root licenses directly when embedding the VS Code client and staging
local VSIX packages. Update the Zed archive recipe to source the same root
files so core.symlinks=false cannot package symlink target strings.

Check the extracted and packaged license contents in editor CI with Git
symlink support disabled.
@github-actions

Copy link
Copy Markdown
Contributor

✅ Changelog found

The deterministic check will validate the changed entry.

@0xKarl98
0xKarl98 marked this pull request as draft September 16, 2026 08:52
@0xKarl98
0xKarl98 marked this pull request as ready for review September 16, 2026 09:02
Comment thread .github/workflows/editors.yml Outdated
Comment on lines +44 to +49
- name: Exercise license files without Git symlink support
run: |
rm editors/vscode/LICENSE-MIT editors/vscode/LICENSE-APACHE
git -c core.symlinks=false checkout-index --force -- editors/vscode/LICENSE-MIT editors/vscode/LICENSE-APACHE
test ! -L editors/vscode/LICENSE-MIT
test ! -L editors/vscode/LICENSE-APACHE

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I don't think it's necessary to run in workflow.

@0xKarl98 0xKarl98 Sep 16, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Yeah can remove that , just additional but not necessary CI

Comment thread .github/workflows/editors.yml Outdated
Comment on lines +70 to +80
- name: Verify VSIX license contents
run: |
python3 - <<'PY'
from pathlib import Path
from zipfile import ZipFile

with ZipFile("editors/vscode/bundle/solar-lsp.vsix") as package:
for name in ("LICENSE-MIT", "LICENSE-APACHE"):
assert package.read(f"extension/{name}") == Path(name).read_bytes(), name
assert package.read("extension/syntaxes/LICENSE") == Path("editors/vscode/syntaxes/LICENSE").read_bytes()
PY

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

same

Remove the dedicated symlink-disabled checkout simulation and VSIX license content check as requested in review. Keep the root license packaging fix and existing Forge license assertions.
Remove the editor license packaging release note as requested.

AI assistance: Codex removed the changelog entry and verified the commit scope.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

2 participants