Skip to main content

Posts

Showing posts with the label CI/CD

Automating macOS App Notarization: Migrating from altool to xcrun notarytool

  If your automated build pipelines recently started failing with an   altool not found   or an unsupported endpoint error, you have encountered Apple's hard deprecation of the legacy notarization service. In Xcode 15 and later, Apple completely removed   altool   from the toolchain. Builds that previously sailed through your pipeline will now crash during the submission phase, effectively halting macOS CI/CD deployment. This failure requires an immediate migration to its modern successor:  xcrun notarytool . This guide provides a comprehensive xcrun notarytool migration path. It covers the architectural differences, the authentication changes, and the exact pipeline code required to restore your macOS app notarization process. The Root Cause: Why Did Apple Deprecate altool? To understand the altool deprecated fix, you must understand the underlying API shift. Historically,  xcrun altool  operated against Apple's legacy XML-based App Store Connect...

How to Programmatically Purge WP Engine Varnish Cache After Deployment

  There is a specific, sinking feeling known only to DevOps engineers and WordPress developers using WP Engine. You’ve just finished a flawless sprint. Your CI/CD pipeline reports a successful build. The files have been rsync’d or git-pulled to production. Yet, when you visit the URL, the old site loads. You hard-refresh. Nothing. You open an Incognito window. Still the old content. To see your changes, you have to log into the WordPress dashboard, hover over the "WP Engine" menu, and manually click "Purge All Caches." This manual step defeats the purpose of Continuous Deployment. If you cannot automate the cache invalidation, you do not have a truly automated pipeline. This guide details exactly how to programmatically purge WP Engine’s proprietary Varnish and Object caching layers using WP-CLI and PHP, allowing you to integrate cache clearing directly into GitHub Actions, Bitbucket Pipelines, or GitLab CI. The Root Cause: Why Varnish Doesn't See Your Deploy To...