bots-garden/sidekickspublic Fork
⑂ 9fb32f8
Commits
⬇ Clone ▾
git clone https://git.rickub.com/bots-garden/sidekicks.git
git clone ssh://git@rickub.com/bots-garden/sidekicks.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

Download ZIP

🛟 Updated.

k33g committed 2026-10-30T14:04:43+01:00 Browse files
9fb32f8 parent: f95c2c9
modified .github/workflows/release.yml +1 -1
@@ -52,7 +52,7 @@ jobs:
5252 echo
5353 echo "| File | System |"
5454 echo "| --- | --- |"
55- for name in $(scripts/package.sh names macos universal); do echo "| \`$name\` | macOS 13 or later (Apple Silicon and Intel) |"; done
55+ for name in $(scripts/package.sh names macos arm64); do echo "| \`$name\` | macOS 13 or later, Apple Silicon |"; done
5656 for name in $(scripts/package.sh names windows amd64); do echo "| \`$name\` | Windows x86-64 |"; done
5757 for name in $(scripts/package.sh names linux amd64); do echo "| \`$name\` | Linux x86-64 |"; done
5858 echo "| \`SHA256SUMS\` | checksums: \`sha256sum -c SHA256SUMS --ignore-missing\` (\`shasum -a 256 -c\` on macOS) |"
@@ -52,7 +52,7 @@ jobs:
52 echo52 echo
53 echo "| File | System |"53 echo "| File | System |"
54 echo "| --- | --- |"54 echo "| --- | --- |"
55- for name in $(scripts/package.sh names macos universal); do echo "| \`$name\` | macOS 13 or later (Apple Silicon and Intel) |"; done55+ for name in $(scripts/package.sh names macos arm64); do echo "| \`$name\` | macOS 13 or later, Apple Silicon |"; done
56 for name in $(scripts/package.sh names windows amd64); do echo "| \`$name\` | Windows x86-64 |"; done56 for name in $(scripts/package.sh names windows amd64); do echo "| \`$name\` | Windows x86-64 |"; done
57 for name in $(scripts/package.sh names linux amd64); do echo "| \`$name\` | Linux x86-64 |"; done57 for name in $(scripts/package.sh names linux amd64); do echo "| \`$name\` | Linux x86-64 |"; done
58 echo "| \`SHA256SUMS\` | checksums: \`sha256sum -c SHA256SUMS --ignore-missing\` (\`shasum -a 256 -c\` on macOS) |"58 echo "| \`SHA256SUMS\` | checksums: \`sha256sum -c SHA256SUMS --ignore-missing\` (\`shasum -a 256 -c\` on macOS) |"
modified .memory/history.md +1 -0
@@ -190,3 +190,4 @@
190190 - **Follow-up (owner: "c'est trop compliqué")**: release procedure simplified to the owner's plan — build everything on the Mac, tag with a script, the tag push creates the release, the files are attached by hand. `scripts/build-release.sh` (`make release-build`: macOS native, Windows cross-built, Linux `scripts/package.sh linux` in a Docker container from `scripts/linux-packages.Dockerfile` per `LINUX_ARCHES` (default amd64), `SKIP`, then `dist/SHA256SUMS`), `scripts/tag-release.sh` (`make release-tag`: clean tree, on main, equal to origin/main, tag free; warns when dist/ misses a package; annotated tag pushed; `--no-push`; test `tag-release_test.sh`, 11 checks), `.github/workflows/release.yml` now `on: push: tags: v*` → checks tag = config version, creates the release with notes (file table) via softprops, no files, `contents: write`. The `macos-packages` branch scripts and their test were removed; CI no longer builds packages. `scripts/package.sh` removes `bin/sidekicks` before a Linux or macOS build (a binary of the other OS in the shared bin/ made go build fail: "not an object file"). The Docker image needs `ibus-gtk4` (the AppImage GTK plugin copies `/usr/lib/<arch>/gtk-4.0`). RELEASING.md/.fr.md, publish-a-release (EN/FR) and the commands reference rewritten.
191191 - **Follow-up (owner: "je préfère vérifier en local")**: `.github/workflows/ci.yml` removed — only `release.yml` (tag push → release) remains. `make verify` (= `check` + `bindings-check`) is what to run before merging; `bindings-check` now also fails on binding files git does not know; `make check-linux` (`scripts/check-linux.sh`) runs `make check` in the Linux Docker image (now with jq and procps for the agents.sh tests). New guide check-before-merging / verifier-avant-de-fusionner (EN/FR, with an optional pre-push hook); run-the-tests, develop-the-application, commands reference, README, RELEASING and indexes no longer mention a CI.
192192 - **Follow-up**: `make check-linux` checked in the sandbox (arm64): passes. Fixes on the way: the image needs `binutils-gold` (Go links cgo programs with `-fuse-ld=gold` on arm64: golangci-lint failed "cannot find 'ld'"), `jq` and `procps` (agents.sh tests); the container gets its own `frontend/node_modules` (volume `sidekicks-node-modules-<arch>`) so that its pnpm install never touches the Mac's node_modules, whose store (outside the repo on the Mac) it cannot see; its pnpm store lands in `.pnpm-store/` (ignored; pnpm 12 ignored `npm_config_store_dir`). Docker disk in the sandbox filled up once (image 4.1 GB → 2.6 GB after cleaning the Go/npm caches in the image; `docker builder prune` freed the rest).
193+- **Follow-up (owner: no darwin amd64)**: macOS packages are Apple Silicon only — `scripts/package.sh macos` runs `darwin:package ARCH=arm64` (no universal build, no lipo); files `Sidekicks-<v>-macos-arm64.dmg`/`.zip` (names follow the arch like Linux/Windows); tag-release, build-release, release notes, tests, install guide (Apple Silicon M1+, macOS 13+, no Intel build), RELEASING and commands reference updated (EN/FR).
@@ -190,3 +190,4 @@
190 - **Follow-up (owner: "c'est trop compliqué")**: release procedure simplified to the owner's plan — build everything on the Mac, tag with a script, the tag push creates the release, the files are attached by hand. `scripts/build-release.sh` (`make release-build`: macOS native, Windows cross-built, Linux `scripts/package.sh linux` in a Docker container from `scripts/linux-packages.Dockerfile` per `LINUX_ARCHES` (default amd64), `SKIP`, then `dist/SHA256SUMS`), `scripts/tag-release.sh` (`make release-tag`: clean tree, on main, equal to origin/main, tag free; warns when dist/ misses a package; annotated tag pushed; `--no-push`; test `tag-release_test.sh`, 11 checks), `.github/workflows/release.yml` now `on: push: tags: v*` → checks tag = config version, creates the release with notes (file table) via softprops, no files, `contents: write`. The `macos-packages` branch scripts and their test were removed; CI no longer builds packages. `scripts/package.sh` removes `bin/sidekicks` before a Linux or macOS build (a binary of the other OS in the shared bin/ made go build fail: "not an object file"). The Docker image needs `ibus-gtk4` (the AppImage GTK plugin copies `/usr/lib/<arch>/gtk-4.0`). RELEASING.md/.fr.md, publish-a-release (EN/FR) and the commands reference rewritten.190 - **Follow-up (owner: "c'est trop compliqué")**: release procedure simplified to the owner's plan — build everything on the Mac, tag with a script, the tag push creates the release, the files are attached by hand. `scripts/build-release.sh` (`make release-build`: macOS native, Windows cross-built, Linux `scripts/package.sh linux` in a Docker container from `scripts/linux-packages.Dockerfile` per `LINUX_ARCHES` (default amd64), `SKIP`, then `dist/SHA256SUMS`), `scripts/tag-release.sh` (`make release-tag`: clean tree, on main, equal to origin/main, tag free; warns when dist/ misses a package; annotated tag pushed; `--no-push`; test `tag-release_test.sh`, 11 checks), `.github/workflows/release.yml` now `on: push: tags: v*` → checks tag = config version, creates the release with notes (file table) via softprops, no files, `contents: write`. The `macos-packages` branch scripts and their test were removed; CI no longer builds packages. `scripts/package.sh` removes `bin/sidekicks` before a Linux or macOS build (a binary of the other OS in the shared bin/ made go build fail: "not an object file"). The Docker image needs `ibus-gtk4` (the AppImage GTK plugin copies `/usr/lib/<arch>/gtk-4.0`). RELEASING.md/.fr.md, publish-a-release (EN/FR) and the commands reference rewritten.
191 - **Follow-up (owner: "je préfère vérifier en local")**: `.github/workflows/ci.yml` removed — only `release.yml` (tag push → release) remains. `make verify` (= `check` + `bindings-check`) is what to run before merging; `bindings-check` now also fails on binding files git does not know; `make check-linux` (`scripts/check-linux.sh`) runs `make check` in the Linux Docker image (now with jq and procps for the agents.sh tests). New guide check-before-merging / verifier-avant-de-fusionner (EN/FR, with an optional pre-push hook); run-the-tests, develop-the-application, commands reference, README, RELEASING and indexes no longer mention a CI.191 - **Follow-up (owner: "je préfère vérifier en local")**: `.github/workflows/ci.yml` removed — only `release.yml` (tag push → release) remains. `make verify` (= `check` + `bindings-check`) is what to run before merging; `bindings-check` now also fails on binding files git does not know; `make check-linux` (`scripts/check-linux.sh`) runs `make check` in the Linux Docker image (now with jq and procps for the agents.sh tests). New guide check-before-merging / verifier-avant-de-fusionner (EN/FR, with an optional pre-push hook); run-the-tests, develop-the-application, commands reference, README, RELEASING and indexes no longer mention a CI.
192 - **Follow-up**: `make check-linux` checked in the sandbox (arm64): passes. Fixes on the way: the image needs `binutils-gold` (Go links cgo programs with `-fuse-ld=gold` on arm64: golangci-lint failed "cannot find 'ld'"), `jq` and `procps` (agents.sh tests); the container gets its own `frontend/node_modules` (volume `sidekicks-node-modules-<arch>`) so that its pnpm install never touches the Mac's node_modules, whose store (outside the repo on the Mac) it cannot see; its pnpm store lands in `.pnpm-store/` (ignored; pnpm 12 ignored `npm_config_store_dir`). Docker disk in the sandbox filled up once (image 4.1 GB → 2.6 GB after cleaning the Go/npm caches in the image; `docker builder prune` freed the rest).192 - **Follow-up**: `make check-linux` checked in the sandbox (arm64): passes. Fixes on the way: the image needs `binutils-gold` (Go links cgo programs with `-fuse-ld=gold` on arm64: golangci-lint failed "cannot find 'ld'"), `jq` and `procps` (agents.sh tests); the container gets its own `frontend/node_modules` (volume `sidekicks-node-modules-<arch>`) so that its pnpm install never touches the Mac's node_modules, whose store (outside the repo on the Mac) it cannot see; its pnpm store lands in `.pnpm-store/` (ignored; pnpm 12 ignored `npm_config_store_dir`). Docker disk in the sandbox filled up once (image 4.1 GB → 2.6 GB after cleaning the Go/npm caches in the image; `docker builder prune` freed the rest).
193+- **Follow-up (owner: no darwin amd64)**: macOS packages are Apple Silicon only — `scripts/package.sh macos` runs `darwin:package ARCH=arm64` (no universal build, no lipo); files `Sidekicks-<v>-macos-arm64.dmg`/`.zip` (names follow the arch like Linux/Windows); tag-release, build-release, release notes, tests, install guide (Apple Silicon M1+, macOS 13+, no Intel build), RELEASING and commands reference updated (EN/FR).
modified .memory/summary.md +1 -1
@@ -60,5 +60,5 @@ What exists:
6060 - Quality gate: `qlty` is not in this sandbox → no qlty measurement yet (issue #38: build a sandbox kit with qlty). golangci-lint (go tool) is the stopgap.
6161 - On the shared Mac⇄Linux folder, the `mkdir` lock of `scripts/agents.sh` is not exclusive: two agents starting at the same instant could exceed the slot limit in the sandbox. Not seen; on the Mac's own disk mkdir is atomic.
6262 - Release procedure (RELEASING.md): `make release-build` on the Mac (everything into dist/, Linux in Docker), `make release-tag` (pushes `v<version>`), the tag push makes `.github/workflows/release.yml` create the release (notes only, softprops), files attached by hand on the release page. The workflow has not run on Rickub yet; `make release-build` has not run on the Mac yet (Linux arm64 in Docker checked in the sandbox).
63-- `make package-macos` (universal .dmg) and the Windows installer have not been run on their systems; the folder dialog of the assistant (`ChooseFolder`) not tried on the Mac.
63+- `make package-macos` (arm64 .dmg) and the Windows installer have not been run on their systems; the folder dialog of the assistant (`ChooseFolder`) not tried on the Mac.
6464 - Whether `.claude/skills/*` (kit files) should be committed with the project is the owner's call.
@@ -60,5 +60,5 @@ What exists:
60 - Quality gate: `qlty` is not in this sandbox → no qlty measurement yet (issue #38: build a sandbox kit with qlty). golangci-lint (go tool) is the stopgap.60 - Quality gate: `qlty` is not in this sandbox → no qlty measurement yet (issue #38: build a sandbox kit with qlty). golangci-lint (go tool) is the stopgap.
61 - On the shared Mac⇄Linux folder, the `mkdir` lock of `scripts/agents.sh` is not exclusive: two agents starting at the same instant could exceed the slot limit in the sandbox. Not seen; on the Mac's own disk mkdir is atomic.61 - On the shared Mac⇄Linux folder, the `mkdir` lock of `scripts/agents.sh` is not exclusive: two agents starting at the same instant could exceed the slot limit in the sandbox. Not seen; on the Mac's own disk mkdir is atomic.
62 - Release procedure (RELEASING.md): `make release-build` on the Mac (everything into dist/, Linux in Docker), `make release-tag` (pushes `v<version>`), the tag push makes `.github/workflows/release.yml` create the release (notes only, softprops), files attached by hand on the release page. The workflow has not run on Rickub yet; `make release-build` has not run on the Mac yet (Linux arm64 in Docker checked in the sandbox).62 - Release procedure (RELEASING.md): `make release-build` on the Mac (everything into dist/, Linux in Docker), `make release-tag` (pushes `v<version>`), the tag push makes `.github/workflows/release.yml` create the release (notes only, softprops), files attached by hand on the release page. The workflow has not run on Rickub yet; `make release-build` has not run on the Mac yet (Linux arm64 in Docker checked in the sandbox).
63-- `make package-macos` (universal .dmg) and the Windows installer have not been run on their systems; the folder dialog of the assistant (`ChooseFolder`) not tried on the Mac.63+- `make package-macos` (arm64 .dmg) and the Windows installer have not been run on their systems; the folder dialog of the assistant (`ChooseFolder`) not tried on the Mac.
64 - Whether `.claude/skills/*` (kit files) should be committed with the project is the owner's call.64 - Whether `.claude/skills/*` (kit files) should be committed with the project is the owner's call.
modified Makefile +1 -1
@@ -43,7 +43,7 @@ package-linux: ## Release packages for Linux (deb, rpm, AppImage, tar.gz) into d
4343 package-windows: ## Release packages for Windows amd64 (installer, zip) into dist/, cross-built
4444 @scripts/package.sh windows
4545
46-package-macos: ## Release packages for macOS (universal dmg, zip) into dist/; on macOS only
46+package-macos: ## Release packages for macOS on Apple Silicon (dmg, zip) into dist/; on macOS only
4747 @scripts/package.sh macos
4848
4949 release-build: ## On the Mac: every release package (macOS, Windows, Linux in Docker) and SHA256SUMS into dist/
@@ -43,7 +43,7 @@ package-linux: ## Release packages for Linux (deb, rpm, AppImage, tar.gz) into d
43 package-windows: ## Release packages for Windows amd64 (installer, zip) into dist/, cross-built43 package-windows: ## Release packages for Windows amd64 (installer, zip) into dist/, cross-built
44 @scripts/package.sh windows44 @scripts/package.sh windows
45 45
46-package-macos: ## Release packages for macOS (universal dmg, zip) into dist/; on macOS only46+package-macos: ## Release packages for macOS on Apple Silicon (dmg, zip) into dist/; on macOS only
47 @scripts/package.sh macos47 @scripts/package.sh macos
48 48
49 release-build: ## On the Mac: every release package (macOS, Windows, Linux in Docker) and SHA256SUMS into dist/49 release-build: ## On the Mac: every release package (macOS, Windows, Linux in Docker) and SHA256SUMS into dist/
modified RELEASING.fr.md +1 -1
@@ -28,7 +28,7 @@ Il construit, dans `dist/` :
2828
2929 | Fichiers | Comment |
3030 | --- | --- |
31-| `Sidekicks-<v>-macos-universal.dmg`, `.zip` | en natif (outils en ligne de commande de Xcode) |
31+| `Sidekicks-<v>-macos-arm64.dmg`, `.zip` | en natif, pour Apple Silicon seulement (outils en ligne de commande de Xcode) |
3232 | `Sidekicks-<v>-windows-amd64-installer.exe`, `sidekicks_<v>_windows_amd64.zip` | compilés depuis le Mac (demande `brew install makensis zip`) |
3333 | `sidekicks_<v>_linux_amd64.deb`, `.rpm`, `.tar.gz`, `Sidekicks-<v>-x86_64.AppImage` | dans un conteneur Docker (Docker doit tourner ; amd64 est émulé sur Apple Silicon, c'est donc un peu long) |
3434 | `SHA256SUMS` | sur tous les fichiers ci-dessus |
@@ -28,7 +28,7 @@ Il construit, dans `dist/` :
28 28
29 | Fichiers | Comment |29 | Fichiers | Comment |
30 | --- | --- |30 | --- | --- |
31-| `Sidekicks-<v>-macos-universal.dmg`, `.zip` | en natif (outils en ligne de commande de Xcode) |31+| `Sidekicks-<v>-macos-arm64.dmg`, `.zip` | en natif, pour Apple Silicon seulement (outils en ligne de commande de Xcode) |
32 | `Sidekicks-<v>-windows-amd64-installer.exe`, `sidekicks_<v>_windows_amd64.zip` | compilés depuis le Mac (demande `brew install makensis zip`) |32 | `Sidekicks-<v>-windows-amd64-installer.exe`, `sidekicks_<v>_windows_amd64.zip` | compilés depuis le Mac (demande `brew install makensis zip`) |
33 | `sidekicks_<v>_linux_amd64.deb`, `.rpm`, `.tar.gz`, `Sidekicks-<v>-x86_64.AppImage` | dans un conteneur Docker (Docker doit tourner ; amd64 est émulé sur Apple Silicon, c'est donc un peu long) |33 | `sidekicks_<v>_linux_amd64.deb`, `.rpm`, `.tar.gz`, `Sidekicks-<v>-x86_64.AppImage` | dans un conteneur Docker (Docker doit tourner ; amd64 est émulé sur Apple Silicon, c'est donc un peu long) |
34 | `SHA256SUMS` | sur tous les fichiers ci-dessus |34 | `SHA256SUMS` | sur tous les fichiers ci-dessus |
modified RELEASING.md +1 -1
@@ -28,7 +28,7 @@ It builds, into `dist/`:
2828
2929 | Files | How |
3030 | --- | --- |
31-| `Sidekicks-<v>-macos-universal.dmg`, `.zip` | natively (Xcode command line tools) |
31+| `Sidekicks-<v>-macos-arm64.dmg`, `.zip` | natively, for Apple Silicon only (Xcode command line tools) |
3232 | `Sidekicks-<v>-windows-amd64-installer.exe`, `sidekicks_<v>_windows_amd64.zip` | cross-built (needs `brew install makensis zip`) |
3333 | `sidekicks_<v>_linux_amd64.deb`, `.rpm`, `.tar.gz`, `Sidekicks-<v>-x86_64.AppImage` | in a Docker container (needs Docker running; amd64 is emulated on Apple Silicon, so it takes a while) |
3434 | `SHA256SUMS` | over all the files above |
@@ -28,7 +28,7 @@ It builds, into `dist/`:
28 28
29 | Files | How |29 | Files | How |
30 | --- | --- |30 | --- | --- |
31-| `Sidekicks-<v>-macos-universal.dmg`, `.zip` | natively (Xcode command line tools) |31+| `Sidekicks-<v>-macos-arm64.dmg`, `.zip` | natively, for Apple Silicon only (Xcode command line tools) |
32 | `Sidekicks-<v>-windows-amd64-installer.exe`, `sidekicks_<v>_windows_amd64.zip` | cross-built (needs `brew install makensis zip`) |32 | `Sidekicks-<v>-windows-amd64-installer.exe`, `sidekicks_<v>_windows_amd64.zip` | cross-built (needs `brew install makensis zip`) |
33 | `sidekicks_<v>_linux_amd64.deb`, `.rpm`, `.tar.gz`, `Sidekicks-<v>-x86_64.AppImage` | in a Docker container (needs Docker running; amd64 is emulated on Apple Silicon, so it takes a while) |33 | `sidekicks_<v>_linux_amd64.deb`, `.rpm`, `.tar.gz`, `Sidekicks-<v>-x86_64.AppImage` | in a Docker container (needs Docker running; amd64 is emulated on Apple Silicon, so it takes a while) |
34 | `SHA256SUMS` | over all the files above |34 | `SHA256SUMS` | over all the files above |
modified docs/en/how-to/install-sidekicks.md +3 -3
@@ -4,11 +4,11 @@ This guide shows how to install Sidekicks from the packages of a release, on mac
44
55 Sidekicks talks with agents; it does not contain one. Install your agent's program too (for instance `mm`).
66
7-## macOS (Apple Silicon and Intel)
7+## macOS (Apple Silicon)
88
9-Sidekicks needs macOS 13 (Ventura) or later.
9+Sidekicks needs a Mac with Apple Silicon (M1 or later) and macOS 13 (Ventura) or later; there is no build for Intel Macs.
1010
11-1. Download `Sidekicks-<version>-macos-universal.dmg` and open it.
11+1. Download `Sidekicks-<version>-macos-arm64.dmg` and open it.
1212 2. Drag **sidekicks** into **Applications**.
1313 3. Open it once from **Applications**. The application is not signed by an Apple developer account, so macOS refuses it the first time ("Apple could not verify…").
1414 4. Open **System Settings → Privacy & Security**, scroll to the message about Sidekicks and click **Open Anyway**, then confirm.
@@ -4,11 +4,11 @@ This guide shows how to install Sidekicks from the packages of a release, on mac
4 4
5 Sidekicks talks with agents; it does not contain one. Install your agent's program too (for instance `mm`).5 Sidekicks talks with agents; it does not contain one. Install your agent's program too (for instance `mm`).
6 6
7-## macOS (Apple Silicon and Intel)7+## macOS (Apple Silicon)
8 8
9-Sidekicks needs macOS 13 (Ventura) or later.9+Sidekicks needs a Mac with Apple Silicon (M1 or later) and macOS 13 (Ventura) or later; there is no build for Intel Macs.
10 10
11-1. Download `Sidekicks-<version>-macos-universal.dmg` and open it.11+1. Download `Sidekicks-<version>-macos-arm64.dmg` and open it.
12 2. Drag **sidekicks** into **Applications**.12 2. Drag **sidekicks** into **Applications**.
13 3. Open it once from **Applications**. The application is not signed by an Apple developer account, so macOS refuses it the first time ("Apple could not verify…").13 3. Open it once from **Applications**. The application is not signed by an Apple developer account, so macOS refuses it the first time ("Apple could not verify…").
14 4. Open **System Settings → Privacy & Security**, scroll to the message about Sidekicks and click **Open Anyway**, then confirm.14 4. Open **System Settings → Privacy & Security**, scroll to the message about Sidekicks and click **Open Anyway**, then confirm.
modified docs/en/how-to/publish-a-release.md +1 -1
@@ -5,7 +5,7 @@ This guide shows how to publish a Sidekicks release from a Mac: build every pack
55 ## Steps
66
77 1. **Set the version** in `build/config.yml` (`info.version`), run `wails3 task common:update:build-assets`, put `LSMinimumSystemVersion` back to `13.0.0` in `build/darwin/Info.plist` and `Info.dev.plist`, then commit, merge into `main` and `git checkout main && git pull`.
8-2. **Build everything**: `make release-build`. `dist/` then holds the macOS packages (universal `.dmg` and `.zip`), the Windows ones (installer and `.zip`), the Linux amd64 ones (`.deb`, `.rpm`, `.AppImage`, `.tar.gz`, built in Docker) and `SHA256SUMS`.
8+2. **Build everything**: `make release-build`. `dist/` then holds the macOS packages (`.dmg` and `.zip` for Apple Silicon), the Windows ones (installer and `.zip`), the Linux amd64 ones (`.deb`, `.rpm`, `.AppImage`, `.tar.gz`, built in Docker) and `SHA256SUMS`.
99 3. **Tag**: `make release-tag`. The tag `v<version>` is pushed, and the **Release** workflow creates the release on Rickub with notes listing the files.
1010 4. **Attach the files**: on Rickub, open **Releases → v<version>** and attach every file of `dist/`.
1111
@@ -5,7 +5,7 @@ This guide shows how to publish a Sidekicks release from a Mac: build every pack
5 ## Steps5 ## Steps
6 6
7 1. **Set the version** in `build/config.yml` (`info.version`), run `wails3 task common:update:build-assets`, put `LSMinimumSystemVersion` back to `13.0.0` in `build/darwin/Info.plist` and `Info.dev.plist`, then commit, merge into `main` and `git checkout main && git pull`.7 1. **Set the version** in `build/config.yml` (`info.version`), run `wails3 task common:update:build-assets`, put `LSMinimumSystemVersion` back to `13.0.0` in `build/darwin/Info.plist` and `Info.dev.plist`, then commit, merge into `main` and `git checkout main && git pull`.
8-2. **Build everything**: `make release-build`. `dist/` then holds the macOS packages (universal `.dmg` and `.zip`), the Windows ones (installer and `.zip`), the Linux amd64 ones (`.deb`, `.rpm`, `.AppImage`, `.tar.gz`, built in Docker) and `SHA256SUMS`.8+2. **Build everything**: `make release-build`. `dist/` then holds the macOS packages (`.dmg` and `.zip` for Apple Silicon), the Windows ones (installer and `.zip`), the Linux amd64 ones (`.deb`, `.rpm`, `.AppImage`, `.tar.gz`, built in Docker) and `SHA256SUMS`.
9 3. **Tag**: `make release-tag`. The tag `v<version>` is pushed, and the **Release** workflow creates the release on Rickub with notes listing the files.9 3. **Tag**: `make release-tag`. The tag `v<version>` is pushed, and the **Release** workflow creates the release on Rickub with notes listing the files.
10 4. **Attach the files**: on Rickub, open **Releases → v<version>** and attach every file of `dist/`.10 4. **Attach the files**: on Rickub, open **Releases → v<version>** and attach every file of `dist/`.
11 11
modified docs/en/reference/commands.md +2 -2
@@ -29,7 +29,7 @@ The order is detailed in the [configuration reference](configuration.md#location
2929 | `package-windows` | `scripts/package.sh windows`: NSIS installer and `.zip` for Windows amd64, cross-built, into `dist/`. Needs `makensis` and `zip`. |
3030 | `release-build` | `scripts/build-release.sh`: on the Mac, every release package into `dist/` and `SHA256SUMS`. |
3131 | `release-tag` | `scripts/tag-release.sh`: tags `v<version>` on `main` and pushes it. |
32-| `package-macos` | `scripts/package.sh macos`: universal `.dmg` and `.zip` (arm64 + amd64, signed ad hoc), into `dist/`. macOS only. |
32+| `package-macos` | `scripts/package.sh macos`: `.dmg` and `.zip` for Apple Silicon (arm64, signed ad hoc; no Intel build), into `dist/`. macOS only. |
3333 | `install-test-config` | `scripts/install-test-config.sh`: writes `examples/test-agents.yaml` at the default configuration location with absolute paths to the repository: each agent is `mm -acp -config agent.yaml` started in its folder, with `afterStop: [<repo>/scripts/agents.sh, unload, <agent>]` to unload its model when it stops, `mm` written with its absolute path (`MM_BIN`, or the one in `PATH`), and the current `PATH` in each agent's `env`; an existing file is kept as `config.yaml.<date>.bak`. |
3434 | `check` | `lint` then `test`. |
3535 | `verify` | `check` then `bindings-check`: what to run before merging (there is no CI). |
@@ -71,7 +71,7 @@ scripts/package.sh version
7171 | --- | --- |
7272 | `linux` | `sidekicks_<v>_linux_<arch>.deb`, `.rpm`, `.tar.gz`, `Sidekicks-<v>-<x86_64\|aarch64>.AppImage` |
7373 | `windows` | `Sidekicks-<v>-windows-amd64-installer.exe`, `sidekicks_<v>_windows_amd64.zip` |
74-| `macos` | `Sidekicks-<v>-macos-universal.dmg`, `Sidekicks-<v>-macos-universal.zip` |
74+| `macos` | `Sidekicks-<v>-macos-arm64.dmg`, `Sidekicks-<v>-macos-arm64.zip` |
7575
7676 ## `scripts/build-release.sh`
7777
@@ -29,7 +29,7 @@ The order is detailed in the [configuration reference](configuration.md#location
29 | `package-windows` | `scripts/package.sh windows`: NSIS installer and `.zip` for Windows amd64, cross-built, into `dist/`. Needs `makensis` and `zip`. |29 | `package-windows` | `scripts/package.sh windows`: NSIS installer and `.zip` for Windows amd64, cross-built, into `dist/`. Needs `makensis` and `zip`. |
30 | `release-build` | `scripts/build-release.sh`: on the Mac, every release package into `dist/` and `SHA256SUMS`. |30 | `release-build` | `scripts/build-release.sh`: on the Mac, every release package into `dist/` and `SHA256SUMS`. |
31 | `release-tag` | `scripts/tag-release.sh`: tags `v<version>` on `main` and pushes it. |31 | `release-tag` | `scripts/tag-release.sh`: tags `v<version>` on `main` and pushes it. |
32-| `package-macos` | `scripts/package.sh macos`: universal `.dmg` and `.zip` (arm64 + amd64, signed ad hoc), into `dist/`. macOS only. |32+| `package-macos` | `scripts/package.sh macos`: `.dmg` and `.zip` for Apple Silicon (arm64, signed ad hoc; no Intel build), into `dist/`. macOS only. |
33 | `install-test-config` | `scripts/install-test-config.sh`: writes `examples/test-agents.yaml` at the default configuration location with absolute paths to the repository: each agent is `mm -acp -config agent.yaml` started in its folder, with `afterStop: [<repo>/scripts/agents.sh, unload, <agent>]` to unload its model when it stops, `mm` written with its absolute path (`MM_BIN`, or the one in `PATH`), and the current `PATH` in each agent's `env`; an existing file is kept as `config.yaml.<date>.bak`. |33 | `install-test-config` | `scripts/install-test-config.sh`: writes `examples/test-agents.yaml` at the default configuration location with absolute paths to the repository: each agent is `mm -acp -config agent.yaml` started in its folder, with `afterStop: [<repo>/scripts/agents.sh, unload, <agent>]` to unload its model when it stops, `mm` written with its absolute path (`MM_BIN`, or the one in `PATH`), and the current `PATH` in each agent's `env`; an existing file is kept as `config.yaml.<date>.bak`. |
34 | `check` | `lint` then `test`. |34 | `check` | `lint` then `test`. |
35 | `verify` | `check` then `bindings-check`: what to run before merging (there is no CI). |35 | `verify` | `check` then `bindings-check`: what to run before merging (there is no CI). |
@@ -71,7 +71,7 @@ scripts/package.sh version
71 | --- | --- |71 | --- | --- |
72 | `linux` | `sidekicks_<v>_linux_<arch>.deb`, `.rpm`, `.tar.gz`, `Sidekicks-<v>-<x86_64\|aarch64>.AppImage` |72 | `linux` | `sidekicks_<v>_linux_<arch>.deb`, `.rpm`, `.tar.gz`, `Sidekicks-<v>-<x86_64\|aarch64>.AppImage` |
73 | `windows` | `Sidekicks-<v>-windows-amd64-installer.exe`, `sidekicks_<v>_windows_amd64.zip` |73 | `windows` | `Sidekicks-<v>-windows-amd64-installer.exe`, `sidekicks_<v>_windows_amd64.zip` |
74-| `macos` | `Sidekicks-<v>-macos-universal.dmg`, `Sidekicks-<v>-macos-universal.zip` |74+| `macos` | `Sidekicks-<v>-macos-arm64.dmg`, `Sidekicks-<v>-macos-arm64.zip` |
75 75
76 ## `scripts/build-release.sh`76 ## `scripts/build-release.sh`
77 77
modified docs/fr/how-to/installer-sidekicks.md +3 -3
@@ -4,11 +4,11 @@ Ce guide montre comment installer Sidekicks à partir des paquets d'une release,
44
55 Sidekicks discute avec des agents, il n'en contient pas. Installez aussi le programme de votre agent (par exemple `mm`).
66
7-## macOS (Apple Silicon et Intel)
7+## macOS (Apple Silicon)
88
9-Sidekicks demande macOS 13 (Ventura) ou plus récent.
9+Sidekicks demande un Mac Apple Silicon (M1 ou plus récent) et macOS 13 (Ventura) ou plus récent ; il n'y a pas de version pour les Mac Intel.
1010
11-1. Téléchargez `Sidekicks-<version>-macos-universal.dmg` et ouvrez-le.
11+1. Téléchargez `Sidekicks-<version>-macos-arm64.dmg` et ouvrez-le.
1212 2. Glissez **sidekicks** dans **Applications**.
1313 3. Ouvrez-le une fois depuis **Applications**. L'application n'est pas signée par un compte développeur Apple : macOS la refuse la première fois (« Apple n'a pas pu vérifier… »).
1414 4. Ouvrez **Réglages Système → Confidentialité et sécurité**, descendez jusqu'au message sur Sidekicks, cliquez sur **Ouvrir quand même**, puis confirmez.
@@ -4,11 +4,11 @@ Ce guide montre comment installer Sidekicks à partir des paquets d'une release,
4 4
5 Sidekicks discute avec des agents, il n'en contient pas. Installez aussi le programme de votre agent (par exemple `mm`).5 Sidekicks discute avec des agents, il n'en contient pas. Installez aussi le programme de votre agent (par exemple `mm`).
6 6
7-## macOS (Apple Silicon et Intel)7+## macOS (Apple Silicon)
8 8
9-Sidekicks demande macOS 13 (Ventura) ou plus récent.9+Sidekicks demande un Mac Apple Silicon (M1 ou plus récent) et macOS 13 (Ventura) ou plus récent ; il n'y a pas de version pour les Mac Intel.
10 10
11-1. Téléchargez `Sidekicks-<version>-macos-universal.dmg` et ouvrez-le.11+1. Téléchargez `Sidekicks-<version>-macos-arm64.dmg` et ouvrez-le.
12 2. Glissez **sidekicks** dans **Applications**.12 2. Glissez **sidekicks** dans **Applications**.
13 3. Ouvrez-le une fois depuis **Applications**. L'application n'est pas signée par un compte développeur Apple : macOS la refuse la première fois (« Apple n'a pas pu vérifier… »).13 3. Ouvrez-le une fois depuis **Applications**. L'application n'est pas signée par un compte développeur Apple : macOS la refuse la première fois (« Apple n'a pas pu vérifier… »).
14 4. Ouvrez **Réglages Système → Confidentialité et sécurité**, descendez jusqu'au message sur Sidekicks, cliquez sur **Ouvrir quand même**, puis confirmez.14 4. Ouvrez **Réglages Système → Confidentialité et sécurité**, descendez jusqu'au message sur Sidekicks, cliquez sur **Ouvrir quand même**, puis confirmez.
modified docs/fr/how-to/publier-une-release.md +1 -1
@@ -5,7 +5,7 @@ Ce guide montre comment publier une release de Sidekicks depuis un Mac : constru
55 ## Étapes
66
77 1. **Fixez la version** dans `build/config.yml` (`info.version`), lancez `wails3 task common:update:build-assets`, remettez `LSMinimumSystemVersion` à `13.0.0` dans `build/darwin/Info.plist` et `Info.dev.plist`, puis commitez, fusionnez dans `main` et `git checkout main && git pull`.
8-2. **Construisez tout** : `make release-build`. `dist/` contient alors les paquets macOS (`.dmg` et `.zip` universels), Windows (installateur et `.zip`), Linux amd64 (`.deb`, `.rpm`, `.AppImage`, `.tar.gz`, construits dans Docker) et `SHA256SUMS`.
8+2. **Construisez tout** : `make release-build`. `dist/` contient alors les paquets macOS (`.dmg` et `.zip` pour Apple Silicon), Windows (installateur et `.zip`), Linux amd64 (`.deb`, `.rpm`, `.AppImage`, `.tar.gz`, construits dans Docker) et `SHA256SUMS`.
99 3. **Taggez** : `make release-tag`. Le tag `v<version>` est poussé, et le workflow **Release** crée la release sur Rickub avec des notes qui listent les fichiers.
1010 4. **Attachez les fichiers** : sur Rickub, ouvrez **Releases → v<version>** et attachez tous les fichiers de `dist/`.
1111
@@ -5,7 +5,7 @@ Ce guide montre comment publier une release de Sidekicks depuis un Mac : constru
5 ## Étapes5 ## Étapes
6 6
7 1. **Fixez la version** dans `build/config.yml` (`info.version`), lancez `wails3 task common:update:build-assets`, remettez `LSMinimumSystemVersion` à `13.0.0` dans `build/darwin/Info.plist` et `Info.dev.plist`, puis commitez, fusionnez dans `main` et `git checkout main && git pull`.7 1. **Fixez la version** dans `build/config.yml` (`info.version`), lancez `wails3 task common:update:build-assets`, remettez `LSMinimumSystemVersion` à `13.0.0` dans `build/darwin/Info.plist` et `Info.dev.plist`, puis commitez, fusionnez dans `main` et `git checkout main && git pull`.
8-2. **Construisez tout** : `make release-build`. `dist/` contient alors les paquets macOS (`.dmg` et `.zip` universels), Windows (installateur et `.zip`), Linux amd64 (`.deb`, `.rpm`, `.AppImage`, `.tar.gz`, construits dans Docker) et `SHA256SUMS`.8+2. **Construisez tout** : `make release-build`. `dist/` contient alors les paquets macOS (`.dmg` et `.zip` pour Apple Silicon), Windows (installateur et `.zip`), Linux amd64 (`.deb`, `.rpm`, `.AppImage`, `.tar.gz`, construits dans Docker) et `SHA256SUMS`.
9 3. **Taggez** : `make release-tag`. Le tag `v<version>` est poussé, et le workflow **Release** crée la release sur Rickub avec des notes qui listent les fichiers.9 3. **Taggez** : `make release-tag`. Le tag `v<version>` est poussé, et le workflow **Release** crée la release sur Rickub avec des notes qui listent les fichiers.
10 4. **Attachez les fichiers** : sur Rickub, ouvrez **Releases → v<version>** et attachez tous les fichiers de `dist/`.10 4. **Attachez les fichiers** : sur Rickub, ouvrez **Releases → v<version>** et attachez tous les fichiers de `dist/`.
11 11
modified docs/fr/reference/commandes.md +2 -2
@@ -29,7 +29,7 @@ L'ordre est détaillé dans la [référence de la configuration](configuration.m
2929 | `package-windows` | `scripts/package.sh windows` : installateur NSIS et `.zip` pour Windows amd64, compilés depuis Linux ou macOS, dans `dist/`. Demande `makensis` et `zip`. |
3030 | `release-build` | `scripts/build-release.sh` : sur le Mac, tous les paquets de release dans `dist/` et `SHA256SUMS`. |
3131 | `release-tag` | `scripts/tag-release.sh` : tague `v<version>` sur `main` et le pousse. |
32-| `package-macos` | `scripts/package.sh macos` : `.dmg` et `.zip` universels (arm64 + amd64, signés ad hoc), dans `dist/`. macOS seulement. |
32+| `package-macos` | `scripts/package.sh macos` : `.dmg` et `.zip` pour Apple Silicon (arm64, signés ad hoc ; pas de build Intel), dans `dist/`. macOS seulement. |
3333 | `install-test-config` | `scripts/install-test-config.sh` : écrit `examples/test-agents.yaml` à l'emplacement par défaut de la configuration, avec des chemins absolus vers le dépôt : chaque agent est `mm -acp -config agent.yaml` lancé dans son dossier, avec `afterStop: [<dépôt>/scripts/agents.sh, unload, <agent>]` pour décharger son modèle à l'arrêt, `mm` écrit avec son chemin absolu (`MM_BIN`, ou celui du `PATH`), et le `PATH` courant dans l'`env` de chaque agent ; un fichier existant est gardé sous `config.yaml.<date>.bak`. |
3434 | `check` | `lint` puis `test`. |
3535 | `verify` | `check` puis `bindings-check` : ce qu'il faut lancer avant de fusionner (il n'y a pas de CI). |
@@ -71,7 +71,7 @@ scripts/package.sh version
7171 | --- | --- |
7272 | `linux` | `sidekicks_<v>_linux_<arch>.deb`, `.rpm`, `.tar.gz`, `Sidekicks-<v>-<x86_64\|aarch64>.AppImage` |
7373 | `windows` | `Sidekicks-<v>-windows-amd64-installer.exe`, `sidekicks_<v>_windows_amd64.zip` |
74-| `macos` | `Sidekicks-<v>-macos-universal.dmg`, `Sidekicks-<v>-macos-universal.zip` |
74+| `macos` | `Sidekicks-<v>-macos-arm64.dmg`, `Sidekicks-<v>-macos-arm64.zip` |
7575
7676 ## `scripts/build-release.sh`
7777
@@ -29,7 +29,7 @@ L'ordre est détaillé dans la [référence de la configuration](configuration.m
29 | `package-windows` | `scripts/package.sh windows` : installateur NSIS et `.zip` pour Windows amd64, compilés depuis Linux ou macOS, dans `dist/`. Demande `makensis` et `zip`. |29 | `package-windows` | `scripts/package.sh windows` : installateur NSIS et `.zip` pour Windows amd64, compilés depuis Linux ou macOS, dans `dist/`. Demande `makensis` et `zip`. |
30 | `release-build` | `scripts/build-release.sh` : sur le Mac, tous les paquets de release dans `dist/` et `SHA256SUMS`. |30 | `release-build` | `scripts/build-release.sh` : sur le Mac, tous les paquets de release dans `dist/` et `SHA256SUMS`. |
31 | `release-tag` | `scripts/tag-release.sh` : tague `v<version>` sur `main` et le pousse. |31 | `release-tag` | `scripts/tag-release.sh` : tague `v<version>` sur `main` et le pousse. |
32-| `package-macos` | `scripts/package.sh macos` : `.dmg` et `.zip` universels (arm64 + amd64, signés ad hoc), dans `dist/`. macOS seulement. |32+| `package-macos` | `scripts/package.sh macos` : `.dmg` et `.zip` pour Apple Silicon (arm64, signés ad hoc ; pas de build Intel), dans `dist/`. macOS seulement. |
33 | `install-test-config` | `scripts/install-test-config.sh` : écrit `examples/test-agents.yaml` à l'emplacement par défaut de la configuration, avec des chemins absolus vers le dépôt : chaque agent est `mm -acp -config agent.yaml` lancé dans son dossier, avec `afterStop: [<dépôt>/scripts/agents.sh, unload, <agent>]` pour décharger son modèle à l'arrêt, `mm` écrit avec son chemin absolu (`MM_BIN`, ou celui du `PATH`), et le `PATH` courant dans l'`env` de chaque agent ; un fichier existant est gardé sous `config.yaml.<date>.bak`. |33 | `install-test-config` | `scripts/install-test-config.sh` : écrit `examples/test-agents.yaml` à l'emplacement par défaut de la configuration, avec des chemins absolus vers le dépôt : chaque agent est `mm -acp -config agent.yaml` lancé dans son dossier, avec `afterStop: [<dépôt>/scripts/agents.sh, unload, <agent>]` pour décharger son modèle à l'arrêt, `mm` écrit avec son chemin absolu (`MM_BIN`, ou celui du `PATH`), et le `PATH` courant dans l'`env` de chaque agent ; un fichier existant est gardé sous `config.yaml.<date>.bak`. |
34 | `check` | `lint` puis `test`. |34 | `check` | `lint` puis `test`. |
35 | `verify` | `check` puis `bindings-check` : ce qu'il faut lancer avant de fusionner (il n'y a pas de CI). |35 | `verify` | `check` puis `bindings-check` : ce qu'il faut lancer avant de fusionner (il n'y a pas de CI). |
@@ -71,7 +71,7 @@ scripts/package.sh version
71 | --- | --- |71 | --- | --- |
72 | `linux` | `sidekicks_<v>_linux_<arch>.deb`, `.rpm`, `.tar.gz`, `Sidekicks-<v>-<x86_64\|aarch64>.AppImage` |72 | `linux` | `sidekicks_<v>_linux_<arch>.deb`, `.rpm`, `.tar.gz`, `Sidekicks-<v>-<x86_64\|aarch64>.AppImage` |
73 | `windows` | `Sidekicks-<v>-windows-amd64-installer.exe`, `sidekicks_<v>_windows_amd64.zip` |73 | `windows` | `Sidekicks-<v>-windows-amd64-installer.exe`, `sidekicks_<v>_windows_amd64.zip` |
74-| `macos` | `Sidekicks-<v>-macos-universal.dmg`, `Sidekicks-<v>-macos-universal.zip` |74+| `macos` | `Sidekicks-<v>-macos-arm64.dmg`, `Sidekicks-<v>-macos-arm64.zip` |
75 75
76 ## `scripts/build-release.sh`76 ## `scripts/build-release.sh`
77 77
modified scripts/build-release.sh +2 -2
@@ -5,7 +5,7 @@
55 # writes dist/SHA256SUMS. The files are then attached by hand to the release
66 # that scripts/tag-release.sh starts (see RELEASING.md).
77 #
8-# scripts/build-release.sh # macOS, Windows amd64, Linux amd64
8+# scripts/build-release.sh # macOS arm64, Windows amd64, Linux amd64
99 # LINUX_ARCHES="amd64 arm64" scripts/build-release.sh
1010 # SKIP="linux" scripts/build-release.sh # skip systems (macos, windows, linux)
1111 #
@@ -31,7 +31,7 @@ rm -rf "$dist"
3131
3232 if ! skipped macos; then
3333 [ "$(uname -s)" = Darwin ] || die "the macOS packages are built on macOS (or SKIP=macos)"
34- step "macOS (universal)"
34+ step "macOS (arm64)"
3535 scripts/package.sh macos
3636 fi
3737
@@ -5,7 +5,7 @@
5 # writes dist/SHA256SUMS. The files are then attached by hand to the release5 # writes dist/SHA256SUMS. The files are then attached by hand to the release
6 # that scripts/tag-release.sh starts (see RELEASING.md).6 # that scripts/tag-release.sh starts (see RELEASING.md).
7 #7 #
8-# scripts/build-release.sh # macOS, Windows amd64, Linux amd648+# scripts/build-release.sh # macOS arm64, Windows amd64, Linux amd64
9 # LINUX_ARCHES="amd64 arm64" scripts/build-release.sh9 # LINUX_ARCHES="amd64 arm64" scripts/build-release.sh
10 # SKIP="linux" scripts/build-release.sh # skip systems (macos, windows, linux)10 # SKIP="linux" scripts/build-release.sh # skip systems (macos, windows, linux)
11 #11 #
@@ -31,7 +31,7 @@ rm -rf "$dist"
31 31
32 if ! skipped macos; then32 if ! skipped macos; then
33 [ "$(uname -s)" = Darwin ] || die "the macOS packages are built on macOS (or SKIP=macos)"33 [ "$(uname -s)" = Darwin ] || die "the macOS packages are built on macOS (or SKIP=macos)"
34- step "macOS (universal)"34+ step "macOS (arm64)"
35 scripts/package.sh macos35 scripts/package.sh macos
36 fi36 fi
37 37
modified scripts/package.sh +7 -6
@@ -6,7 +6,7 @@
66 #
77 # scripts/package.sh linux # .deb, .rpm, .AppImage and .tar.gz for this machine's architecture
88 # scripts/package.sh windows # installer (NSIS) and .zip for Windows amd64, cross-built from Linux or macOS
9-# scripts/package.sh macos # .dmg and .zip of the universal .app (arm64 + amd64), on macOS only
9+# scripts/package.sh macos # .dmg and .zip of the .app for Apple Silicon (arm64), on macOS only
1010 # scripts/package.sh names linux arm64 # prints the file names, builds nothing
1111 #
1212 # Linux needs GTK 4 and WebKitGTK 6 dev packages, plus file (AppImage) and
@@ -42,8 +42,8 @@ names() {
4242 echo "sidekicks_${v}_windows_${arch}.zip"
4343 ;;
4444 macos)
45- echo "Sidekicks-${v}-macos-universal.dmg"
46- echo "Sidekicks-${v}-macos-universal.zip"
45+ echo "Sidekicks-${v}-macos-${arch}.dmg"
46+ echo "Sidekicks-${v}-macos-${arch}.zip"
4747 ;;
4848 *) die "unknown system: $system (linux, windows or macos)" ;;
4949 esac
@@ -84,11 +84,12 @@ package_windows() {
8484 package_macos() {
8585 [ "$(uname -s)" = Darwin ] || die "the macOS packages are built on macOS"
8686 forget_previous_binary
87- wails darwin:package:universal
87+ # Apple Silicon only: no Intel (amd64) build.
88+ wails darwin:package ARCH=arm64
8889 wails darwin:create:dmg
8990 mkdir -p "$dist"
90- mv "$root/bin/sidekicks.dmg" "$dist/$(name macos universal 1)"
91- ditto -c -k --keepParent "$root/bin/sidekicks.app" "$dist/$(name macos universal 2)"
91+ mv "$root/bin/sidekicks.dmg" "$dist/$(name macos arm64 1)"
92+ ditto -c -k --keepParent "$root/bin/sidekicks.app" "$dist/$(name macos arm64 2)"
9293 }
9394
9495 case "${1:-}" in
@@ -6,7 +6,7 @@
6 #6 #
7 # scripts/package.sh linux # .deb, .rpm, .AppImage and .tar.gz for this machine's architecture7 # scripts/package.sh linux # .deb, .rpm, .AppImage and .tar.gz for this machine's architecture
8 # scripts/package.sh windows # installer (NSIS) and .zip for Windows amd64, cross-built from Linux or macOS8 # scripts/package.sh windows # installer (NSIS) and .zip for Windows amd64, cross-built from Linux or macOS
9-# scripts/package.sh macos # .dmg and .zip of the universal .app (arm64 + amd64), on macOS only9+# scripts/package.sh macos # .dmg and .zip of the .app for Apple Silicon (arm64), on macOS only
10 # scripts/package.sh names linux arm64 # prints the file names, builds nothing10 # scripts/package.sh names linux arm64 # prints the file names, builds nothing
11 #11 #
12 # Linux needs GTK 4 and WebKitGTK 6 dev packages, plus file (AppImage) and12 # Linux needs GTK 4 and WebKitGTK 6 dev packages, plus file (AppImage) and
@@ -42,8 +42,8 @@ names() {
42 echo "sidekicks_${v}_windows_${arch}.zip"42 echo "sidekicks_${v}_windows_${arch}.zip"
43 ;;43 ;;
44 macos)44 macos)
45- echo "Sidekicks-${v}-macos-universal.dmg"45+ echo "Sidekicks-${v}-macos-${arch}.dmg"
46- echo "Sidekicks-${v}-macos-universal.zip"46+ echo "Sidekicks-${v}-macos-${arch}.zip"
47 ;;47 ;;
48 *) die "unknown system: $system (linux, windows or macos)" ;;48 *) die "unknown system: $system (linux, windows or macos)" ;;
49 esac49 esac
@@ -84,11 +84,12 @@ package_windows() {
84 package_macos() {84 package_macos() {
85 [ "$(uname -s)" = Darwin ] || die "the macOS packages are built on macOS"85 [ "$(uname -s)" = Darwin ] || die "the macOS packages are built on macOS"
86 forget_previous_binary86 forget_previous_binary
87- wails darwin:package:universal87+ # Apple Silicon only: no Intel (amd64) build.
88+ wails darwin:package ARCH=arm64
88 wails darwin:create:dmg89 wails darwin:create:dmg
89 mkdir -p "$dist"90 mkdir -p "$dist"
90- mv "$root/bin/sidekicks.dmg" "$dist/$(name macos universal 1)"91+ mv "$root/bin/sidekicks.dmg" "$dist/$(name macos arm64 1)"
91- ditto -c -k --keepParent "$root/bin/sidekicks.app" "$dist/$(name macos universal 2)"92+ ditto -c -k --keepParent "$root/bin/sidekicks.app" "$dist/$(name macos arm64 2)"
92 }93 }
93 94
94 case "${1:-}" in95 case "${1:-}" in
modified scripts/package_test.sh +2 -2
@@ -41,8 +41,8 @@ sidekicks_${version}_linux_amd64.tar.gz" names linux amd64
4141 expect "windows names" "Sidekicks-${version}-windows-amd64-installer.exe
4242 sidekicks_${version}_windows_amd64.zip" names windows amd64
4343
44-expect "macos names" "Sidekicks-${version}-macos-universal.dmg
45-Sidekicks-${version}-macos-universal.zip" names macos universal
44+expect "macos names" "Sidekicks-${version}-macos-arm64.dmg
45+Sidekicks-${version}-macos-arm64.zip" names macos arm64
4646
4747 if "$script" names plan9 386 >/dev/null 2>&1; then echo "FAIL an unknown system is refused"; failures=$((failures + 1)); else echo "ok an unknown system is refused"; fi
4848
@@ -41,8 +41,8 @@ sidekicks_${version}_linux_amd64.tar.gz" names linux amd64
41 expect "windows names" "Sidekicks-${version}-windows-amd64-installer.exe41 expect "windows names" "Sidekicks-${version}-windows-amd64-installer.exe
42 sidekicks_${version}_windows_amd64.zip" names windows amd6442 sidekicks_${version}_windows_amd64.zip" names windows amd64
43 43
44-expect "macos names" "Sidekicks-${version}-macos-universal.dmg44+expect "macos names" "Sidekicks-${version}-macos-arm64.dmg
45-Sidekicks-${version}-macos-universal.zip" names macos universal45+Sidekicks-${version}-macos-arm64.zip" names macos arm64
46 46
47 if "$script" names plan9 386 >/dev/null 2>&1; then echo "FAIL an unknown system is refused"; failures=$((failures + 1)); else echo "ok an unknown system is refused"; fi47 if "$script" names plan9 386 >/dev/null 2>&1; then echo "FAIL an unknown system is refused"; failures=$((failures + 1)); else echo "ok an unknown system is refused"; fi
48 48
modified scripts/tag-release.sh +1 -1
@@ -41,7 +41,7 @@ if git rev-parse -q --verify "refs/tags/$tag" >/dev/null; then
4141 fi
4242
4343 missing=""
44-for name in $(scripts/package.sh names macos universal) $(scripts/package.sh names windows amd64) $(scripts/package.sh names linux amd64) SHA256SUMS; do
44+for name in $(scripts/package.sh names macos arm64) $(scripts/package.sh names windows amd64) $(scripts/package.sh names linux amd64) SHA256SUMS; do
4545 [ -f "dist/$name" ] || missing="$missing $name"
4646 done
4747 [ -z "$missing" ] || echo "tag-release.sh: warning: dist/ has no$missing (scripts/build-release.sh builds them)" >&2
@@ -41,7 +41,7 @@ if git rev-parse -q --verify "refs/tags/$tag" >/dev/null; then
41 fi41 fi
42 42
43 missing=""43 missing=""
44-for name in $(scripts/package.sh names macos universal) $(scripts/package.sh names windows amd64) $(scripts/package.sh names linux amd64) SHA256SUMS; do44+for name in $(scripts/package.sh names macos arm64) $(scripts/package.sh names windows amd64) $(scripts/package.sh names linux amd64) SHA256SUMS; do
45 [ -f "dist/$name" ] || missing="$missing $name"45 [ -f "dist/$name" ] || missing="$missing $name"
46 done46 done
47 [ -z "$missing" ] || echo "tag-release.sh: warning: dist/ has no$missing (scripts/build-release.sh builds them)" >&247 [ -z "$missing" ] || echo "tag-release.sh: warning: dist/ has no$missing (scripts/build-release.sh builds them)" >&2
modified scripts/tag-release_test.sh +1 -1
@@ -58,7 +58,7 @@ printf 'info:\n version: "1.2.4"\n' > "$work/repo/build/config.yml"
5858 git -C "$work/repo" commit -q -am "1.2.4"
5959 git -C "$work/repo" push -q origin main
6060 mkdir -p "$work/repo/dist"
61-for name in $("$work/repo/scripts/package.sh" names macos universal) $("$work/repo/scripts/package.sh" names windows amd64) $("$work/repo/scripts/package.sh" names linux amd64) SHA256SUMS; do : > "$work/repo/dist/$name"; done
61+for name in $("$work/repo/scripts/package.sh" names macos arm64) $("$work/repo/scripts/package.sh" names windows amd64) $("$work/repo/scripts/package.sh" names linux amd64) SHA256SUMS; do : > "$work/repo/dist/$name"; done
6262 expect "--no-push tags locally only" 0 scripts/tag-release.sh --no-push
6363 grep -q warning "$work/out" && fail "no warning when dist/ is complete" || ok "no warning when dist/ is complete"
6464 git -C "$work/repo" rev-parse -q --verify refs/tags/v1.2.4 >/dev/null && [ -z "$(git -C "$work/remote.git" tag -l v1.2.4)" ] && ok "the local tag is not pushed" || fail "the local tag is not pushed"
@@ -58,7 +58,7 @@ printf 'info:\n version: "1.2.4"\n' > "$work/repo/build/config.yml"
58 git -C "$work/repo" commit -q -am "1.2.4"58 git -C "$work/repo" commit -q -am "1.2.4"
59 git -C "$work/repo" push -q origin main59 git -C "$work/repo" push -q origin main
60 mkdir -p "$work/repo/dist"60 mkdir -p "$work/repo/dist"
61-for name in $("$work/repo/scripts/package.sh" names macos universal) $("$work/repo/scripts/package.sh" names windows amd64) $("$work/repo/scripts/package.sh" names linux amd64) SHA256SUMS; do : > "$work/repo/dist/$name"; done61+for name in $("$work/repo/scripts/package.sh" names macos arm64) $("$work/repo/scripts/package.sh" names windows amd64) $("$work/repo/scripts/package.sh" names linux amd64) SHA256SUMS; do : > "$work/repo/dist/$name"; done
62 expect "--no-push tags locally only" 0 scripts/tag-release.sh --no-push62 expect "--no-push tags locally only" 0 scripts/tag-release.sh --no-push
63 grep -q warning "$work/out" && fail "no warning when dist/ is complete" || ok "no warning when dist/ is complete"63 grep -q warning "$work/out" && fail "no warning when dist/ is complete" || ok "no warning when dist/ is complete"
64 git -C "$work/repo" rev-parse -q --verify refs/tags/v1.2.4 >/dev/null && [ -z "$(git -C "$work/remote.git" tag -l v1.2.4)" ] && ok "the local tag is not pushed" || fail "the local tag is not pushed"64 git -C "$work/repo" rev-parse -q --verify refs/tags/v1.2.4 >/dev/null && [ -z "$(git -C "$work/remote.git" tag -l v1.2.4)" ] && ok "the local tag is not pushed" || fail "the local tag is not pushed"