Skip to content

Commit 842c92a

Browse files
committed
ci: remove macos x86_64 and universal jobs, fix windows zip
Drop build-macos-x86_64 and build-macos-universal — macos-13 runner never picked up and universal .dmg adds complexity. macOS ships only aarch64 tar.gz + .dmg now. Fix Windows zip packaging: switch from bash zip to powershell Compress-Archive (zip not available on windows-latest runners).
1 parent b9e7d07 commit 842c92a

1 file changed

Lines changed: 11 additions & 156 deletions

File tree

.github/workflows/release.yml

Lines changed: 11 additions & 156 deletions
Original file line numberDiff line numberDiff line change
@@ -249,149 +249,6 @@ jobs:
249249
dist/*.dmg
250250
if-no-files-found: error
251251

252-
# ── macOS x86_64 (Intel) ──────────────────────────────────────────────
253-
build-macos-x86_64:
254-
name: build macOS x86_64
255-
runs-on: macos-13
256-
timeout-minutes: 120
257-
env:
258-
CARGO_TERM_COLOR: always
259-
RUST_BACKTRACE: 1
260-
GSTREAMER_VERSION: 1.26.9
261-
steps:
262-
- name: Checkout
263-
uses: actions/checkout@v6
264-
with:
265-
fetch-depth: 0
266-
267-
- name: Install system dependencies (brew)
268-
run: brew install pkg-config gstreamer
269-
270-
- name: Install Rust toolchain (from rust-toolchain.toml)
271-
uses: dtolnay/rust-toolchain@stable
272-
with:
273-
toolchain: 1.95.0
274-
targets: x86_64-apple-darwin
275-
276-
- name: Cache cargo registry & target
277-
uses: Swatinem/rust-cache@v2
278-
with:
279-
shared-key: macos-x86_64
280-
cache-bin: false
281-
save-if: true
282-
cache-on-failure: true
283-
284-
- name: Set version env
285-
run: echo "VERSION=${GITHUB_REF_NAME#v}" >> "$GITHUB_ENV"
286-
287-
- name: Build release binaries
288-
run: cargo xtask fresh-build --release
289-
290-
- name: Package tarball (x86_64-apple-darwin)
291-
run: |
292-
TARGET=x86_64-apple-darwin
293-
STAGING="neomacs-${VERSION}-${TARGET}"
294-
mkdir -p "$STAGING"
295-
cp target/release/neomacs "$STAGING/"
296-
cp target/release/neomacs.pdump "$STAGING/"
297-
cp -r lisp "$STAGING/"
298-
cp -r etc "$STAGING/"
299-
cp COPYING "$STAGING/"
300-
mkdir -p dist
301-
tar czf "dist/${STAGING}.tar.gz" "$STAGING"
302-
303-
- name: Build and package .app + .dmg
304-
run: ./scripts/package-macos-app.sh --no-smoke
305-
306-
- name: Upload macOS x86_64 artifacts
307-
uses: actions/upload-artifact@v4
308-
with:
309-
name: macos-x86_64
310-
path: |
311-
dist/*.tar.gz
312-
dist/*.dmg
313-
if-no-files-found: error
314-
315-
# ── macOS universal .dmg (aarch64 + x86_64 via lipo) ──────────────────
316-
build-macos-universal:
317-
name: build macOS universal .dmg
318-
runs-on: macos-latest
319-
timeout-minutes: 30
320-
needs: [build-macos-aarch64, build-macos-x86_64]
321-
steps:
322-
- name: Checkout
323-
uses: actions/checkout@v6
324-
325-
- name: Download aarch64 artifacts
326-
uses: actions/download-artifact@v5
327-
with:
328-
name: macos-aarch64
329-
path: artifacts-aarch64
330-
331-
- name: Download x86_64 artifacts
332-
uses: actions/download-artifact@v5
333-
with:
334-
name: macos-x86_64
335-
path: artifacts-x86_64
336-
337-
- name: Set version env
338-
run: echo "VERSION=${GITHUB_REF_NAME#v}" >> "$GITHUB_ENV"
339-
340-
- name: Extract tarballs
341-
run: |
342-
mkdir -p staging-aarch64 staging-x86_64
343-
tar xzf artifacts-aarch64/neomacs-*-aarch64-apple-darwin.tar.gz -C staging-aarch64
344-
tar xzf artifacts-x86_64/neomacs-*-x86_64-apple-darwin.tar.gz -C staging-x86_64
345-
STAGING_AARCH64=$(ls -d staging-aarch64/neomacs-*-aarch64-apple-darwin)
346-
STAGING_X8664=$(ls -d staging-x86_64/neomacs-*-x86_64-apple-darwin)
347-
echo "STAGING_AARCH64=$STAGING_AARCH64" >> "$GITHUB_ENV"
348-
echo "STAGING_X8664=$STAGING_X8664" >> "$GITHUB_ENV"
349-
350-
- name: Create universal .app bundle and .dmg
351-
run: |
352-
set -euo pipefail
353-
VERSION="${{ env.VERSION }}"
354-
APP="$PWD/dist/neomacs.app"
355-
356-
rm -rf "$APP"
357-
mkdir -p "$APP/Contents/MacOS"
358-
mkdir -p "$APP/Contents/Resources/neomacs"
359-
mkdir -p "$APP/Contents/Frameworks"
360-
361-
# Merge binaries with lipo
362-
lipo -create \
363-
"$STAGING_AARCH64/neomacs" \
364-
"$STAGING_X8664/neomacs" \
365-
-output "$APP/Contents/MacOS/neomacs"
366-
chmod 0755 "$APP/Contents/MacOS/neomacs"
367-
368-
# Ship aarch64 pdump; x86_64 binary falls back to .elc bootstrap
369-
# if fingerprint mismatches.
370-
cp "$STAGING_AARCH64/neomacs.pdump" "$APP/Contents/MacOS/"
371-
372-
# Runtime files (identical across archs, just copy from aarch64)
373-
cp -r "$STAGING_AARCH64/lisp" "$APP/Contents/Resources/neomacs/"
374-
cp -r "$STAGING_AARCH64/etc" "$APP/Contents/Resources/neomacs/"
375-
cp -r "$STAGING_AARCH64/LICENSE" "$APP/Contents/Resources/neomacs/"
376-
377-
# Create .dmg
378-
DMG_NAME="neomacs-${VERSION}-universal"
379-
DMG="$PWD/dist/${DMG_NAME}.dmg"
380-
mkdir -p dist
381-
hdiutil create -volname "NEO Emacs" \
382-
-srcfolder "$APP" \
383-
-ov -format UDZO \
384-
"$DMG"
385-
386-
echo "Created $DMG"
387-
388-
- name: Upload macOS universal .dmg
389-
uses: actions/upload-artifact@v4
390-
with:
391-
name: macos-universal
392-
path: dist/neomacs-*-universal.dmg
393-
if-no-files-found: error
394-
395252
# ── Windows x86_64 ────────────────────────────────────────────────────
396253
build-windows-x86_64:
397254
name: build Windows x86_64
@@ -471,18 +328,18 @@ jobs:
471328
run: echo "VERSION=${GITHUB_REF_NAME#v}" >> "$GITHUB_ENV"
472329

473330
- name: Package zip (x86_64-pc-windows-msvc)
474-
shell: bash
331+
shell: powershell
475332
run: |
476-
TARGET=x86_64-pc-windows-msvc
477-
STAGING="neomacs-${VERSION}-${TARGET}"
478-
mkdir -p "$STAGING"
479-
cp target/release/neomacs.exe "$STAGING/"
480-
cp target/release/neomacs.pdump "$STAGING/"
481-
cp -r lisp "$STAGING/"
482-
cp -r etc "$STAGING/"
483-
cp COPYING "$STAGING/"
484-
mkdir -p dist
485-
zip -r "dist/${STAGING}.zip" "$STAGING"
333+
$TARGET="x86_64-pc-windows-msvc"
334+
$STAGING="neomacs-${env:VERSION}-${TARGET}"
335+
New-Item -ItemType Directory -Force -Path "$STAGING"
336+
Copy-Item target/release/neomacs.exe "$STAGING/"
337+
Copy-Item target/release/neomacs.pdump "$STAGING/"
338+
Copy-Item -Recurse lisp "$STAGING/"
339+
Copy-Item -Recurse etc "$STAGING/"
340+
Copy-Item COPYING "$STAGING/"
341+
New-Item -ItemType Directory -Force -Path dist
342+
Compress-Archive -Path "$STAGING" -DestinationPath "dist/${STAGING}.zip"
486343
487344
- name: Package .exe installer
488345
shell: bash
@@ -507,8 +364,6 @@ jobs:
507364
- build-linux-x86_64
508365
- build-linux-aarch64
509366
- build-macos-aarch64
510-
- build-macos-x86_64
511-
- build-macos-universal
512367
- build-windows-x86_64
513368
runs-on: ubuntu-latest
514369
steps:

0 commit comments

Comments
 (0)