Skip to content

Fix akeneo feedback: PSR18 agnostic#92

Open
flovntp wants to merge 3 commits into
mainfrom
fix-akeneo-feedback
Open

Fix akeneo feedback: PSR18 agnostic#92
flovntp wants to merge 3 commits into
mainfrom
fix-akeneo-feedback

Conversation

@flovntp
Copy link
Copy Markdown
Contributor

@flovntp flovntp commented Jun 1, 2026

  • accept an optional PSR-18 client in UpsunClient
  • use PSR-18 discovery as default fallback
  • remove hard dependency on symfony/http-client from required packages
  • add composer suggest for Symfony HTTP client
  • add test coverage for injected HTTP client behavior

@flovntp flovntp changed the title Fix akeneo feedback Fix akeneo feedback: PSR18 agnostic Jun 1, 2026
@platformsh-devrel
Copy link
Copy Markdown
Collaborator

platformsh-devrel commented Jun 1, 2026

🧾 API Coverage Report

Last updated: 990eee1 • Run #211

Metric Value
Total API methods 266
Called from facades 191
Unmapped API methods 75
Invalid Facade API calls 0
Coverage 71.8%
📋 Full JSON report
{
  "total_api_methods": 266,
  "called_methods": 191,
  "unmapped_methods": [
    "Upsun\\Api\\AutoscalingApi::patchAutoscalerSettings",
    "Upsun\\Api\\OrganizationProjectsApi::createOrgProject",
    "Upsun\\Api\\OrganizationProjectsApi::deleteOrgProject",
    "Upsun\\Api\\OrganizationProjectsApi::getOrgProject",
    "Upsun\\Api\\OrganizationProjectsApi::queryProjectCarbon",
    "Upsun\\Api\\ReferencesApi::listReferencedOrgs",
    "Upsun\\Api\\ReferencesApi::listReferencedProjects",
    "Upsun\\Api\\ReferencesApi::listReferencedRegions",
    "Upsun\\Api\\ReferencesApi::listReferencedTeams",
    "Upsun\\Api\\ReferencesApi::listReferencedUsers",
    "Upsun\\Api\\BlackfireProfilingApi::blackfireProfileGraph",
    "Upsun\\Api\\BlackfireProfilingApi::blackfireProfileProfile",
    "Upsun\\Api\\BlackfireProfilingApi::blackfireProfileSubprofiles",
    "Upsun\\Api\\BlackfireProfilingApi::blackfireProfileTimeline",
    "Upsun\\Api\\BlackfireProfilingApi::blackfireProfilesList",
    "Upsun\\Api\\BlackfireProfilingApi::blackfireProfilesRecommendations",
    "Upsun\\Api\\ResourcesApi::resourcesByService",
    "Upsun\\Api\\ResourcesApi::resourcesOverview",
    "Upsun\\Api\\ResourcesApi::resourcesSummary",
    "Upsun\\Api\\SbomApi::getProjectsEnvironmentsDeploymentsSboms",
    "Upsun\\Api\\SbomApi::listProjectsEnvironmentsDeploymentsSboms",
    "Upsun\\Api\\AlertsApi::getUsageAlerts",
    "Upsun\\Api\\AlertsApi::updateUsageAlerts",
    "Upsun\\Api\\DomainClaimApi::createProjectsDomainClaims",
    "Upsun\\Api\\DomainClaimApi::deleteProjectsDomainClaims",
    "Upsun\\Api\\DomainClaimApi::getProjectsDomainClaims",
    "Upsun\\Api\\DomainClaimApi::listProjectsDomainClaims",
    "Upsun\\Api\\DomainClaimApi::updateProjectsDomainClaims",
    "Upsun\\Api\\GrantsApi::getAccessDocument",
    "Upsun\\Api\\SubscriptionsApi::canAffordSubscription",
    "Upsun\\Api\\SubscriptionsApi::canUpdateSubscription",
    "Upsun\\Api\\SubscriptionsApi::getSubscriptionUsageAlerts",
    "Upsun\\Api\\SubscriptionsApi::listSubscriptionAddons",
    "Upsun\\Api\\SubscriptionsApi::updateOrgSubscription",
    "Upsun\\Api\\SubscriptionsApi::updateSubscriptionUsageAlerts",
    "Upsun\\Api\\DiscountsApi::getDiscount",
    "Upsun\\Api\\DiscountsApi::getTypeAllowance",
    "Upsun\\Api\\DiscountsApi::listOrgDiscounts",
    "Upsun\\Api\\OrganizationManagementApi::estimateOrg",
    "Upsun\\Api\\OrganizationManagementApi::getOrgBillingAlertConfig",
    "Upsun\\Api\\OrganizationManagementApi::getOrgPrepaymentInfo",
    "Upsun\\Api\\OrganizationManagementApi::listOrgPrepaymentTransactions",
    "Upsun\\Api\\OrganizationManagementApi::updateOrgBillingAlertConfig",
    "Upsun\\Api\\ContinuousProfilingApi::getApplicationFilter",
    "Upsun\\Api\\ContinuousProfilingApi::getApplicationMerge",
    "Upsun\\Api\\ContinuousProfilingApi::getApplicationTimeline",
    "Upsun\\Api\\ContinuousProfilingApi::listApplications",
    "Upsun\\Api\\SystemInformationApi::actionProjectsSystemRestart",
    "Upsun\\Api\\EnvironmentApi::deployEnvironment",
    "Upsun\\Api\\EnvironmentApi::maintenanceRedeployEnvironment",
    "Upsun\\Api\\DiffApi::listProjectsGitDiffs",
    "Upsun\\Api\\DeploymentTargetApi::createProjectsDeployments",
    "Upsun\\Api\\DeploymentTargetApi::deleteProjectsDeployments",
    "Upsun\\Api\\DeploymentTargetApi::getProjectsDeployments",
    "Upsun\\Api\\DeploymentTargetApi::listProjectsDeployments",
    "Upsun\\Api\\DeploymentTargetApi::updateProjectsDeployments",
    "Upsun\\Api\\CertManagementApi::getProjectsProvisioners",
    "Upsun\\Api\\CertManagementApi::listProjectsProvisioners",
    "Upsun\\Api\\CertManagementApi::updateProjectsProvisioners",
    "Upsun\\Api\\DefaultApi::queryOrganiationCarbon",
    "Upsun\\Api\\UserProfilesApi::createProfilePicture",
    "Upsun\\Api\\HttpTrafficApi::httpMetricsOverview",
    "Upsun\\Api\\HttpTrafficApi::httpMetricsTimelineIps",
    "Upsun\\Api\\HttpTrafficApi::httpMetricsTimelineUrls",
    "Upsun\\Api\\HttpTrafficApi::httpMetricsTimelineUserAgents",
    "Upsun\\Api\\EntrypointApi::observabilityEntrypoint",
    "Upsun\\Api\\BlackfireMonitoringApi::blackfirePhpServerCaches",
    "Upsun\\Api\\BlackfireMonitoringApi::blackfireServerGlobal",
    "Upsun\\Api\\BlackfireMonitoringApi::blackfireServerTopSpans",
    "Upsun\\Api\\BlackfireMonitoringApi::blackfireServerTransactionsBreakdown",
    "Upsun\\Api\\UsersApi::getCurrentUserDeprecated",
    "Upsun\\Api\\ProjectApi::maintenanceRedeployProject",
    "Upsun\\Api\\TaskApi::getProjectsEnvironmentsTasks",
    "Upsun\\Api\\TaskApi::listProjectsEnvironmentsTasks",
    "Upsun\\Api\\TaskApi::runTask"
  ],
  "invalid_facade_calls": [],
  "coverage_percentage": 71.8
}

@upsun-bot
Copy link
Copy Markdown

Upsun SDK checker report

Display raw output

════════════════════════════════════════════════════════════════════════════════
  SDK Signature Comparison Report
════════════════════════════════════════════════════════════════════════════════


📦 Class: DomainsTask
   Languages: node, php
────────────────────────────────────────────────────────────────────────────────

  ⚠️  Signature Differences:

     Method: add()
       node: (projectId: string, domain: string)
       php: (projectId: string, domainCreateInput: DomainCreateInput)

📦 Class: EnvironmentsTask
   Languages: node, php
────────────────────────────────────────────────────────────────────────────────

  ⚠️  Signature Differences:

     Method: init()
       node: (projectId: string, environmentId: string, profile: string, repository: string, files: FilesInner[])
       php: (projectId: string, environmentId: string, profile: string, repository: string, fileMode: string, filePath: string, fileContents: string)

     Method: addDomain()
       node: (projectId: string, environmentId: string, domainName: string)
       php: (projectId: string, domainCreateInput: DomainCreateInput)

📦 Class: IntegrationsTask
   Languages: node, php
────────────────────────────────────────────────────────────────────────────────

  ⚠️  Signature Differences:

     Method: createIntegration()
       node: (projectId: string, type: string, params: IntegrationCreateData)
       php: (projectId: string, integrationCreateInput: IntegrationCreateInput)

     Method: updateIntegration()
       node: (projectId: string, integrationId: string, type: string, params: IntegrationCreateData)
       php: (projectId: string, integrationId: string, integrationUpdateInput: IntegrationPatch)

📦 Class: MetricsTask
   Languages: node, php
────────────────────────────────────────────────────────────────────────────────

  ⚠️  Missing Methods:
     php:
       - fetchMetrics()

📦 Class: ProjectsTask
   Languages: node, php
────────────────────────────────────────────────────────────────────────────────

  ⚠️  Signature Differences:

     Method: updateSettings()
       node: (projectId: string, settings: ProjectSettings)
       php: (projectId: string)

════════════════════════════════════════════════════════════════════════════════
  Summary
────────────────────────────────────────────────────────────────────────────────
  Total classes analyzed: 26
  ⚠️  Found 7 issue(s)
════════════════════════════════════════════════════════════════════════════════


@codecov
Copy link
Copy Markdown

codecov Bot commented Jun 1, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@upsun-bot
Copy link
Copy Markdown

Upsun SDK checker report

Display raw output

════════════════════════════════════════════════════════════════════════════════
  SDK Signature Comparison Report
════════════════════════════════════════════════════════════════════════════════


📦 Class: DomainsTask
   Languages: node, php
────────────────────────────────────────────────────────────────────────────────

  ⚠️  Signature Differences:

     Method: add()
       node: (projectId: string, domain: string)
       php: (projectId: string, domainCreateInput: DomainCreateInput)

📦 Class: EnvironmentsTask
   Languages: node, php
────────────────────────────────────────────────────────────────────────────────

  ⚠️  Signature Differences:

     Method: init()
       node: (projectId: string, environmentId: string, profile: string, repository: string, files: FilesInner[])
       php: (projectId: string, environmentId: string, profile: string, repository: string, fileMode: string, filePath: string, fileContents: string)

     Method: addDomain()
       node: (projectId: string, environmentId: string, domainName: string)
       php: (projectId: string, domainCreateInput: DomainCreateInput)

📦 Class: IntegrationsTask
   Languages: node, php
────────────────────────────────────────────────────────────────────────────────

  ⚠️  Signature Differences:

     Method: createIntegration()
       node: (projectId: string, type: string, params: IntegrationCreateData)
       php: (projectId: string, integrationCreateInput: IntegrationCreateInput)

     Method: updateIntegration()
       node: (projectId: string, integrationId: string, type: string, params: IntegrationCreateData)
       php: (projectId: string, integrationId: string, integrationUpdateInput: IntegrationPatch)

📦 Class: MetricsTask
   Languages: node, php
────────────────────────────────────────────────────────────────────────────────

  ⚠️  Missing Methods:
     php:
       - fetchMetrics()

📦 Class: ProjectsTask
   Languages: node, php
────────────────────────────────────────────────────────────────────────────────

  ⚠️  Signature Differences:

     Method: updateSettings()
       node: (projectId: string, settings: ProjectSettings)
       php: (projectId: string)

════════════════════════════════════════════════════════════════════════════════
  Summary
────────────────────────────────────────────────────────────────────────────────
  Total classes analyzed: 26
  ⚠️  Found 7 issue(s)
════════════════════════════════════════════════════════════════════════════════


Copy link
Copy Markdown

@Nuscly Nuscly left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks for the reactivity 👏🏻

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.

4 participants