Skip to content

Backend support for project bundles#521

Merged
martastain merged 27 commits intodevelopfrom
513-bundle-per-project-add-server-side-support
Mar 28, 2025
Merged

Backend support for project bundles#521
martastain merged 27 commits intodevelopfrom
513-bundle-per-project-add-server-side-support

Conversation

@martastain
Copy link
Copy Markdown
Member

@martastain martastain commented Feb 21, 2025

This pull request introduces several changes to the api and ayon_server modules to support project-specific addon versions and project bundles. The most important changes include adding new fields to models, updating bundle handling logic, and introducing new endpoints for project bundles.

@martastain martastain linked an issue Feb 21, 2025 that may be closed by this pull request
@martastain martastain self-assigned this Feb 21, 2025
@martastain martastain marked this pull request as ready for review March 11, 2025 11:02
@iLLiCiTiT
Copy link
Copy Markdown
Member

I can create dev project bundle, that probably should not be allowed.

@iLLiCiTiT
Copy link
Copy Markdown
Member

iLLiCiTiT commented Mar 13, 2025

For some reason I cannot create project bundle now because it thinks I don't have core available.
image

EDITED:
Ok, it happens when I duplicate project bundle, UI shows current studio bundle addon versions, but the value in backend is None. If I clone studio bundle with filled version, or create new bundle, or fill the versions and then switch to project, it works.

@martastain
Copy link
Copy Markdown
Member Author

Ok, it happens when I duplicate project bundle, UI shows current studio bundle addon versions, but the value in backend is None. If I clone studio bundle with filled version, or create new bundle, or fill the versions and then switch to project, it works.

The UI is really just a proof-of-work. @Innders will need to look at it and polish it :-I

@martastain martastain requested review from Copilot and iLLiCiTiT March 27, 2025 16:07
@martastain martastain changed the title Bundles per project Backend support for bundles per project Mar 27, 2025
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This pull request introduces project bundle support to allow per‐project customization of addon versions and settings. Key changes include:

  • Adding a new GraphQL type (ProjectBundleType) and updating resolvers and nodes to expose bundle data.
  • Updating API endpoints and models (settings, projects, bundles, addons) to handle project bundle parameters and validations.
  • Introducing stricter validations and error messages for project bundles in bundle creation and update flows.

Reviewed Changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
ayon_server/graphql/resolvers/projects.py Updated resolver to check for "projectBundle" presence.
ayon_server/graphql/nodes/project.py Added ProjectBundleType and made several fields optional.
ayon_server/addons/definition.py Introduced a property for project override capability.
ayon_server/addons/addon.py Added a method to return project override configuration.
api/settings/settings.py Extended query parameters and response model for bundles.
api/projects/bundle.py Added endpoint for setting project bundles.
api/projects/init.py Updated module exports with the new bundle endpoint.
api/bundles/models.py Included a new field to mark bundles as project bundles.
api/bundles/bundles.py Added validations and updated error messages for project bundles.
api/addons/list_addons.py Updated addon list response to include project override info.
Comments suppressed due to low confidence (1)

api/settings/settings.py:347

  • [nitpick] The assert message 'Bundle name is None' includes informal language ('shut up pyright') which should be revised to a more professional error message.
        bundle_name is not None

martastain and others added 3 commits March 27, 2025 17:10
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@martastain martastain added the type: feature Adding something new and exciting to the product label Mar 27, 2025
@martastain martastain changed the title Backend support for bundles per project Backend support for project bundles Mar 27, 2025
Copy link
Copy Markdown
Member

@antirotor antirotor left a comment

Choose a reason for hiding this comment

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

I've tested bundles creation, deletion, usage of specific bundles, listing bundles - all works well.

@kalisp kalisp self-requested a review March 28, 2025 11:26
Copy link
Copy Markdown
Member

@kalisp kalisp left a comment

Choose a reason for hiding this comment

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

Looks good, played with bundles for a while, updated settings, used dev/prod/staging in my launcher, values were picked correctly from Settings.

Copy link
Copy Markdown
Member

@MustafaJafar MustafaJafar left a comment

Choose a reason for hiding this comment

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

I was able to find the new changes in the api. (didn't test them, my main review about backward compitablity)
image

tested launcher in dev and production modes.
testing changing few settings in dev and prod bundles.
everything seems to work as usual.

also, I was able to create bundles and copy settings.

@martastain martastain merged commit 4fe5ed7 into develop Mar 28, 2025
@martastain martastain deleted the 513-bundle-per-project-add-server-side-support branch April 22, 2025 08:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type: feature Adding something new and exciting to the product

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bundle-per-project: Add server-side support

6 participants