From c18bd60a77e585b6e079e3bc23e5e2b8a4dd2ea2 Mon Sep 17 00:00:00 2001 From: arunshenoy99 Date: Mon, 29 Jun 2026 18:50:58 +0530 Subject: [PATCH 1/2] Force git clone over HTTPS for all repos to bypass GitHub API 429s The top-level use-github-api config was not honored: satis 2.x does not propagate satis.json's config block to the VCS drivers, so Composer kept hitting the throttled REST commits endpoint. Set no-api per repository instead (read directly from each repo definition by GitHubDriver, see GitHubDriver.php:82) and switch every URL from SSH to HTTPS so the git clone authenticates with the existing COMPOSER_AUTH oauth token rather than requiring an SSH key. Git transport is not subject to the REST secondary rate limit. --- satis.json | 163 ++++++++++++++++++++++++++++++++++------------------- 1 file changed, 106 insertions(+), 57 deletions(-) diff --git a/satis.json b/satis.json index a8369a8e..582596c0 100644 --- a/satis.json +++ b/satis.json @@ -2,222 +2,271 @@ "name": "newfold-labs/satis", "homepage": "https://newfold-labs.github.io/satis/", "include-filename": "all.json", - "config": { - "use-github-api": false, - "github-protocols": ["https"] - }, "repositories": [ { "type": "vcs", - "url": "git@github.com:newfold-labs/container.git" + "url": "https://github.com/newfold-labs/container.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-activation.git" + "url": "https://github.com/newfold-labs/wp-module-activation.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-adam.git" + "url": "https://github.com/newfold-labs/wp-module-adam.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-ai.git" + "url": "https://github.com/newfold-labs/wp-module-ai.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-ai-chat.git" + "url": "https://github.com/newfold-labs/wp-module-ai-chat.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-atomic.git" + "url": "https://github.com/newfold-labs/wp-module-atomic.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-coming-soon.git" + "url": "https://github.com/newfold-labs/wp-module-coming-soon.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-context.git" + "url": "https://github.com/newfold-labs/wp-module-context.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-data.git" + "url": "https://github.com/newfold-labs/wp-module-data.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-deactivation.git" + "url": "https://github.com/newfold-labs/wp-module-deactivation.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-ecommerce.git" + "url": "https://github.com/newfold-labs/wp-module-ecommerce.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-editor-chat.git" + "url": "https://github.com/newfold-labs/wp-module-editor-chat.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-features.git" + "url": "https://github.com/newfold-labs/wp-module-features.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-framework.git" + "url": "https://github.com/newfold-labs/wp-module-framework.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-global-ctb.git" + "url": "https://github.com/newfold-labs/wp-module-global-ctb.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-help-center.git" + "url": "https://github.com/newfold-labs/wp-module-help-center.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-hosting.git" + "url": "https://github.com/newfold-labs/wp-module-hosting.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-htaccess.git" + "url": "https://github.com/newfold-labs/wp-module-htaccess.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-insights.git" + "url": "https://github.com/newfold-labs/wp-module-insights.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-installer.git" + "url": "https://github.com/newfold-labs/wp-module-installer.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-install-checker.git" + "url": "https://github.com/newfold-labs/wp-module-install-checker.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-link-tracker.git" + "url": "https://github.com/newfold-labs/wp-module-link-tracker.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-loader.git" + "url": "https://github.com/newfold-labs/wp-module-loader.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-maestro.git" + "url": "https://github.com/newfold-labs/wp-module-maestro.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-marketplace.git" + "url": "https://github.com/newfold-labs/wp-module-marketplace.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-mcp.git" + "url": "https://github.com/newfold-labs/wp-module-mcp.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-migration.git" + "url": "https://github.com/newfold-labs/wp-module-migration.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-notifications.git" + "url": "https://github.com/newfold-labs/wp-module-notifications.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-next-steps.git" + "url": "https://github.com/newfold-labs/wp-module-next-steps.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-onboarding.git" + "url": "https://github.com/newfold-labs/wp-module-onboarding.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-onboarding-data.git" + "url": "https://github.com/newfold-labs/wp-module-onboarding-data.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-patterns.git" + "url": "https://github.com/newfold-labs/wp-module-patterns.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-performance.git" + "url": "https://github.com/newfold-labs/wp-module-performance.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-pls.git" + "url": "https://github.com/newfold-labs/wp-module-pls.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-reset.git" + "url": "https://github.com/newfold-labs/wp-module-reset.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-runtime.git" + "url": "https://github.com/newfold-labs/wp-module-runtime.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-secure-passwords.git" + "url": "https://github.com/newfold-labs/wp-module-secure-passwords.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-solutions.git" + "url": "https://github.com/newfold-labs/wp-module-solutions.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-sso.git" + "url": "https://github.com/newfold-labs/wp-module-sso.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-staging.git" + "url": "https://github.com/newfold-labs/wp-module-staging.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-survey.git" + "url": "https://github.com/newfold-labs/wp-module-survey.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-module-tasks.git" + "url": "https://github.com/newfold-labs/wp-module-tasks.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-php-standards.git" + "url": "https://github.com/newfold-labs/wp-php-standards.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-plugin-bigrock.git" + "url": "https://github.com/newfold-labs/wp-plugin-bigrock.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-plugin-bluehost.git" + "url": "https://github.com/newfold-labs/wp-plugin-bluehost.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-plugin-crazy-domains.git" + "url": "https://github.com/newfold-labs/wp-plugin-crazy-domains.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-plugin-hostgator.git" + "url": "https://github.com/newfold-labs/wp-plugin-hostgator.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-plugin-mojo.git" + "url": "https://github.com/newfold-labs/wp-plugin-mojo.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-plugin-vodien.git" + "url": "https://github.com/newfold-labs/wp-plugin-vodien.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-plugin-web.git" + "url": "https://github.com/newfold-labs/wp-plugin-web.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-pls-utility.git" + "url": "https://github.com/newfold-labs/wp-pls-utility.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/verifacti-api.git" + "url": "https://github.com/newfold-labs/verifacti-api.git", + "no-api": true }, { "type": "vcs", - "url": "git@github.com:newfold-labs/wp-plugin-webhostbox.git" + "url": "https://github.com/newfold-labs/wp-plugin-webhostbox.git", + "no-api": true } ], "require-all": true From 2836c24e4f2ca1ef6b41492c40f18d9caf03c84a Mon Sep 17 00:00:00 2001 From: arunshenoy99 Date: Mon, 29 Jun 2026 18:57:51 +0530 Subject: [PATCH 2/2] Match webhook --repository-url to HTTPS repo URLs in satis.json satis filters repositories by exact URL string match (PackageSelection.php:925); now that satis.json lists HTTPS URLs, the release-triggered webhook build must pass the same HTTPS form or satis throws "Specified repository URL(s) do not exist" and the build fails. --- .github/workflows/satis-build-on-webhook.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/satis-build-on-webhook.yml b/.github/workflows/satis-build-on-webhook.yml index 09c785ce..f9cbd62a 100644 --- a/.github/workflows/satis-build-on-webhook.yml +++ b/.github/workflows/satis-build-on-webhook.yml @@ -74,7 +74,7 @@ jobs: path: ./dist - name: Run Build - run: php -dmemory_limit=-1 vendor/bin/satis build --repository-url ${{ format('git@github.com:{0}/{1}.git', github.event.client_payload.vendor, github.event.client_payload.package) }} ./satis.json ./dist + run: php -dmemory_limit=-1 vendor/bin/satis build --repository-url ${{ format('https://github.com/{0}/{1}.git', github.event.client_payload.vendor, github.event.client_payload.package) }} ./satis.json ./dist - name: List files run: ls -lah ./dist