Skip to content

fix(ci): use recursive glob so Linux release assets attach to tag#46

Open
Cmochance wants to merge 1 commit into
mainfrom
ci/linux-release-glob
Open

fix(ci): use recursive glob so Linux release assets attach to tag#46
Cmochance wants to merge 1 commit into
mainfrom
ci/linux-release-glob

Conversation

@Cmochance
Copy link
Copy Markdown
Owner

@Cmochance Cmochance commented May 21, 2026

Summary

  • Switch the release step's files: globs from <dir>/* to <dir>/**/* so nested Linux artifacts attach to tag releases.
  • macOS/Windows artifacts already live one level deep; the recursive glob is a no-op for them.
  • No behavior change for the build matrix itself — only the upload step.

Why

tauri build --target x86_64-unknown-linux-gnu writes outputs into bundle/deb/ and bundle/appimage/ subdirs. actions/upload-artifact@v4 preserves that nesting, so after download-artifact the files land at:

artifacts/codex-switch-linux-x86_64/deb/codex_switch_<ver>_amd64.deb
artifacts/codex-switch-linux-x86_64/appimage/codex_switch_<ver>_amd64.AppImage

The previous one-level glob did not match them. v1.5.11's tag run #26227156880 logged:

🤔 Pattern 'artifacts/codex-switch-linux-x86_64/*' does not match any files.

So the Linux build job reported success but the assets never reached the release — v1.5.11 shipped without Linux assets even though the artifacts were sitting in the run.

(v1.5.11's missing assets have already been backfilled manually using the still-cached artifact; this PR prevents recurrence.)

Test plan

  • Workflow YAML diff is the only change
  • Cut a tag (next release) and confirm the release draft includes *_amd64.deb and *_amd64.AppImage alongside the existing macOS/Windows assets

Open in Devin Review

`tauri build --target x86_64-unknown-linux-gnu` writes `.deb` to a
`deb/` subdir and `.AppImage` to an `appimage/` subdir. `actions/upload-artifact@v4`
preserves that nesting, so after `download-artifact`, the Linux files
live at `artifacts/codex-switch-linux-x86_64/deb/*.deb` and
`.../appimage/*.AppImage`. The previous one-level glob
`artifacts/codex-switch-linux-x86_64/*` did not match anything; v1.5.11
tag build logged `Pattern '...' does not match any files.` and the
Linux artifacts were silently missing from the release while the
build job reported success.

Switch all four platform globs to `**/*` so they recurse. macOS/Windows
already flatten to a single level, so the change is a no-op for them.
Copy link
Copy Markdown

@devin-ai-integration devin-ai-integration Bot left a comment

Choose a reason for hiding this comment

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

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 1 additional finding.

Open in Devin Review

@Cmochance
Copy link
Copy Markdown
Owner Author

用户行动项

  • Squash-merge 本 PR(只改 CI workflow,与代码行为无关,本地无需手测)
  • 下次发 tag 时验收:release 的 assets 列表应同时出现 *_amd64.deb*_amd64.AppImage,与 macOS/Windows 资产并列

已自动处理

  • v1.5.11 缺失的 Linux 资产已从 build #26227156880 的现存 artifact 直接补传到 release(.deb + .AppImage),不必重跑 workflow

不会影响

  • macOS / Windows 资产路径单层,**/* 对它们是 no-op

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.

1 participant