Skip to content

Harden CI/release workflows and make Ghost roadmap realistic#35

Merged
mohabbis merged 4 commits into
masterfrom
improve-ci-and-product-roadmap
Jun 14, 2026
Merged

Harden CI/release workflows and make Ghost roadmap realistic#35
mohabbis merged 4 commits into
masterfrom
improve-ci-and-product-roadmap

Conversation

@mohabbis

Copy link
Copy Markdown
Owner

Summary

This PR separates practical build stability work from product positioning cleanup.

CI / release changes

  • Reworks Rust CI so normal pushes run checks, tests, clippy, fmt, and a Tauri compile smoke test without packaging installers.
  • Keeps installer packaging in the release workflow, where native bundle dependencies belong.
  • Adds workflow_dispatch to release so packaging can be manually tested without pushing a tag.
  • Makes the macOS release job stage Ghost.dmg with explicit failure output if no DMG is produced.
  • Makes the Windows release job build an NSIS installer explicitly and fail with a clearer message if no installer exists.
  • Adds Chocolatey NSIS install step for Windows release packaging.
  • Extends artifact retention from 1 day to 7 days so debugging is less of a treasure hunt designed by a raccoon.

Product/docs changes

  • Rewrites the README to describe Ghost as an early-stage technical preview instead of overclaiming production maturity.
  • Clarifies what works today vs. what is experimental.
  • Adds docs/PRODUCT_ROADMAP.md with a realistic path toward a strong product:
    • reliable recording/replay,
    • workflow debugger,
    • target resolution,
    • constrained AI suggestions,
    • privacy/safety guardrails,
    • proper signing and installer quality.

Notes

I could not verify the exact failing job log from inside this pass because the run ID/log output was not provided. These changes target the likely failure class: mixing normal CI with native installer packaging and making release jobs harder to debug than necessary.

Test plan

  • Push branch and confirm Rust CI runs on macOS + Windows.
  • Run release workflow manually via workflow_dispatch.
  • Confirm macOS produces Ghost.dmg.
  • Confirm Windows produces Ghost_Setup.exe.
  • Confirm release assets upload when triggered from a version tag.

@vercel

vercel Bot commented Jun 14, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
ghost Ready Ready Preview, Comment Jun 14, 2026 2:57pm

@mohabbis mohabbis marked this pull request as ready for review June 14, 2026 14:58
@mohabbis mohabbis merged commit 8f93105 into master Jun 14, 2026
10 of 12 checks passed

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

Copy link
Copy Markdown

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: ea716bd416

ℹ️ 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".

push:
tags:
- "v*"
workflow_dispatch:

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Require a tag for manual releases

When this workflow is run via the newly added workflow_dispatch trigger from the default branch, both softprops/action-gh-release steps run without a tag ref or explicit tag_name, so the release upload is not tied to the intended v* tag and the manual release path fails or targets the branch name. The action's README recommends gating the release step with if: github.ref_type == 'tag' unless a tag_name is supplied, so add a tag input/checkout or restrict the manual trigger to tag refs before uploading assets.

Useful? React with 👍 / 👎.


- name: Run clippy
run: cargo clippy --manifest-path src-tauri/Cargo.toml -- -A warnings
run: cargo clippy --manifest-path src-tauri/Cargo.toml --all-targets -- -D warnings

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Don't deny warnings while test targets still warn

With this new command, cargo clippy now lints test targets and promotes warnings to errors. The current test target already has rustc warnings in src-tauri/tests/e2e.rs (unused std::thread, Duration, condition, and base), which the old command skipped or allowed, so both macOS and Windows clippy jobs go red before product code is checked. Clean up or allow those warnings before switching to --all-targets -- -D warnings.

Useful? React with 👍 / 👎.

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