Skip to content

Conversation

@4gray
Copy link
Owner

@4gray 4gray commented Dec 12, 2025

Summary

  • Use architecture-aware macOS runners and explicit runner matrix entries
  • Normalize OS checks and adjust platform-specific steps
  • Add macOS-specific make step passing arch to electron make
  • Upload and name macOS artifacts per architecture
  • Limit Linux system dependency installation to linux only

Related issues / PRs

  • N/A

What changed

  • Replaced simple os matrix with include entries (os, runner, arch)
  • Use matrix.runner for runs-on and updated timeout/strategy
  • Normalized conditional checks to linux/macos/windows
  • Linux deps install only when os == 'linux'; keep Flatpak setup for electron-builder
  • Added macOS-specific build step that uses arch; combined step for non-macOS
  • Renamed artifact paths to include arch and upload macOS artifacts per architecture

Notes for reviewers

  • Ensures macOS x64 and arm64 builds are separate and correctly labeled
  • Prevents native module conflicts across runners

@vercel
Copy link

vercel bot commented Dec 12, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
iptvnator Error Error Dec 14, 2025 1:15pm

@coderabbitai
Copy link

coderabbitai bot commented Dec 12, 2025

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Note

.coderabbit.yaml has unrecognized properties

CodeRabbit is using all valid settings from your configuration. Unrecognized properties (listed below) have been ignored and may indicate typos or deprecated fields that can be removed.

⚠️ Parsing warnings (1)
Validation error: Unrecognized key(s) in object: 'auto_review'
⚙️ Configuration instructions
  • Please see the configuration documentation for more information.
  • You can also validate your configuration using the online YAML validator.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch ci/macos-arch-runners-update

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@nx-cloud
Copy link

nx-cloud bot commented Dec 12, 2025

View your CI Pipeline Execution ↗ for commit 7fa7143

Command Status Duration Result
nx run electron-backend:make ✅ Succeeded 10m 32s View ↗
nx build electron-backend ✅ Succeeded 7s View ↗

☁️ Nx Cloud last updated this comment at 2025-12-14 13:28:05 UTC

Update GitHub Actions workflow to support multiple OS runners and CPU
architectures, standardize matrix keys, and adjust platform-specific
steps and artifact names.

- Replace simple os matrix with include entries specifying os, runner,
  and arch to allow macOS x64/arm64 separation and explicit runners for
  linux/windows.
- Use runner matrix value for runs-on and change timeout/strategy
  accordingly.
- Adjust conditional checks to use normalized os values (linux, macos,
  windows) rather than platform-specific runner labels.
- Install Linux system deps only when os == 'linux' and keep Flatpak
  setup for electron-builder.
- Add a macOS-specific make step that passes the architecture to the
  electron make command, while keeping a combined make step for
  non-macOS builds.
- Upload macOS artifacts per architecture and rename artifact paths to
  include arch; update release files list to include both macOS x64 and
  arm64 artifact patterns.

These changes enable reliable, architecture-aware macOS builds,
prevent native module conflicts across runners, and ensure artifacts
are labeled and uploaded correctly.
@4gray 4gray force-pushed the ci/macos-arch-runners-update branch from 45e7aad to 1793be4 Compare December 12, 2025 21:22
@4gray 4gray force-pushed the ci/macos-arch-runners-update branch from 1793be4 to 35f2a2e Compare December 13, 2025 13:02
@4gray 4gray force-pushed the ci/macos-arch-runners-update branch from 2824d93 to 57db764 Compare December 13, 2025 17:20
@4gray 4gray force-pushed the ci/macos-arch-runners-update branch from 57db764 to 4d9ef79 Compare December 13, 2025 17:31
@4gray 4gray force-pushed the ci/macos-arch-runners-update branch from 4d9ef79 to ab26b6f Compare December 13, 2025 17:36
@4gray 4gray force-pushed the ci/macos-arch-runners-update branch from ab26b6f to c902d23 Compare December 13, 2025 18:01
@4gray 4gray force-pushed the ci/macos-arch-runners-update branch from c902d23 to e440210 Compare December 13, 2025 20:03
@4gray 4gray force-pushed the ci/macos-arch-runners-update branch from e440210 to 743f42a Compare December 14, 2025 07:14
@4gray 4gray force-pushed the ci/macos-arch-runners-update branch 2 times, most recently from 8d21ad0 to f615251 Compare December 14, 2025 11:00
@4gray 4gray force-pushed the ci/macos-arch-runners-update branch from f615251 to 09d8ff7 Compare December 14, 2025 11:06
Add a publish-snap job to the CI workflow that runs after build and
only triggers for version tags (refs/tags/v*). The job downloads the
linux build artifacts, installs snapcraft, locates the generated .snap
file and uploads it to the Snapcraft Store releasing to the stable
channel. It validates the presence of a snap file and fails if none is
found.

This enables automated Snap distribution for tagged releases using the
SNAPCRAFT_STORE_CREDENTIALS secret.
Improve sandbox handling on Linux by detecting Snap, Flatpak,
and AppImage environments and applying appropriate Chromium
command-line switches:

- If running in Snap or Flatpak, disable Chromium's sandbox
  (--no-sandbox) to avoid conflicts with the distribution's
  own sandboxing.
- Otherwise (traditional packages and AppImage), disable the
  SUID sandbox and prefer the user namespace sandbox
  (--disable-setuid-sandbox). This avoids requiring a SUID
  chrome-sandbox binary and aligns with modern Linux best
  practices.

Also adjust apps/electron-backend/src/main.ts to only apply
these changes on Linux (process.platform === 'linux').

Minor formatting: expand the package.json copy "filter" array
to a multiline style for readability.
Add a Troubleshooting section to the README covering two common
platform-specific launch issues and how to resolve them.

- macOS: document Gatekeeper "App is damaged and can't be opened"
  and show how to clear the quarantine flag with xattr.
- Linux: document chrome-sandbox SUID permission error and provide
  two solutions — fix permissions (chown/chmod) for packaged installs,
  or run with --no-sandbox by editing the desktop launcher or using the
  command line.

These instructions reduce user confusion and support requests by
providing clear, actionable steps to get IPTVnator running on affected
systems.
@4gray 4gray force-pushed the ci/macos-arch-runners-update branch from a064444 to 7fa7143 Compare December 14, 2025 13:14
@4gray 4gray merged commit ba9932a into nx Dec 14, 2025
8 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants