Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
50b2508
fix(site): fix dependecies installation, fonts issue
Keshav-writes-code Jan 27, 2026
80fbe43
fix(site): fix dependecies installation, fonts issue
Keshav-writes-code Jan 27, 2026
439bc63
fix(site): change metadata for download page
Keshav-writes-code Jan 27, 2026
d601ba5
fix(site)[ui]: add more gap between platform buttons and download links
Keshav-writes-code Jan 27, 2026
536dc0a
fix(app)[ci]: make the release description include the link for downl…
Keshav-writes-code Jan 27, 2026
2e17f5d
fix(app)[ui]: make editor take a bit more width
Keshav-writes-code Jan 27, 2026
02bd7f3
refac(site)[ci]: rmeove node installation step as its not needed
Keshav-writes-code Jan 27, 2026
aec42fc
fix(site): correct URL casing for documentation entry link
Keshav-writes-code Jan 27, 2026
faa1a42
refac(ci): rename workflow names
Keshav-writes-code Jan 27, 2026
44f3b71
fix(site): change site name to actual domain for google search indexing
Keshav-writes-code Jan 27, 2026
daa50ed
refac(site): rename the download page to be called "downloads" with a…
Keshav-writes-code Jan 27, 2026
2096a8d
feat(ci): make all testing ci happening on staging branch
Keshav-writes-code Jan 27, 2026
767f5f2
refac(ci): rename all workflows for consitent naming scheme
Keshav-writes-code Jan 27, 2026
93a756b
feat(ci): add site check on staging branch
Keshav-writes-code Jan 27, 2026
de8388b
feat(docs): add ci cd pipeline docs
Keshav-writes-code Jan 27, 2026
857c24a
Merge branch 'staging' into dev
Keshav-writes-code Jan 27, 2026
437dfef
Merge pull request #26 from Keshav-writes-code/dev
Keshav-writes-code Jan 27, 2026
699b65a
Merge branch 'main' into staging
Keshav-writes-code Jan 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
name: 'tauri-build-debug'
name: 'app-build-debug'

on:
pull_request:
push:
branches:
- main
- staging
- main
paths:
- 'apps/app/**'
- '.github/workflows/tauri-build-debug.yml'
pull_request:
paths:
- 'apps/app/**'
- '.github/workflows/tauri-build-debug.yml'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
name: 'tauri-build-release'
name: 'app-build-release'

on:
pull_request:
push:
branches:
- main
- staging
paths:
- 'apps/app/**'
- '.github/workflows/tauri-build-release.yml'
Expand Down Expand Up @@ -147,7 +146,7 @@ jobs:
tagName: cherit-v__VERSION__ # the action automatically replaces \_\_VERSION\_\_ with the app version.
releaseName: 'Cherit v__VERSION__'
releaseAssetNamePattern: '[name]-[platform]-[arch][ext]'
releaseBody: 'See the assets to download this version and install.'
releaseBody: 'Download from Website : [Download](https://keshav.is-a.dev/Cherit/download/)'
releaseDraft: true
prerelease: false
args: ${{ matrix.args }}
Expand Down
34 changes: 34 additions & 0 deletions .github/workflows/site-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: 'site-build-check'

on:
pull_request:
paths:
- 'apps/site/**'
- '.github/workflows/site-check.yml'
push:
branches:
- staging
paths:
- 'apps/site/**'
- '.github/workflows/site-check.yml'
workflow_dispatch:

jobs:
check-site:
runs-on: ubuntu-slim
steps:
- uses: actions/checkout@v4

- name: Setup Bun
uses: oven-sh/setup-bun@v2

# Install dependencies at root (Monorepo context)
- name: Install dependencies
run: bun i

# Attempt to build the Astro site to ensure no errors
- name: Install and Build Site
working-directory: apps/site
run: |
bun install
bun run build
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Deploy to GitHub Pages
name: 'site-deploy'

on:
push:
Expand All @@ -21,10 +21,7 @@ jobs:
- name: Checkout your repository using git
uses: actions/checkout@v5

- name: setup node
uses: actions/setup-node@v4
with:
node-version: lts/*
# Install dependencies at root (Monorepo context)
- name: Setup Bun
uses: oven-sh/setup-bun@v2
- name: Install dependencies
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@
{current_platform_type == 'mobile' && 'pt-22'}
"
>
<div class="max-w-170 w-full font-sans" id="text_editor">
<div class="max-w-180 w-full font-sans" id="text_editor">
<input
type="text"
id="note_file_name_input"
Expand Down
2 changes: 1 addition & 1 deletion apps/site/astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ export default defineConfig({
}),
mdx(),
],
site: "https://Keshav-writes-code.github.io",
site: "https://keshav.is-a.dev/",
base: "Cherit",
devToolbar: {
enabled: false,
Expand Down
2 changes: 1 addition & 1 deletion apps/site/src/components/navbar/index.astro
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import logo from "@/assets/images/logo_500.png";
import InteractiveNav from "./interactive.svelte";
import { base } from "astro:config/client";
const links = {
download: `${base}/download`,
download: `${base}/downloads`,
demo: `${base}/demo`,
guides: `${base}/docs/guides/how_to_setup_syncing`,
docs: `${base}/docs`,
Expand Down
42 changes: 42 additions & 0 deletions apps/site/src/content/docs/docs/dev_docs/ci_pipelines.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
title: CI/CD Pipelines
description: How we test, build, and release Cherit automatically.
---

We use GitHub Actions to automate testing and releasing. Here is how our pipeline strategies work depending on the branch.

## 1. Pull Requests (Sanity Checks)

**Trigger:** Opening a PR to `main` or `staging`.

Before merging code, we ensure it compiles to prevent breaking the build.

- **App:** Runs a debug build on Linux/macOS/Windows/Android (both x86_64, arm) to verify Rust and Svelte compilation.
- **Site:** Runs `bun run build` to ensure the Astro site builds without errors.

## 2. Staging Branch (Beta Testing)

**Trigger:** Pushing to `staging`.

This is our "Test Flight" zone.

- **App:** Builds **Debug** artifacts (unsigned) for all platforms. These are available in the GitHub Actions "Summary" tab for testers to download and try.
- **Site:** Runs `bun run build` to ensure the Astro site builds without errors (same as PR check).

## 3. Main Branch (Production)

**Trigger:** Pushing to `main`.

This is the "Live" zone.

- **App Release:** Builds optimized **Release** binaries, signs them (Android/macOS), and creates a Draft Release on GitHub.
- **Site Deploy:** Builds the documentation site and deploys it to GitHub Pages.

## Quick Reference

| Goal | Workflow File | Triggers |
| :------------------ | :---------------------- | :----------- |
| **Test App Logic** | `app-build-debug.yml` | PRs, Staging |
| **Test Site Build** | `site-check.yml` | PRs, Staging |
| **Release App** | `app-build-release.yml` | Main |
| **Deploy Site** | `site-deploy.yml` | Main |
2 changes: 1 addition & 1 deletion apps/site/src/content/docs/docs/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ hero:
file: ../../../assets/images/logo_500.png
actions:
- text: Get Started
link: /cherit/docs/get-started
link: /Cherit/docs/get-started
icon: right-arrow
variant: primary
---
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,18 @@ import DownloadBtnHeadless from "@/components/common/download_button_headless.sv
import type { PageMetadata } from "@/types";

let metadata: PageMetadata = {
title: "Home",
title: "Downloads",
description:
"Cherit is the 2MB note-taking powerhouse. Native performance on every platform. Markdown native, offline-first, and completely private. Just you and your thoughts.",
"Get Cherit for Windows, macOS, Linux, and Android. A 2MB native powerhouse for offline-first, private Markdown note-taking with lightning speed.",
open_graph: {
title: "Cherit - Think Fast. Write Faster.",
title: "Download Cherit - Native & Fast Markdown Notes",
description:
"Stop downloading entire web browsers just to write a grocery list. Cherit is a lightweight, local-first markdown editor.",
"Stop downloading entire web browsers just to write a note. Get the 2MB, local-first markdown editor for all your devices.",
},
twitter: {
title: "Cherit - The Lightweight Note-Taking App",
title: "Download Cherit - The 2MB Note-Taking Powerhouse",
description:
"Native performance, 2MB size, Markdown support. Available on all platforms.",
"Native performance on every platform. Markdown native, offline-first, and completely private.",
},
};
type Platform = {
Expand Down Expand Up @@ -81,7 +81,7 @@ let platforms: Platform[] = [
class="btn btn-primary btn-md lg:btn-lg xl:btn-xl group flex justify-center hover:scale-103 [transition-property:_scale,_background] duration-300"
/>
<div class="divider my-30">OR</div>
<div class="tabs tabs-box gap-x-3 w-full justify-center bg-transparent">
<div class="tabs tabs-box gap-x-3 gap-y-16 w-full justify-center bg-transparent">
{ platforms.map(({label, icon, binaries}, i)=>(
<label class="tab flex gap-2 py-3 px-5 h-max items-center capitalize ">
<input type="radio" name="os_selector" checked={i==0} />
Expand Down
Loading