Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
ad0ecc2
ci(release): universal macOS DMG, fix release-creation race, commit m…
Jun 12, 2026
8e5280f
ci(release): cross-compile Intel macOS CLI on arm64 runner (macos-13 …
Jun 12, 2026
daa27f7
style: cargo fmt — wrap over-long file_state_hints calls
Jun 12, 2026
68879f5
feat(app): replace placeholder purple-square icons with designed CLAN…
Jun 12, 2026
df4a03b
feat(app): use canonical ClanMark brand component in toolbar
Jun 12, 2026
b05877f
ci: cover the viewer's Tauri crate — clippy + test with WebKitGTK deps
Jun 12, 2026
043f4ad
Revert "ci: cover the viewer's Tauri crate — clippy + test with WebKi…
Jun 12, 2026
a88a364
Merge pull request #46 from saieeshward/feature/MultiAgentic
batunii Jun 12, 2026
431a589
docs(readme): launch polish — 2026-06-12 scorecard numbers, long-chai…
Jun 12, 2026
8892c32
chore(release): v1.1.1 — branded icons, release pipeline, launch README
Jun 12, 2026
2bf3369
Fixed the issue of not opening the files
batunii Jun 12, 2026
47dfc57
Merge branch 'docs/ci-and-readme' of https://github.com/saieeshward/c…
batunii Jun 12, 2026
ac2ab89
chore(release): v1.1.2 — .clan file associations and viewer file-open…
Jun 12, 2026
8fa86c0
docs(todo): tick shipped packaging items; add launch-announcement che…
Jun 12, 2026
e5a6ae4
ship single Windows MSI bundling CLI + viewer
batunii Jun 12, 2026
8de60b4
feat(release): bundle clan CLI into Linux .deb/.rpm packages
batunii Jun 12, 2026
f855491
Merge pull request #47 from saieeshward/feat/combined-windows-msi
batunii Jun 12, 2026
a078fd0
fix(app): add pending_open to empty_state test helper
Jun 12, 2026
4d44e9d
test: record TESTBOOK run 2026-06-12-I + claim-specific harness
Jun 12, 2026
4307d33
docs(readme): record run 2026-06-12-I results + honest claim updates
Jun 12, 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
68 changes: 64 additions & 4 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,32 @@ env:
CARGO_TERM_COLOR: always

jobs:
# ---------------------------------------------------------------------------
# Create the GitHub Release up front so the CLI and desktop jobs both upload
# into it instead of racing to create it.
# ---------------------------------------------------------------------------
create-release:
name: Create GitHub Release
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Create release if missing
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh release view "${{ github.ref_name }}" --repo "${{ github.repository }}" \
|| gh release create "${{ github.ref_name }}" \
--repo "${{ github.repository }}" \
--title "CLAN ${{ github.ref_name }}" \
--generate-notes

# ---------------------------------------------------------------------------
# Standalone `clan` CLI binaries for each platform, attached to the release.
# ---------------------------------------------------------------------------
cli-binaries:
name: CLI — ${{ matrix.target }}
needs: create-release
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
Expand All @@ -27,10 +48,12 @@ jobs:
target: x86_64-unknown-linux-gnu
- os: macos-latest
target: aarch64-apple-darwin
- os: macos-13
# Intel macOS is cross-compiled from the arm64 runner — GitHub
# retired the macos-13 (last Intel) runner image.
- os: macos-latest
target: x86_64-apple-darwin
- os: windows-latest
target: x86_64-pc-windows-msvc
# No Windows entry: Windows ships a single combined MSI (CLI + viewer)
# from the `desktop` job below, not a standalone CLI archive.
steps:
- uses: actions/checkout@v4

Expand Down Expand Up @@ -81,11 +104,22 @@ jobs:
# ---------------------------------------------------------------------------
desktop:
name: Desktop — ${{ matrix.os }}
needs: create-release
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ macos-latest, ubuntu-latest, windows-latest ]
include:
# Universal macOS build: one DMG that runs on Apple Silicon and Intel.
- os: macos-latest
rust-targets: aarch64-apple-darwin,x86_64-apple-darwin
tauri-args: --target universal-apple-darwin
- os: ubuntu-latest
rust-targets: ""
tauri-args: ""
- os: windows-latest
rust-targets: ""
tauri-args: ""
steps:
- uses: actions/checkout@v4

Expand All @@ -106,6 +140,8 @@ jobs:

- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.rust-targets }}

- name: Cache cargo build
uses: Swatinem/rust-cache@v2
Expand All @@ -123,6 +159,29 @@ jobs:
working-directory: app
run: npm ci

# Windows ships ONE combined MSI: build the `clan` CLI and stage it as a
# Tauri sidecar so the viewer installer also installs the CLI. The
# Windows-only tauri.windows.conf.json picks it up via externalBin and a
# WiX fragment (wix/cli-path.wxs) adds the install dir to the system PATH.
- name: Stage CLI into viewer installer (Windows)
if: matrix.os == 'windows-latest'
shell: pwsh
run: |
cargo build -p clan-cli --release
New-Item -ItemType Directory -Force -Path app/src-tauri/binaries | Out-Null
Copy-Item target/release/clan.exe app/src-tauri/binaries/clan-x86_64-pc-windows-msvc.exe

# Linux .deb / .rpm install the `clan` CLI to /usr/bin (on PATH) alongside
# the viewer. tauri.linux.conf.json maps binaries/clan -> /usr/bin/clan via
# deb.files / rpm.files. The AppImage stays viewer-only (it can't place
# files on the host PATH), so the standalone CLI tarball is kept above.
- name: Stage CLI into Linux packages (Linux)
if: matrix.os == 'ubuntu-latest'
run: |
cargo build -p clan-cli --release
mkdir -p app/src-tauri/binaries
cp target/release/clan app/src-tauri/binaries/clan

- name: Build & publish desktop bundles
uses: tauri-apps/tauri-action@v0
env:
Expand All @@ -134,3 +193,4 @@ jobs:
releaseName: CLAN ${{ github.ref_name }}
releaseDraft: false
prerelease: false
args: ${{ matrix.tauri-args }}
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,6 @@
target/
target-gnu/
Cargo.lock

# CLI sidecar staged into the viewer MSI during the release build (see release.yml).
app/src-tauri/binaries/
42 changes: 41 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,43 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [1.1.2] - 2026-06-12

### Added

- **`.clan` file associations** — double-clicking a `.clan` file (or "Open with")
now launches the CLAN Viewer with the file loaded, on macOS, Windows, and Linux.

### Fixed

- **Viewer file opening** — files passed via OS launch events open correctly.

## [1.1.1] - 2026-06-12

### Added

- **CI/CD release pipeline** — tagged releases build CLI binaries for Linux, macOS
(Apple Silicon + Intel), and Windows, plus viewer bundles (universal `.dmg`,
`.AppImage`, `.deb`, `.rpm`, `.msi`, NSIS `.exe`) automatically.

### Changed

- **App icon** — viewer now ships the designed CLAN constellation mark
(was a placeholder solid square).
- **Toolbar branding** — viewer toolbar renders the canonical `ClanMark`
component, animated while a file loads.
- **README** — results updated to the 2026-06-12 scorecard run, including
long-chain wall times and documented EXPECT-RED gaps.

## [1.1.0] - 2026-06-12

### Added

- **Fork/join concurrency** — per-agent namespaces, deterministic `merge`,
contested-key reporting with provenance (spec §22–§27).
- **Deferred human-view rendering** (`clan render`) and conflict adjudication.
- **Teachable CLI interface** — `agent-help`, `next:` hints, F-series guard rails.

## [1.0.0] - 2026-06-08

First public release of CLAN — Context and Live Agent Notation.
Expand All @@ -19,5 +56,8 @@ First public release of CLAN — Context and Live Agent Notation.
- **`clan-cli`** — the `clan` command-line tool to create, validate, read, pack, and export `.clan` files.
- **CLAN Viewer** — Tauri desktop app for rendering the human view of a `.clan` file.

[Unreleased]: https://github.com/saieeshward/clan/compare/v1.0.0...HEAD
[Unreleased]: https://github.com/saieeshward/clan/compare/v1.1.2...HEAD
[1.1.2]: https://github.com/saieeshward/clan/releases/tag/v1.1.2
[1.1.1]: https://github.com/saieeshward/clan/releases/tag/v1.1.1
[1.1.0]: https://github.com/saieeshward/clan/releases/tag/v1.1.0
[1.0.0]: https://github.com/saieeshward/clan/releases/tag/v1.0.0
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ resolver = "2"
members = ["crates/clan-sdk", "crates/clan-cli", "app/src-tauri"]

[workspace.package]
version = "1.1.0"
version = "1.1.2"
edition = "2021"
license = "MPL-2.0"
repository = "https://github.com/saieeshward/clan"
Expand Down
Loading
Loading