Skip to content

Conversation

@Polo2
Copy link
Member

@Polo2 Polo2 commented Jan 29, 2026

Currently, send request to the Bump API,
to endpoint
POST /api/v1/workflow/version

API design in discussion, cf https://github.com/bump-sh/bump/pull/8134

TODO:

  • adapt with API endpoint changes (cf https://github.com/bump-sh/bump/pull/8134)
  • add tests for this new command bump deploy --mcp-server
  • fix the existing failing tests (last commit but not sure, can we discuss?)
  • favor authenticate via Token, not Basic (dedicated PR -> api: use token based authorization method #786 )
  • refacto: remove methods about workflow from core/deploy.ts,
    favor a dedicated file ?
  • refacto: rename Api to Definition (dedicated PR)

@Polo2 Polo2 self-assigned this Jan 29, 2026
- valid example with parking.yaml
- JSON Schema to validate format
@Polo2 Polo2 force-pushed the bump-deploy--workflow branch 2 times, most recently from 15f27eb to 4e09438 Compare February 3, 2026 11:46
@Polo2 Polo2 changed the title bump deploy --workflow bump deploy --mcp-server Feb 3, 2026
@Polo2
Copy link
Member Author

Polo2 commented Feb 3, 2026

The test expect((api.overlayedDefinition as APIDefinition).info.description).to.match(/Protect Earth's Tree Tracker API/)
is failing, because APIDefinition may be a Flower, where info is missing.

Naïve solution would be to force object info in Flower specification, or we need to clean a bit more how ApiDefinition type is used, exported, imported.

@Polo2 Polo2 force-pushed the bump-deploy--workflow branch 4 times, most recently from 3287ddb to 0716065 Compare February 3, 2026 14:07
@Polo2 Polo2 marked this pull request as ready for review February 3, 2026 14:21
Polo2 added 4 commits February 3, 2026 17:21
Send request to the Bump API,
to endpoint POST /api/v1/mcp_servers/:mcp_server_id_or_slug/deploy

CLI commande should be:
bump deploy --mcp-server "meilleur-choix-possible" ./flower.yml
since type APIDefinition = AsyncAPI | Flower | OpenAPI | OpenAPIOverlay,
we can not assure in tests that APIDefinition.info exists

temporarly fixed by exporting OpenAPI instead of APIDefinition,
but is it correct?
@Polo2
Copy link
Member Author

Polo2 commented Feb 3, 2026

cc @paulRbr , les points en discussion sont dans les 3 derniers commits dédiés:

  • est-ce pertinent de scinder un CoreDeploy et un WorkflowCoreDeploy? Je ne vois finalement quasiment aucun code partagé entre ces deux fichiers (à part la fonction d, réponse D?)
  • est-ce pertinent de traiter en fonction du status de la réponse (201 ou 204) plutôt que sur la présence d'une réponse (guesswork) dans deploySingleWorkflowFile ?

@Polo2 Polo2 force-pushed the bump-deploy--workflow branch from 0716065 to 0232519 Compare February 3, 2026 16:29
@paulRbr
Copy link
Member

paulRbr commented Feb 4, 2026

  • est-ce pertinent de scinder un CoreDeploy et un WorkflowCoreDeploy?

Je crois que c'est plus simple de garder une seul lib CoreDeploy (c'est celle là qu'on réutilise dans la GH action pour info), c'est elle qui tient le client d'API, et la responsabilité de « run » le deploy en fonction de la definition d'API. Mais je comprends que tous les paramètrs de la méthode run actuelle soit un peu déroutant. J'aime bien la version avec runWorkflow dans CoreDeploy je crois.

Mais en réalité j'ai pas d'avis fort. Comme tu veux! (Il faudra juste bien penser à exporter la nouvelle lib WorkflowCoreDeploy si tu vas dans cette direction pour que la github action puisse l'utiliser.

  • est-ce pertinent de traiter en fonction du status de la réponse (201 ou 204) plutôt que sur la présence d'une réponse (guesswork) dans deploySingleWorkflowFile ?

Je trouve ça contre-intuitif de passer le code de status HTTP dans l'objet WorkflowVersionResponse. Pour moi il faut traiter le code HTTP (201 ou 204) juste après l'appel d'API, puis si on a besoin de faire quelque chose plus tard en fonction du résultat, il faut l'encoder dans l'objet de réponse que l'on a construit à partir du response body de l'API. Je suis pas sûr de comprendre ce que cela apporte d'avoir le status de la requête HTTP dans l'objet que l'on traite après?

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