mirror of
https://github.com/kemalai/FreeCrawl-SEO-Tool.git
synced 2026-10-18 00:39:38 +02:00
fix: build one macOS arch per release leg
This commit is contained in:
1 parent
043a477118
commit
bad754574e
3 files changed
+25
-7
No files matched your search
@@ -4,7 +4,15 @@ on:
|
|||||||
push:
|
push:
|
||||||
tags:
|
tags:
|
||||||
- 'v*.*.*'
|
- 'v*.*.*'
|
||||||
|
# Manual runs rebuild the assets of an existing release: pass its tag
|
||||||
|
# and the job uploads into that release instead of one named after the
|
||||||
|
# branch. Used when a leg failed after the tag was pushed.
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
tag:
|
||||||
|
description: 'Existing release tag to (re)build assets for, e.g. v1.0.0'
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
@@ -36,7 +44,11 @@ jobs:
|
|||||||
# Intel .dmg — where Playwright looked for `chrome-mac-x64`,
|
# Intel .dmg — where Playwright looked for `chrome-mac-x64`,
|
||||||
# found nothing, and every Intel user landed on the "browser
|
# found nothing, and every Intel user landed on the "browser
|
||||||
# missing" dialog. Each job now downloads the browsers for the
|
# missing" dialog. Each job now downloads the browsers for the
|
||||||
# architecture it is packaging.
|
# architecture it is packaging. The `--arm64` / `--x64` flag is
|
||||||
|
# the ONLY place the arch is chosen: electron-builder.yml must not
|
||||||
|
# list `mac.target[].arch`, or the config list silently overrides
|
||||||
|
# the flag and each leg builds both images again (that is what
|
||||||
|
# broke 1.0.0's first run).
|
||||||
#
|
#
|
||||||
# Each leg also names its .dmg with the words a user actually
|
# Each leg also names its .dmg with the words a user actually
|
||||||
# knows ("Apple-Silicon" / "Intel") instead of arm64 / x64.
|
# knows ("Apple-Silicon" / "Intel") instead of arm64 / x64.
|
||||||
@@ -140,6 +152,7 @@ jobs:
|
|||||||
- name: Publish GitHub Release
|
- name: Publish GitHub Release
|
||||||
uses: softprops/action-gh-release@v2
|
uses: softprops/action-gh-release@v2
|
||||||
with:
|
with:
|
||||||
|
tag_name: ${{ inputs.tag || github.ref_name }}
|
||||||
files: ${{ matrix.artifact_paths }}
|
files: ${{ matrix.artifact_paths }}
|
||||||
generate_release_notes: true
|
generate_release_notes: true
|
||||||
draft: false
|
draft: false
|
||||||
|
|||||||
@@ -226,11 +226,11 @@ node apps/cli/dist/index.js analyze-logs access_log-Jul.gz # gzippe
|
|||||||
```bash
|
```bash
|
||||||
npm run build # all packages + desktop + CLI
|
npm run build # all packages + desktop + CLI
|
||||||
npm --workspace apps/desktop run build:win # Windows installer (NSIS) + portable .exe
|
npm --workspace apps/desktop run build:win # Windows installer (NSIS) + portable .exe
|
||||||
npm --workspace apps/desktop run build:mac # macOS DMG (arm64 + x64)
|
npm --workspace apps/desktop run build:mac # macOS DMG for this Mac's CPU (add -- --arm64 --x64 for both)
|
||||||
npm --workspace apps/desktop run build:linux # AppImage / .deb / .rpm
|
npm --workspace apps/desktop run build:linux # AppImage / .deb / .rpm
|
||||||
```
|
```
|
||||||
|
|
||||||
A local `build:mac` names the images `-macOS-arm64.dmg` / `-macOS-x64.dmg`; the release workflow builds each architecture on its own runner and renames them to `-macOS-Apple-Silicon.dmg` / `-macOS-Intel.dmg`.
|
A local `build:mac` names the image `-macOS-arm64.dmg` or `-macOS-x64.dmg`; the release workflow builds each architecture on its own runner and names them `-macOS-Apple-Silicon.dmg` / `-macOS-Intel.dmg`.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
|
|||||||
@@ -65,11 +65,16 @@ portable:
|
|||||||
artifactName: FreeCrawl-SEO-Tool-${version}-Windows-Portable.${ext}
|
artifactName: FreeCrawl-SEO-Tool-${version}-Windows-Portable.${ext}
|
||||||
mac:
|
mac:
|
||||||
artifactName: FreeCrawl-SEO-Tool-${version}-macOS-${arch}.${ext}
|
artifactName: FreeCrawl-SEO-Tool-${version}-macOS-${arch}.${ext}
|
||||||
|
# No `arch` list here on purpose. electron-builder lets a config-side
|
||||||
|
# arch list override the CLI's `--arm64` / `--x64` unless a target type
|
||||||
|
# is also given on the CLI (computeArchToTargetNamesMap), so with
|
||||||
|
# `arch: [arm64, x64]` every release leg built BOTH images — and once
|
||||||
|
# both carried the same friendly name they overwrote each other. The
|
||||||
|
# arch now comes from the CLI: the release workflow passes one per leg,
|
||||||
|
# a local `npm run build:mac` builds the host arch, and
|
||||||
|
# `npm run build:mac -- --arm64 --x64` builds both.
|
||||||
target:
|
target:
|
||||||
- target: dmg
|
- dmg
|
||||||
arch:
|
|
||||||
- arm64
|
|
||||||
- x64
|
|
||||||
category: public.app-category.developer-tools
|
category: public.app-category.developer-tools
|
||||||
linux:
|
linux:
|
||||||
executableName: freecrawl-seo
|
executableName: freecrawl-seo
|
||||||
|
|||||||
Reference in new issue
Block a user