Skip to content

Chore: better published unsigned artifacts#22649

Merged
bolinfest merged 3 commits into
mainfrom
shijie/better-unsigned-build
May 14, 2026
Merged

Chore: better published unsigned artifacts#22649
bolinfest merged 3 commits into
mainfrom
shijie/better-unsigned-build

Conversation

@shijie-oai
Copy link
Copy Markdown
Collaborator

This is the exact same change as @bolinfest made but he could not push because of github action change permission.

Why

The rust-release workflow can now be run manually with sign_macos=false to skip macOS signing, but that path previously stopped before creating a GitHub Release. That left the unsigned macOS binaries available only as workflow-run artifacts, which are awkward to fetch from automation and cannot be retrieved with a simple unauthenticated curl.

For the unsigned path we still should not perform the normal release side effects: no npm or Python publishing, no WinGet publishing, no latest-alpha-cli branch update, and no promotion to GitHub's latest release. The goal is only to make the build outputs easy to fetch from the release page.

What changed

  • Allow the release job in .github/workflows/rust-release.yml to run for workflow_dispatch runs with sign_macos=false.
  • For unsigned runs, keep the unsigned macOS artifacts plus the normal Linux and Windows release artifacts needed for DotSlash, then create/update the GitHub Release with make_latest: false.
  • Keep the normal publish/promote paths gated to signed releases:
    • npm staging and publish
    • Python runtime publish
    • WinGet publish
    • latest-alpha-cli update
    • developer-site deploy
    • normal DotSlash release files
  • Add .github/dotslash-unsigned-config.json, which publishes *-unsigned DotSlash files that use unsigned macOS artifacts and the normal Linux/Windows artifacts.

What I added

PLEASE READ THIS!!!
I added codex-command-runner and codex-windows-sandbox-setup entries to .github/dotslash-unsigned-config.json so that with sign_macos=false we would still get the dotslash files for those artifacts which are necessary for windows builds.

Comment on lines +87 to +110
"codex-command-runner": {
"platforms": {
"windows-x86_64": {
"regex": "^codex-command-runner-x86_64-pc-windows-msvc\\.exe\\.zst$",
"path": "codex-command-runner.exe"
},
"windows-aarch64": {
"regex": "^codex-command-runner-aarch64-pc-windows-msvc\\.exe\\.zst$",
"path": "codex-command-runner.exe"
}
}
},
"codex-windows-sandbox-setup": {
"platforms": {
"windows-x86_64": {
"regex": "^codex-windows-sandbox-setup-x86_64-pc-windows-msvc\\.exe\\.zst$",
"path": "codex-windows-sandbox-setup.exe"
},
"windows-aarch64": {
"regex": "^codex-windows-sandbox-setup-aarch64-pc-windows-msvc\\.exe\\.zst$",
"path": "codex-windows-sandbox-setup.exe"
}
}
}
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

This is in addition to what was previously planned to account for window related artifacts.

Copy link
Copy Markdown
Contributor

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 009e2676ab

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +639 to +640
! -name 'aarch64-unknown-linux-musl' \
! -name 'x86_64-unknown-linux-musl' \
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P1 Badge Keep Linux app-server artifacts for unsigned releases

When workflow_dispatch runs with sign_macos=false, this filter keeps only the primary Linux artifact directories, but the app-server Linux binaries are uploaded under x86_64-unknown-linux-musl-app-server and aarch64-unknown-linux-musl-app-server (see the build matrix artifact names). The new unsigned DotSlash config still requires codex-app-server-*-unknown-linux-musl.zst, so the subsequent unsigned dotslash-publish-release step will not find matching Linux app-server release assets after these directories are deleted.

Useful? React with 👍 / 👎.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Addressed.

@shijie-oai
Copy link
Copy Markdown
Collaborator Author

@codex review

@chatgpt-codex-connector
Copy link
Copy Markdown
Contributor

Codex Review: Didn't find any major issues. Breezy!

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/workflows/rust-release.yml Outdated
- name: List
run: ls -R dist/

- name: Keep only unsigned macOS artifacts
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
- name: Keep only unsigned macOS artifacts
- name: Prune artifacts excluded from unsigned macOS release

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Also addressed

}
}
},
"codex-command-runner": {
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Can you also add:

"bwrap": {
  "platforms": {
    "linux-x86_64": {
      "regex": "^bwrap-x86_64-unknown-linux-musl\\.zst$",
      "path": "bwrap"
    },
    "linux-aarch64": {
      "regex": "^bwrap-aarch64-unknown-linux-musl\\.zst$",
      "path": "bwrap"
    }
  }
},

to match dotslash-config.json?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Added

@shijie-oai shijie-oai requested a review from bolinfest May 14, 2026 15:42
@bolinfest bolinfest merged commit e79e1b4 into main May 14, 2026
30 checks passed
@bolinfest bolinfest deleted the shijie/better-unsigned-build branch May 14, 2026 15:47
@github-actions github-actions Bot locked and limited conversation to collaborators May 14, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants