Repository navigation
Expand file tree
/
Copy pathdist-workspace.toml
More file actions
45 lines (42 loc) · 2.2 KB
/
Copy pathdist-workspace.toml
File metadata and controls
45 lines (42 loc) · 2.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
[workspace]
members = ["cargo:."]
# Config for 'dist'
[dist]
# The preferred dist version to use in CI (Cargo.toml SemVer syntax)
cargo-dist-version = "0.32.0"
# CI backends to support
ci = "github"
# The installers to generate for each app
installers = ["shell"]
# Target platforms to build apps for (Rust target-triple syntax)
# musl (not gnu): static binary runs on alpine AND glibc distros. Deps are musl-clean
# (rustls/ring, reqwest with rustls-no-provider; no openssl/native-tls, no system C libs to link).
targets = ["aarch64-apple-darwin", "x86_64-apple-darwin", "aarch64-unknown-linux-musl", "x86_64-unknown-linux-musl"]
# Ship the Sparkle appcast on EVERY release, including a CLI-only one.
#
# Every installed TcrBar.app has `releases/latest/download/appcast.xml` compiled
# in, and `/releases/latest/` follows whichever release is newest — not the newest
# app release. A cargo-dist CLI release used to publish tarballs and no appcast,
# become `latest`, and 404 the update feed for every install (0.2.27, 0.2.28, the
# fifth failure of its class). The guard workflow cannot catch it: releases made
# under GITHUB_TOKEN raise no `release:` events.
#
# Listing the committed appcast here puts it in `artifacts/*` so it goes up in the
# same `gh release create` call that makes the release exist — no window at all.
# For a CLI-only release the feed then serves the last APP entry and Sparkle
# reports "up to date" instead of failing. An app release's own
# `release-tcrbar.sh` still uploads its freshly signed appcast with --clobber on
# top, so the two compose. This is config, not the generated workflow, so
# `dist generate` keeps it.
[[dist.extra-artifacts]]
artifacts = ["appcast.xml"]
build = ["cp", "apps/macos/appcast.xml", "appcast.xml"]
# Runner labels for the release jobs. dist's defaults pin image versions that GitHub
# retires (macos-14, ubuntu-22.04), so name the moving labels instead. `global` is
# the plan, global-artifacts, host and announce jobs. x86_64-apple-darwin keeps
# dist's default Intel image, which builds it natively.
[dist.github-custom-runners]
global = "ubuntu-latest"
aarch64-apple-darwin = "macos-latest"
x86_64-unknown-linux-musl = "ubuntu-latest"
aarch64-unknown-linux-musl = "ubuntu-24.04-arm"