decentraland / builder

🍉 Build scenes for Decentraland
https://builder.decentraland.org
Other
151 stars 81 forks source link

Update Smart Items from repo #1828

Open nearnshaw opened 2 years ago

nearnshaw commented 2 years ago

Updating smart items manually doesn't scale. The process involves manually hunting down and deleting old versions of all items (based on just the thumbnail, the name is not visible), and then re-uploading in small batches bc the browser often gets stuck while doing this. There needs to be a way to do it in bulk, because there are currently ~270 smart items.

All the default smart items from the Decentraland asset packs are stored in this repo:

https://github.com/decentraland/smart-items

The repo already has implemented a GitHub workflow that runs for every commit to master, implemented by @menduz. This workflow includes some necessary steps, but not the whole flow. It builds each item and stores it in the repo's artifacts. The step that is missing is to automate the upload of these items into the Builder itself.

Smart items are uploaded in the Builder using the Land Pool account (0xDc13378daFca7Fe2306368A16BCFac38c80BfCAD), so authentication could be an obstacle. If getting around this authentication is too hard, maybe at least there could be a non-automatic way to bulk upload all items, that still requires signing from this account.

Today there are dozens of bugs in smart items that have already been fixed in the repo, but that aren't updated to the Builder. The main problem is that most of the uploaded smart items use an old version of the "decentraland-builder-scripts" library, and this old version brings problems when exporting the scene from the Builder to work on the SDK. This means that almost all items currently need to be updated.

cazala commented 2 years ago

Hi @nearnshaw, this has been a known issue for us as well, I agree that having a script that we could use to upload a repo of assets / smart items into an instance of the builder server would make the management of environments way easier (let alone prod, even setting up a test or local environment is a pita). The thing is this has never been prioritized yet.. and even less since the development of the Builder was halted. But i will bring this to the rest of the team and get back to you.