🛟 Updated.
9fb32f8 parent: f95c2c9 modified
.github/workflows/release.yml +1 -1 | @@ -52,7 +52,7 @@ jobs: | ||
| 52 | 52 | echo |
| 53 | 53 | echo "| File | System |" |
| 54 | 54 | 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 | |
| 56 | 56 | for name in $(scripts/package.sh names windows amd64); do echo "| \`$name\` | Windows x86-64 |"; done |
| 57 | 57 | for name in $(scripts/package.sh names linux amd64); do echo "| \`$name\` | Linux x86-64 |"; done |
| 58 | 58 | echo "| \`SHA256SUMS\` | checksums: \`sha256sum -c SHA256SUMS --ignore-missing\` (\`shasum -a 256 -c\` on macOS) |" |
| @@ -52,7 +52,7 @@ jobs: | |||
| 52 | echo | 52 | 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) |"; done | 55 | + 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 |"; done | 56 | 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 |"; done | 57 | 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 @@ | ||
| 190 | 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 | 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 | 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). | |
| @@ -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: | ||
| 60 | 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 | 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 | 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 | 64 | - 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 | ||
| 43 | 43 | package-windows: ## Release packages for Windows amd64 (installer, zip) into dist/, cross-built |
| 44 | 44 | @scripts/package.sh windows |
| 45 | 45 | |
| 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 | |
| 47 | 47 | @scripts/package.sh macos |
| 48 | 48 | |
| 49 | 49 | 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-built | 43 | package-windows: ## Release packages for Windows amd64 (installer, zip) into dist/, cross-built |
| 44 | @scripts/package.sh windows | 44 | @scripts/package.sh windows |
| 45 | 45 | ||
| 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 |
| 47 | @scripts/package.sh macos | 47 | @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/` : | ||
| 28 | 28 | |
| 29 | 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 | 32 | | `Sidekicks-<v>-windows-amd64-installer.exe`, `sidekicks_<v>_windows_amd64.zip` | compilés depuis le Mac (demande `brew install makensis zip`) | |
| 33 | 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 | 34 | | `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/`: | ||
| 28 | 28 | |
| 29 | 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 | 32 | | `Sidekicks-<v>-windows-amd64-installer.exe`, `sidekicks_<v>_windows_amd64.zip` | cross-built (needs `brew install makensis zip`) | |
| 33 | 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 | 34 | | `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 | ||
| 4 | 4 | |
| 5 | 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 | 12 | 2. Drag **sidekicks** into **Applications**. |
| 13 | 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 | 14 | 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 | ||
| 5 | 5 | ## Steps |
| 6 | 6 | |
| 7 | 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 | 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 | 10 | 4. **Attach the files**: on Rickub, open **Releases → v<version>** and attach every file of `dist/`. |
| 11 | 11 | |
| @@ -5,7 +5,7 @@ This guide shows how to publish a Sidekicks release from a Mac: build every pack | |||
| 5 | ## Steps | 5 | ## 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 | ||
| 29 | 29 | | `package-windows` | `scripts/package.sh windows`: NSIS installer and `.zip` for Windows amd64, cross-built, into `dist/`. Needs `makensis` and `zip`. | |
| 30 | 30 | | `release-build` | `scripts/build-release.sh`: on the Mac, every release package into `dist/` and `SHA256SUMS`. | |
| 31 | 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 | 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 | 34 | | `check` | `lint` then `test`. | |
| 35 | 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 | 72 | | `linux` | `sidekicks_<v>_linux_<arch>.deb`, `.rpm`, `.tar.gz`, `Sidekicks-<v>-<x86_64\|aarch64>.AppImage` | |
| 73 | 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 | 76 | ## `scripts/build-release.sh` |
| 77 | 77 | |
| @@ -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, | ||
| 4 | 4 | |
| 5 | 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 | 12 | 2. Glissez **sidekicks** dans **Applications**. |
| 13 | 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 | 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. |
| @@ -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 | ||
| 5 | 5 | ## Étapes |
| 6 | 6 | |
| 7 | 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 | 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 | 10 | 4. **Attachez les fichiers** : sur Rickub, ouvrez **Releases → v<version>** et attachez tous les fichiers de `dist/`. |
| 11 | 11 | |
| @@ -5,7 +5,7 @@ Ce guide montre comment publier une release de Sidekicks depuis un Mac : constru | |||
| 5 | ## Étapes | 5 | ## É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 | ||
| 29 | 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 | 30 | | `release-build` | `scripts/build-release.sh` : sur le Mac, tous les paquets de release dans `dist/` et `SHA256SUMS`. | |
| 31 | 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 | 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 | 34 | | `check` | `lint` puis `test`. | |
| 35 | 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 | 72 | | `linux` | `sidekicks_<v>_linux_<arch>.deb`, `.rpm`, `.tar.gz`, `Sidekicks-<v>-<x86_64\|aarch64>.AppImage` | |
| 73 | 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 | 76 | ## `scripts/build-release.sh` |
| 77 | 77 | |
| @@ -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 @@ | ||
| 5 | 5 | # writes dist/SHA256SUMS. The files are then attached by hand to the release |
| 6 | 6 | # that scripts/tag-release.sh starts (see RELEASING.md). |
| 7 | 7 | # |
| 8 | -# scripts/build-release.sh # macOS, Windows amd64, Linux amd64 | |
| 8 | +# scripts/build-release.sh # macOS arm64, Windows amd64, Linux amd64 | |
| 9 | 9 | # LINUX_ARCHES="amd64 arm64" scripts/build-release.sh |
| 10 | 10 | # SKIP="linux" scripts/build-release.sh # skip systems (macos, windows, linux) |
| 11 | 11 | # |
| @@ -31,7 +31,7 @@ rm -rf "$dist" | ||
| 31 | 31 | |
| 32 | 32 | if ! skipped macos; then |
| 33 | 33 | [ "$(uname -s)" = Darwin ] || die "the macOS packages are built on macOS (or SKIP=macos)" |
| 34 | - step "macOS (universal)" | |
| 34 | + step "macOS (arm64)" | |
| 35 | 35 | scripts/package.sh macos |
| 36 | 36 | fi |
| 37 | 37 | |
| @@ -5,7 +5,7 @@ | |||
| 5 | # writes dist/SHA256SUMS. The files are then attached by hand to the release | 5 | # 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 amd64 | 8 | +# scripts/build-release.sh # macOS arm64, Windows amd64, Linux amd64 |
| 9 | # LINUX_ARCHES="amd64 arm64" scripts/build-release.sh | 9 | # 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; then | 32 | 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 macos | 35 | scripts/package.sh macos |
| 36 | fi | 36 | fi |
| 37 | 37 | ||
modified
scripts/package.sh +7 -6 | @@ -6,7 +6,7 @@ | ||
| 6 | 6 | # |
| 7 | 7 | # scripts/package.sh linux # .deb, .rpm, .AppImage and .tar.gz for this machine's architecture |
| 8 | 8 | # 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 | |
| 10 | 10 | # scripts/package.sh names linux arm64 # prints the file names, builds nothing |
| 11 | 11 | # |
| 12 | 12 | # Linux needs GTK 4 and WebKitGTK 6 dev packages, plus file (AppImage) and |
| @@ -42,8 +42,8 @@ names() { | ||
| 42 | 42 | echo "sidekicks_${v}_windows_${arch}.zip" |
| 43 | 43 | ;; |
| 44 | 44 | 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" | |
| 47 | 47 | ;; |
| 48 | 48 | *) die "unknown system: $system (linux, windows or macos)" ;; |
| 49 | 49 | esac |
| @@ -84,11 +84,12 @@ package_windows() { | ||
| 84 | 84 | package_macos() { |
| 85 | 85 | [ "$(uname -s)" = Darwin ] || die "the macOS packages are built on macOS" |
| 86 | 86 | forget_previous_binary |
| 87 | - wails darwin:package:universal | |
| 87 | + # Apple Silicon only: no Intel (amd64) build. | |
| 88 | + wails darwin:package ARCH=arm64 | |
| 88 | 89 | wails darwin:create:dmg |
| 89 | 90 | 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)" | |
| 92 | 93 | } |
| 93 | 94 | |
| 94 | 95 | case "${1:-}" in |
| @@ -6,7 +6,7 @@ | |||
| 6 | # | 6 | # |
| 7 | # scripts/package.sh linux # .deb, .rpm, .AppImage and .tar.gz for this machine's architecture | 7 | # 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 macOS | 8 | # 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 |
| 10 | # scripts/package.sh names linux arm64 # prints the file names, builds nothing | 10 | # 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) and | 12 | # 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 | esac | 49 | 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_binary | 86 | forget_previous_binary |
| 87 | - wails darwin:package:universal | 87 | + # Apple Silicon only: no Intel (amd64) build. |
| 88 | + wails darwin:package ARCH=arm64 | ||
| 88 | wails darwin:create:dmg | 89 | 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:-}" in | 95 | case "${1:-}" in |
modified
scripts/package_test.sh +2 -2 | @@ -41,8 +41,8 @@ sidekicks_${version}_linux_amd64.tar.gz" names linux amd64 | ||
| 41 | 41 | expect "windows names" "Sidekicks-${version}-windows-amd64-installer.exe |
| 42 | 42 | sidekicks_${version}_windows_amd64.zip" names windows amd64 |
| 43 | 43 | |
| 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 | |
| 46 | 46 | |
| 47 | 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"; fi |
| 48 | 48 | |
| @@ -41,8 +41,8 @@ sidekicks_${version}_linux_amd64.tar.gz" names linux amd64 | |||
| 41 | expect "windows names" "Sidekicks-${version}-windows-amd64-installer.exe | 41 | expect "windows names" "Sidekicks-${version}-windows-amd64-installer.exe |
| 42 | sidekicks_${version}_windows_amd64.zip" names windows amd64 | 42 | sidekicks_${version}_windows_amd64.zip" names windows amd64 |
| 43 | 43 | ||
| 44 | -expect "macos names" "Sidekicks-${version}-macos-universal.dmg | 44 | +expect "macos names" "Sidekicks-${version}-macos-arm64.dmg |
| 45 | -Sidekicks-${version}-macos-universal.zip" names macos universal | 45 | +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"; fi | 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"; 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 | ||
| 41 | 41 | fi |
| 42 | 42 | |
| 43 | 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; 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 | |
| 45 | 45 | [ -f "dist/$name" ] || missing="$missing $name" |
| 46 | 46 | done |
| 47 | 47 | [ -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 | fi | 41 | 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; 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 |
| 45 | [ -f "dist/$name" ] || missing="$missing $name" | 45 | [ -f "dist/$name" ] || missing="$missing $name" |
| 46 | done | 46 | done |
| 47 | [ -z "$missing" ] || echo "tag-release.sh: warning: dist/ has no$missing (scripts/build-release.sh builds them)" >&2 | 47 | [ -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" | ||
| 58 | 58 | git -C "$work/repo" commit -q -am "1.2.4" |
| 59 | 59 | git -C "$work/repo" push -q origin main |
| 60 | 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"; 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 | |
| 62 | 62 | expect "--no-push tags locally only" 0 scripts/tag-release.sh --no-push |
| 63 | 63 | grep -q warning "$work/out" && fail "no warning when dist/ is complete" || ok "no warning when dist/ is complete" |
| 64 | 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" |
| @@ -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 main | 59 | 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"; 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 |
| 62 | expect "--no-push tags locally only" 0 scripts/tag-release.sh --no-push | 62 | 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" |