René's URL Explorer Experiment


Title: [codex] Add desktop release workflow by DragonnZhang · Pull Request #4 · modelstudioai/openwork · GitHub

Open Graph Title: [codex] Add desktop release workflow by DragonnZhang · Pull Request #4 · modelstudioai/openwork

X Title: [codex] Add desktop release workflow by DragonnZhang · Pull Request #4 · modelstudioai/openwork

Description: What this PR does Adds a manually triggered desktop release workflow that builds OpenWork installers for macOS, Windows, and Linux, uploads the generated installers as GitHub Actions artifacts, and can publish them to GitHub Releases when dry run mode is disabled. The workflow now takes a desktop app version input, normalizes 0.0.2 or v0.0.2 into package version 0.0.2 and release tag v0.0.2, then fails before building if the source versions do not match the requested release version. Why it's needed OpenWork already has local Electron packaging commands, but there was no GitHub Actions path for producing cross-platform desktop installers or attaching them to the Release tab. This workflow gives maintainers a safe dry-run path first, then an explicit publish path for draft or public releases. Keeping the app package version and Release tag aligned is also the base contract needed before wiring electron auto-update metadata later. Reviewer Test Plan How to verify Run the Desktop Release workflow from GitHub Actions with a semver version that matches the source package versions. With the current source, use 0.0.1 or v0.0.1 and keep dry_run=true; confirm the version validation job passes, the macOS, Windows, and Linux build jobs complete, the Dry Run Summary lists generated assets, and no GitHub Release is created or updated. To test a future 0.0.2 release, first update package.json, apps/electron/package.json, and packages/shared/package.json to 0.0.2; otherwise the workflow should fail before building. For release publishing, rerun with dry_run=false and draft=true, then confirm the draft release uses tag v0.0.2 and contains the uploaded installer assets. Evidence (Before & After) N/A. This is CI release automation, not a user-visible UI change. Tested on OS Status 🍏 macOS ✅ tested 🪟 Windows ⚠️ not tested 🐧 Linux ⚠️ not tested Environment (optional) Local checks on macOS: bun run check-release-version --version 0.0.1 bun run check-release-version --version v0.0.1 bun run check-release-version --version 0.0.2 fails as expected while source versions are still 0.0.1 ruby -e 'require "yaml"; YAML.load_file(".github/workflows/desktop-release.yml"); puts "YAML OK"' go run github.com/rhysd/actionlint/cmd/actionlint@latest .github/workflows/desktop-release.yml git diff --check Risk & Scope Main risk or tradeoff: The first real installer build still needs to happen on GitHub-hosted macOS, Windows, and Linux runners because local validation only proves workflow syntax, version checks, and shell structure. Not validated / out of scope: Code signing, notarization, Windows signing, and electron auto-update feed behavior are intentionally not enabled by this PR. Breaking changes / migration notes: None. Linked Issues N/A 中文说明 What this PR does 新增一个手动触发的桌面端发布 workflow,可以为 OpenWork 构建 macOS、Windows、Linux 安装包,把生成的安装包上传为 GitHub Actions artifacts,并且在关闭 dry run 后把这些安装包发布到 GitHub Releases。 这个 workflow 现在使用桌面端 app version 输入,会把 0.0.2 或 v0.0.2 统一成 package version 0.0.2 和 release tag v0.0.2。如果源码里的版本号和这次要发布的版本不一致,workflow 会在 build 前失败。 Why it's needed OpenWork 已经有本地 Electron 打包命令,但之前没有 GitHub Actions 链路来生成跨平台桌面端安装包,也没有把安装包挂到 Release tab 的自动流程。这个 workflow 先提供安全的 dry run 路径,再提供明确的 draft 或公开发布路径。 保持 app package version 和 Release tag 一致,也是后续接 electron 自动更新 metadata 前必须有的基础约定。 Reviewer Test Plan How to verify 在 GitHub Actions 里运行 Desktop Release workflow,输入和源码 package 版本一致的 semver。以当前源码为例,输入 0.0.1 或 v0.0.1,保持 dry_run=true;确认版本校验 job 通过,macOS、Windows、Linux 构建 job 都完成,Dry Run Summary 能列出生成的资产,并确认没有创建或更新 GitHub Release。 如果要测试未来的 0.0.2 发布,需要先把 package.json、apps/electron/package.json、packages/shared/package.json 都更新到 0.0.2;否则 workflow 应该会在 build 前失败。要验证 Release 上传时,用 dry_run=false 和 draft=true 重新运行,然后确认 draft release 的 tag 是 v0.0.2,并且包含上传的安装包资产。 Evidence (Before & After) N/A。这是 CI 发布自动化,不是用户可见 UI 改动。 Tested on OS Status 🍏 macOS ✅ tested 🪟 Windows ⚠️ not tested 🐧 Linux ⚠️ not tested Environment (optional) macOS 本地检查: bun run check-release-version --version 0.0.1 bun run check-release-version --version v0.0.1 bun run check-release-version --version 0.0.2 在源码仍是 0.0.1 时按预期失败 ruby -e 'require "yaml"; YAML.load_file(".github/workflows/desktop-release.yml"); puts "YAML OK"' go run github.com/rhysd/actionlint/cmd/actionlint@latest .github/workflows/desktop-release.yml git diff --check Risk & Scope Main risk or tradeoff: 第一次真实安装包构建仍然需要在 GitHub 托管的 macOS、Windows、Linux runner 上执行,因为本地校验只证明 workflow 语法、版本校验和 shell 结构是正确的。 Not validated / out of scope: 本 PR 不启用代码签名、公证、Windows 签名,也不处理 electron 自动更新 feed。 Breaking changes / migration notes: 无。 Linked Issues N/A

Open Graph Description: What this PR does Adds a manually triggered desktop release workflow that builds OpenWork installers for macOS, Windows, and Linux, uploads the generated installers as GitHub Actions artifacts, and...

X Description: What this PR does Adds a manually triggered desktop release workflow that builds OpenWork installers for macOS, Windows, and Linux, uploads the generated installers as GitHub Actions artifacts, and...

Opengraph URL: https://github.com/modelstudioai/openwork/pull/4

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:96a363f2-1be0-bbde-1797-b856a66665f4
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idBA88:E28FC:D9AE2B:120FF74:6A51B97D
html-safe-noncefbf7b842130bda66df2fbaac4ba8480b9eb547dada9db708334c5335aaff8385
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCQTg4OkUyOEZDOkQ5QUUyQjoxMjBGRjc0OjZBNTFCOTdEIiwidmlzaXRvcl9pZCI6IjE2Mzg2Mzg3Mzk0MTk5MzcxNDkiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmacc84e2bcc6d536735689efbaa08f652c4b42c7c1712b68f1c5ad82aa6bf13d747
hovercard-subject-tagpull_request:3822200598
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/modelstudioai/openwork/pull/4/files
twitter:imagehttps://avatars.githubusercontent.com/u/52599892?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/52599892?s=400&v=4
og:image:altWhat this PR does Adds a manually triggered desktop release workflow that builds OpenWork installers for macOS, Windows, and Linux, uploads the generated installers as GitHub Actions artifacts, and...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Noneb9a586c06a05a7a86fc7e3f4dbd03e42f6869085879aa184aa6369456dbd50fb
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/modelstudioai/openwork git https://github.com/modelstudioai/openwork.git
octolytics-dimension-user_id283556804
octolytics-dimension-user_loginmodelstudioai
octolytics-dimension-repository_id1256697754
octolytics-dimension-repository_nwomodelstudioai/openwork
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id1256697754
octolytics-dimension-repository_network_root_nwomodelstudioai/openwork
turbo-body-classeslogged-out env-production page-responsive
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release7aed05249554b889eb33d002851a973eebcc7e91
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/modelstudioai/openwork/pull/4/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmodelstudioai%2Fopenwork%2Fpull%2F4%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmodelstudioai%2Fopenwork%2Fpull%2F4%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=modelstudioai%2Fopenwork
Reloadhttps://github.com/modelstudioai/openwork/pull/4/files
Reloadhttps://github.com/modelstudioai/openwork/pull/4/files
Reloadhttps://github.com/modelstudioai/openwork/pull/4/files
Please reload this pagehttps://github.com/modelstudioai/openwork/pull/4/files
modelstudioai https://github.com/modelstudioai
openworkhttps://github.com/modelstudioai/openwork
Notifications https://github.com/login?return_to=%2Fmodelstudioai%2Fopenwork
Fork 3 https://github.com/login?return_to=%2Fmodelstudioai%2Fopenwork
Star 11 https://github.com/login?return_to=%2Fmodelstudioai%2Fopenwork
Code https://github.com/modelstudioai/openwork
Issues 14 https://github.com/modelstudioai/openwork/issues
Pull requests 12 https://github.com/modelstudioai/openwork/pulls
Actions https://github.com/modelstudioai/openwork/actions
Projects https://github.com/modelstudioai/openwork/projects
Security and quality 0 https://github.com/modelstudioai/openwork/security
Insights https://github.com/modelstudioai/openwork/pulse
Code https://github.com/modelstudioai/openwork
Issues https://github.com/modelstudioai/openwork/issues
Pull requests https://github.com/modelstudioai/openwork/pulls
Actions https://github.com/modelstudioai/openwork/actions
Projects https://github.com/modelstudioai/openwork/projects
Security and quality https://github.com/modelstudioai/openwork/security
Insights https://github.com/modelstudioai/openwork/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fmodelstudioai%2Fopenwork%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fmodelstudioai%2Fopenwork%2Fissues%2Fnew%2Fchoose
DragonnZhanghttps://github.com/DragonnZhang
mainhttps://github.com/modelstudioai/openwork/tree/main
dragon/add-desktop-release-workflowhttps://github.com/modelstudioai/openwork/tree/dragon/add-desktop-release-workflow
Conversation 0 https://github.com/modelstudioai/openwork/pull/4
Commits 1 https://github.com/modelstudioai/openwork/pull/4/commits
Checks 0 https://github.com/modelstudioai/openwork/pull/4/checks
Files changed https://github.com/modelstudioai/openwork/pull/4/files
Please reload this pagehttps://github.com/modelstudioai/openwork/pull/4/files
[codex] Add desktop release workflow https://github.com/modelstudioai/openwork/pull/4/files#top
Show all changes 1 commit https://github.com/modelstudioai/openwork/pull/4/files
3aa8894 ci: add desktop release workflow DragonnZhang Jun 8, 2026 https://github.com/modelstudioai/openwork/pull/4/commits/3aa8894d6b8dad055da922c97e005d92547d3845
Clear filters https://github.com/modelstudioai/openwork/pull/4/files
Please reload this pagehttps://github.com/modelstudioai/openwork/pull/4/files
Please reload this pagehttps://github.com/modelstudioai/openwork/pull/4/files
.github/workflows/desktop-release.ymlhttps://github.com/modelstudioai/openwork/pull/4/files#diff-74d52c7679436607803289e317eb95b8c2fd90bd2ba4ff4375d37197d62e1775
View file https://github.com/modelstudioai/openwork/blob/3aa8894d6b8dad055da922c97e005d92547d3845/.github/workflows/desktop-release.yml
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/modelstudioai/openwork/pull/4/{{ revealButtonHref }}
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.