File Exchange is not picking up toolbox file on new releases

4 visualizzazioni (ultimi 30 giorni)
I've connected File Exchange to my github account and am using it to track releases of a toolbox. My toolbox is packaged and added to the release but File Exchange is not picking it up. It had been working for a few releases before but on one release it didn't connect and I ended up deleting the File Exchange post, giving my toolbox a new uuid, and re-publishing it. It collected the toolbox on the initial release, but I just pushed a new release and the mltbx file is not showing up again. Is there anyway to debug this? I don't see an option to manually upload the toolbox either.
  10 Commenti
Randy Souza
Randy Souza il 4 Set 2024
@David Connell - I've updated your File Exchange submission so that the toolbox is now attached.
I believe that I've identified the cause of the problem, though not yet a solution.
As far as I can tell the problem is that GitHub does not provde a way to create a release and attach files to the release (in this case the .mltbx file) at the same time. So, some of the time:
  1. The GitHub Action that you are using to create releases starts.
  2. The Action creates the release.
  3. GitHub sends a "release created" webhook event to File Exchange.
  4. File Exchange updates your submission with the source code for the new release.
  5. The Action attaches the .mltbx file to the release
  6. GitHub does not send webhook events when files are attached to releases, so File Exchange is never notified that the .mltbx file is available.
In most cases, step #5 occurs before step #4, so when File Exchange updates the submission we can "see" the attached .mltbx file. But when it does not happen in that order, it looks like we end up not picking up the toolbox.
I'll continue to investigate and work with GitHub. I'll update this post when I have a more stable solution.
David Connell
David Connell il 4 Set 2024
The file is attached immediately after the release so add a pause in the update function to ensure the release is complete. It should only require ~100ms. Otherwise can add an action to directly submit to FEX rather than going through github releases like pypi does (publishing to pypi). That would require a command line tool for pushing releases, which I don't think exists at the moment, and a way to authenticate it with github's tokens.
Also the reason the toolbox was getting picked up in previous releases is I had been manually creating the releases to get around this. I think it's less often than not that the toolbox is attached before FEX creates the submission in the automated release case.

Accedi per commentare.

Risposte (0)

Categorie

Scopri di più su Historical Contests in Help Center e File Exchange

Prodotti

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by