Skip to content

Stop shipping broken agent-skill symlinks in the source release - #73107

Merged
vincbeck merged 1 commit into
apache:mainfrom
potiuk:exclude-claude-dir-from-source-release
Sep 14, 2026
Merged

Stop shipping broken agent-skill symlinks in the source release#73107
vincbeck merged 1 commit into
apache:mainfrom
potiuk:exclude-claude-dir-from-source-release

Conversation

@potiuk

@potiuk potiuk commented Sep 13, 2026

Copy link
Copy Markdown
Member

Everything under .claude/skills is a relay symlink into .agents/skills.
.agents is export-ignored (added in #68851) but .claude was not, so
git archive strips the targets and ships the links: unpacking the source
release gives you broken symlinks, and .claude/ arrives containing nothing
but those dead links.

Adding .claude export-ignore removes exactly that directory and nothing else.

Verified with git archive against main:

before after
dangling symlinks in tarball 4 0
.claude/ in tarball yes (only dead links inside) gone
entries removed .claude/ + its 4 relays, nothing more

The 31 other symlinks in the tarball all still resolve.

.github needs no equivalent entry — its own skills relays are already
covered by the existing .github export-ignore.

Not a blocker for 3.3.2

Found while verifying 3.3.2rc1, whose source tarball carries five of these.
This is explicitly non-blocking for the release in flight. The same
dangling links are in the already-released 3.3.1, so it is long-standing
rather than a regression, and it breaks no part of the build. If an rc2
happens for other reasons this could ride along; it does not justify one on
its own.


Was generative AI tooling used to co-author this PR?
  • Yes — Claude Opus 5

Generated-by: Claude Opus 5 following the guidelines

Excluding .agents from the source tarball (apache#68851) left .claude behind.
Everything under .claude/skills is a relay symlink into .agents/skills, so
export-ignore strips the targets while the links themselves still ship:
unpacking the source release yields broken symlinks, and .claude/ arrives
holding nothing but those dead links.

Found while verifying 3.3.2rc1, whose tarball carries five of them. The
released 3.3.1 carries the same ones, so this is long-standing rather than
something a recent change introduced.

.github needs no equivalent entry: its own skills relays are already
covered by the existing .github export-ignore.

Generated-by: Claude Opus 5
Claude-Session: https://claude.ai/code/session_01DCUVuZ8CCeER1QLhVEKAaZ
@vincbeck
vincbeck merged commit 4b0eb8e into apache:main Sep 14, 2026
65 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

Backport successfully created: v3-3-test

Note: As of Merging PRs targeted for Airflow 3.X
the committer who merges the PR is responsible for backporting the PRs that are bug fixes (generally speaking) to the maintenance branches.

In matter of doubt please ask in #release-management Slack channel.

Status Branch Result
v3-3-test PR Link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport-to-v3-3-test Backport to v3-3-test

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants