MakeCode Arcade on GitHub Organizations

Having the same question as the unanswered one here, but for MakeCode Arcade instead:
https://forum.makecode.com/t/makecode-on-github-organization-github-rate-limit-exceeded-error/14446

My son, @OLegonD, has just started a local computer club, where MakeCode Arcade is one of many activities for the members.

Since many of them also are excited about the new online multiplayer feature with rumours going around that multiplayer might also be part of the theme for the new mini game jam which is expected to be announced on Monday, many of them are thinking about participating in the game jam.

But as a club they would want save collaborate efforts and projects going forward in shared club directories, like the GitHub organization that they have just created:

How could they best go about saving MakeCode Arcade projects, and pushing and committing changes, directly to the organizational GitHub account, like is possible for personal GitHub accounts?

Help before the new mini game jam kicks off on Monday will be greatly appreciated! :wink:

2 Likes

I’ll try to find time tomorrow to check, but if you create an empty repo under the organization, then import it through import
image
then import url
image
then paste in the repourl does it work? I believe it’s set up to properly allow you to push to external repos if you have write access to the repo (for orgs or personal repos that you are invited to), but I haven’t checked in a little while

3 Likes

Thanks for your quick reply with a good explanation!

With 2 scenarios(a blank or an existing MCA project) and 2 GitHub accounts(one personal and one organizational), there seems to be 4 combinations which work directly or with one or more workarounds, according to my tests based on your suggestions and tips mentioned in @mayaes’ question:

1. Personal GitHub account
(while logged into your MCA account that is linked to your personal GitHub account)

  • Blank MCA project
    Create new blank project in MCA, do your stuff and publish to GitHub by pushing the GitHub button in the editor.
    => A new repository is created inside the personal GitHub account.

  • Existing MCA project
    Import any existing MCA project by opening the editor from a share link or using any of the import options except a GitHub URL(which will link this MCA project fixed to that exact GitHub repo and will try to commit and push to it rather than creating a new own in MCA), do your stuff and publish to GitHub by pushing the GitHub button in the editor.
    => A new repository is created inside the personal GitHub account.

2. Organizational GitHub account
(while logged into your MCA account that is linked to your personal GitHub account)

  • Blank MCA project
    Create and empty repository in the organizational GitHub page, import it to MCA via the GitHub URL, like @jwunderl suggests, do your stuff in the editor, hit the GitHub button and commit and push your changes.
    => The existing GitHub repository in your organizational account is updated with your changes.

  • Existing MCA project
    Here there are several options which worked when I tested, even though they did not work for @mayaes:
    Either open or import a regular share link, do your stuff and create a new personal GitHub repo in your MCA editor, as described above, or if the project is already in somebody else’s GitHub repo, do any one the blow actions, except the transfer options, directly:
    –Fork: Fork the new personal repo(or an external GitHub MCA repo) to your organizational account in GitHub, then import this organizational GitHub URL into the MCA editor, do your stuff, push and commit. Delete the personal repo.
    => Your MCA project is linked to and code changes are pushed to the organizational GItHub repo.
    –Import: Import the new personal repo(or an external GitHub MCA repo) when creating a new blank repo in your organizational account on GitHub, then import this organizational GitHub URL into the MCA editor, do your stuff, push and commit. Delete the personal repo.
    => Your MCA project is linked to and code changes are pushed to the organizational GitHub repo.
    –Transfer ownership: In the new personal repo, click settings and transfer this repo to your organizational account on GitHub, then import this organizational GitHub URL into the MCA editor, do your stuff, push and commit.
    => Your MCA project is linked to and code changes are pushed to the organizational GitHub repo.

Great integration in MCA with GitHub, and most scenarios seem possible with some workarounds!

But often the need is to get an already existing MCA projects(your own or others’) into an organizational GitHub repository, or maybe you do not know in advance when starting a MCA project, whether you want it as a personal or organizational GitHub repository.

Is there therefore any way to chose directly in the MCA editor/interface to which of your connected GitHub accounts(your personal or one or more of your organizational) you want to publish your project as a repository?
(Or might this be, a low priority as such, since there are easy enough workarounds available, a feature that you might consider adding?)

Unfortunately I don’t believe there is a way to create an organization owned repo from within MakeCode at this time. If a user has a project they want to promote to an organization owned repo, then publishing on their own and either transferring or forking into the organization will likely be the easiest for now :frowning:

1 Like