File Exchange is not picking up toolbox file on new releases

조회 수: 4 (최근 30일)
David Connell
David Connell 2024년 2월 7일
댓글: David Connell 2024년 9월 4일
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
Randy Souza
Randy Souza 2024년 9월 4일
@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 2024년 9월 4일
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.

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

Help CenterFile Exchange에서 Historical Contests에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by