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
3 changes: 2 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@ jobs:
with:
bun-version: latest

- run: rustup toolchain install --profile minimal 1.97.1
- name: Install pinned Rust toolchain
run: rustup toolchain install

- uses: Swatinem/rust-cache@v2
with:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/libcalibre-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
- uses: actions/checkout@v5

- name: Install Rust
run: rustup toolchain install --profile minimal 1.97.1
run: rustup toolchain install

- name: Install cargo-llvm-cov
uses: taiki-e/install-action@cargo-llvm-cov
Expand All @@ -42,7 +42,7 @@ jobs:
- uses: actions/checkout@v5

- name: Install Rust
run: rustup toolchain install --profile minimal 1.97.1
run: rustup toolchain install

- name: Install cargo-llvm-cov
uses: taiki-e/install-action@cargo-llvm-cov
Expand Down Expand Up @@ -105,7 +105,7 @@ jobs:
- uses: actions/checkout@v5

- name: Install Rust
run: rustup toolchain install --profile minimal 1.97.1
run: rustup toolchain install

- uses: Swatinem/rust-cache@v2
with:
Expand Down
7 changes: 4 additions & 3 deletions .github/workflows/quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ jobs:
with:
bun-version: latest

- run: rustup toolchain install --profile minimal 1.97.1
- name: Install pinned Rust toolchain
run: rustup toolchain install

- uses: Swatinem/rust-cache@v2
with:
Expand Down Expand Up @@ -45,11 +46,11 @@ jobs:
with:
bun-version: latest

- run: rustup toolchain install --profile minimal 1.97.1
- name: Install pinned Rust toolchain
run: rustup toolchain install

- uses: Swatinem/rust-cache@v2
with:
# using the default — we can bust the cache by changing this
prefix-key: "v1-rust"
workspaces: "."

Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,8 @@ jobs:
with:
bun-version: latest

- run: rustup toolchain install --profile minimal 1.97.1
- name: Install pinned Rust toolchain
run: rustup toolchain install

- uses: Swatinem/rust-cache@v2
with:
Expand Down
15 changes: 13 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,9 @@ Download the `.dmg` from [Releases](https://github.com/everydaythingssoftware/ci

## Developing

As a prerequisite, you'll need to install [Bun](https://bun.sh) and [Rust](https://www.rust-lang.org/tools/install).
As a prerequisite, you'll need to install [Bun](https://bun.sh) and
[rustup](https://rustup.rs). Rust is pinned by `rust-toolchain.toml`; run
`rustup toolchain install` once in this repository to install it.

Then, you can install the packages.

Expand All @@ -57,6 +59,15 @@ bun run dev
# or just bun dev
```

### Updating Rust

Rust upgrades are intentional repository changes. Update the channel in
`rust-toolchain.toml` and the workspace `rust-version` in `Cargo.toml`
together — CI installs the committed toolchain and derives its cache key from
the same file. Then run `bun format:check`, `bun lint`, and
`cargo test --workspace` before merging. Keep crate editions unchanged unless
an edition migration is planned separately.

### Lint & Formatting

To lint all source code, run `bun lint`. To autoformat, run `bun format`.
Expand Down Expand Up @@ -98,4 +109,4 @@ Citadel can check for app updates and install them on request. Automatic update

This project would not be possible without the north star created by Kovid Goyal, [Calibre](https://github.com/kovidgoyal/calibre). Without his hard work building such an extensive and powerful tool, Citadel would not exist.

Huge thanks to [Kemie Guaida](https://kemielikes.design/), who created an excellent [Calibre redesign Figma prototype](https://old.reddit.com/r/Calibre/comments/udzumn/testing_a_new_interface_for_calibre/), from which Citadel takes inspiration. Thank you, Kemie!
Huge thanks to [Kemie Guaida](https://kemielikes.design/), who created an excellent [Calibre redesign Figma prototype](https://old.reddit.com/r/Calibre/comments/udzumn/testing_a_new_interface_for_calibre/), from which Citadel takes inspiration. Thank you, Kemie!
Loading