Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
15 commits
Select commit Hold shift + click to select a range
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