Configuring GitHub
The GitHub settings you need will depend on how you have decided to distribute the editor source code to students: see more about how students get the code.
The default settings do not use Git or GitHub at all — the students download a zip file directly from the race server. But the settings that control this behaviour are all in this “GitHub” group.
To see which settings are required for each distribution method, see the individual descriptions (the settings are listed in the “Set up” section):
- zip: Students download a zipfile from race server (the default)
- page: Students get the source code from a custom page you set up elsewhere
- repo: Students get the source code from your repo
- fork: Students manually fork your repo into their own account
- autofork: Server forks your repo into students' GitHub accounts
- vsremote: Server forks your repo into students' GitHub accounts and then clones via VSCode
Config settings (“GitHub”)
Setting | Description |
---|---|
IS_USING_GITHUB | Are you using GitHub to distribute the source code for the buggy editor to students? If you choose Yes there is still quite a lot of flexibility as to how it’s implemented (from simply downloading from GitHub to automatically forking it into their GitHub account). If you choose No , the students can download a zip file from this server (or you can override this with your own copy). Default value: No |
BUGGY_EDITOR_DOWNLOAD_URL | If you are not using GitHub (IS_USING_GITHUB is No ), your students can download the buggy editor zipfile directly from this server. If you prefer to provide your own copy instead, provide a URL to your own instructions or zipfile instead. This setting is ignored if IS_USING_GITHUB is Yes . Default value: none/empty |
BUGGY_EDITOR_ZIPFILE_NAME | If you are not using GitHub (IS_USING_GITHUB is No ), and want to use the default buggy editor source code served from this server, what is the name of the zip file? Default value: buggy-race-editor.zip |
IS_WRITING_SERVER_URL_IN_EDITOR | If you publish the buggy editor app on this server, should the BUGGY_RACE_SERVER_URL be written into app.py ? This setting won’t be used if you don’t generate the zipfile on this server (for example, if IS_USING_GITHUB is Yes ) but remember you or your students do need to change it inside the buggy editor source code eventually. Default value: Yes |
BUGGY_EDITOR_GITHUB_URL | URL to the ‘buggy editor’ code the students need to start the project. This will usually be the URL to your customised, forked repo. If IS_USING_GITHUB is No , this setting is ignored. Default value: https://github.com/buggyrace/buggy-race-editor |
BUGGY_EDITOR_REPO_NAME | This should match the name in the BUGGY_EDITOR_GITHUB_URL and is used in some of the GitHub API calls: if you’ve forked the repo and not changed its name, you won’t need to change this. If IS_USING_GITHUB is No , this setting is ignored. Default value: buggy-race-editor |
BUGGY_EDITOR_REPO_OWNER | The BUGGY_EDITOR_GITHUB_URL is public and owned by buggyrace . If you’ve forked the repo (and customised it), change this to your GitHub username. It should match the username that appears in BUGGY_EDITOR_GITHUB_URL . If IS_USING_GITHUB is No , this setting is ignored. Default value: buggyrace |
IS_STUDENT_USING_GITHUB_REPO | Should students fork the buggy editor repo into their own GitHub repo? Choose No if your students are not using GitHub. If you choose Yes , make sure you’ve set IS_USING_GITHUB_API_TO_FORK if you want this to be automated via the race server. This setting only affects whether mentions of GitHub should be removed in instructions on the server, and is ignored if IS_USING_GITHUB is No . Default value: No |
IS_USING_GITHUB_API_TO_FORK | If students must work with the buggy editor in their own GitHub repo, the race server can help by automatically forking it for them, using the GitHub API. You must configure the GITHUB_CLIENT_ID and GITHUB_CLIENT_SECRET for this to work (and IS_USING_GITHUB and IS_STUDENT_USING_GITHUB_REPO must both be Yes ). Default value: No |
IS_USING_GITHUB_API_TO_INJECT_ISSUES | If you have set the race server to use GitHub’s API to fork the buggy editor repo into each student’s account, it will also inject the tasks as GitHub issues into their repo unless you prevent it here. This setting is ignored unless both IS_USING_GITHUB and IS_USING_GITHUB_API_TO_FORK are both set to Yes . Default value: Yes |
GITHUB_CLIENT_ID | The GitHub client ID for the GitHub app that the server uses to fork the buggy editor repo into a student’s own GitHub account. Default value: none/empty |
GITHUB_CLIENT_SECRET | A string that exactly matches the client secret stored on the GitHub app that the server uses to fork the buggy editor repo into a student’s own GitHub account. You only need this if IS_USING_GITHUB_API_TO_FORK is Yes . Default value: none/empty |