Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
1 change: 1 addition & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ jobs:
- 'capsule-core/**'
- 'capsule-media/**'
- 'capsule-sdk/**'
- 'xtask/**'
- '.github/workflows/ci.yml'
web:
- 'capsule-web/**'
Expand Down
3 changes: 2 additions & 1 deletion .markdownlint-cli2.jsonc
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
"**/dist/**",
"**/.astro/**",
"**/Derived/**",
"CLAUDE.md" // symlink to AGENTS.md
"CLAUDE.md", // symlink to AGENTS.md
"CHANGELOG.md" // generated by convco; not hand-formatted
]
}
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Changelog

This file is generated from [Conventional Commits](https://www.conventionalcommits.org)
by [convco](https://convco.github.io) — run `just changelog` (or let the release
workflow do it). Section grouping is configured in `.versionrc`. Hand-edits made when
cutting a release are reviewed in the release PR before the tag is pushed.

## Unreleased
36 changes: 35 additions & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ members = [
"capsule-core-ffi",
"capsule-media",
"capsule-sdk",
"xtask",
]
# capsule-sdk requires a pre-generated openapi.json (run generate_openapi.sh first)
default-members = [
Expand Down
6 changes: 4 additions & 2 deletions capsule-android/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,10 @@ android {
applicationId = "com.justin13888.capsule"
minSdk = 26
targetSdk = 36
versionCode = 1
versionName = "1.0"
// Version is the repo-wide source of truth in gradle.properties, kept in sync
// across every package by `just set-version` (xtask).
versionCode = providers.gradleProperty("capsule.versionCode").get().toInt()
versionName = providers.gradleProperty("capsule.versionName").get()
}
packaging {
resources {
Expand Down
2 changes: 1 addition & 1 deletion capsule-docs/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "capsule-docs",
"type": "module",
"version": "0.0.1",
"version": "0.1.0",
"scripts": {
"dev": "astro dev",
"start": "astro dev",
Expand Down
2 changes: 1 addition & 1 deletion capsule-media/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "capsule-media"
version = "0.1.0"
version.workspace = true
edition = "2024"

[dependencies]
Expand Down
6 changes: 5 additions & 1 deletion capsule-swift/Project.swift
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,14 @@ private let bundlePrefix = "com.justin13888.capsule"
private let appDestinations: Destinations = [.iPhone, .iPad]
private let appDeploymentTargets: DeploymentTargets = .iOS("18.0")

/// The Swift-6 language settings shared by every Capsule target.
/// The Swift-6 language settings shared by every Capsule target. MARKETING_VERSION is
/// the iOS app's version source of truth, kept in sync across every package by
/// `just set-version` (xtask).
private let baseSettings: SettingsDictionary = [
"SWIFT_VERSION": "6.0",
"SWIFT_STRICT_CONCURRENCY": "complete",
"MARKETING_VERSION": "0.1.0",
"CURRENT_PROJECT_VERSION": "1",
]

/// Framework settings: a Release build marks the framework mergeable so the
Expand Down
6 changes: 6 additions & 0 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,9 @@ kotlin.incremental.js=true
kotlin.incremental.multiplatform=true
# Disable compiler cache for Linux (issue on Kotlin 2.1.20)
kotlin.native.cacheKind.linuxX64=none

# Capsule
# Repo-wide version source of truth for the Android app. Kept in sync across every
# package by `just set-version` (xtask), which also bumps versionCode on each release.
capsule.versionName=0.1.0
capsule.versionCode=1
12 changes: 12 additions & 0 deletions justfile
Original file line number Diff line number Diff line change
Expand Up @@ -421,6 +421,18 @@ commit-check msg_file:
check-commits base="origin/master":
convco check --first-parent --ignore-reverts {{ base }}..HEAD

# Write one repo-wide version into every package's source of truth (Rust workspace,
# web/docs package.json, vision pyproject, Android gradle.properties, iOS Project.swift)
# and bump the Android versionCode. See xtask/src/main.rs for the per-format editors.
[group('release')]
set-version version:
cargo run -q -p xtask -- set-version {{ version }}

# Regenerate CHANGELOG.md from Conventional Commits. Hand-edits land in the release PR.
[group('release')]
changelog:
convco changelog > CHANGELOG.md

# ── Setup ────────────────────────────────────────────────────────────────────

[group('setup')]
Expand Down
11 changes: 11 additions & 0 deletions xtask/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
[package]
name = "xtask"
version.workspace = true
edition.workspace = true
publish.workspace = true

[dependencies]
anyhow = "1"
regex = "1"
semver = "1"
toml_edit = "0.22"
Loading
Loading