Skip to main content

Posts

Showing posts with the label CI/CD

Fixing GitHub Actions "Resource not accessible by integration" in Protected Branches

  If you are maintaining a repository with strict security defaults or branch protection rules, you have likely encountered this error log during a release pipeline or a PR automation step: HttpError: Resource not accessible by integration at /home/runner/work/.../index.js:14:10 ... status: 403 This 403 Forbidden error is the standard response when the ephemeral  GITHUB_TOKEN  attempts a write operation (creating a release, tagging a commit, or commenting on a PR) but lacks the specific OAuth scope required to execute it. The Root Cause: Least Privilege Defaults Historically, the auto-generated  GITHUB_TOKEN  provided to workflows had  read  and  write  access to almost all scopes by default. This was convenient but presented a massive surface area for supply chain attacks. If a third-party action was compromised, it could wipe your repository. GitHub updated the default setting for new organizations and repositories to  Rest...

Fixing 'Unidentified Developer': Automating Electron macOS Notarization

  The most frustrating bug report an Electron maintainer can receive isn't a runtime error or a layout gltich—it's the report that the application simply won't open. The dreaded "Unidentified Developer" modal is a hard stop for user acquisition. While code signing proves  who  you are, it no longer proves  what  your code is. Since macOS 10.15 (Catalina), Apple enforces  Notarization  for all software distributed outside the Mac App Store. If you aren't stapling a notarization ticket to your DMG or ZIP, your app is effectively dead on arrival. Automating this in a headless CI/CD environment (GitHub Actions, GitLab CI, CircleCI) is notoriously brittle due to Apple ID 2FA requirements. This guide implements a robust, stateless solution using App Store Connect API Keys and  notarytool , bypassing legacy app-specific passwords entirely. The Root Cause: Gatekeeper & Notarytool Under the hood, macOS Gatekeeper performs a quarantine check on download...