From cd824dba154a01f597a6e33a49665776ba5fd1db Mon Sep 17 00:00:00 2001 From: Nic McPhee Date: Sun, 16 Jan 2022 22:26:41 -0600 Subject: [PATCH 1/2] Expand and reorg the faculty instructions This expands the faculty instructions to include the app setup for GitKraken, BetterCodeHub, and LGTM. I also moved basically everything into a new MD file in the `/docs` directory, shortening the header in the README to be mostly a link to that file. --- README.md | 26 ++++++------ docs/FACULTY_REPO_SETUP.md | 84 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 97 insertions(+), 13 deletions(-) create mode 100644 docs/FACULTY_REPO_SETUP.md diff --git a/README.md b/README.md index 278100e..57d924a 100644 --- a/README.md +++ b/README.md @@ -4,21 +4,21 @@ > :bangbang: :mage_woman: **Faculty** > -> Each semester _after creating the instance in GitHub Classroom_, -> we need to (in the GitHub Classroom "fork"): +> Each semester there's fair bit of setup that has to be done +> to initially create and configure that semester's GitHub +> organization, that semester's GitHub Classroom, and the +> specific set up for this first lab. > -> - [ ] Create a team called "Everyone" -> - [ ] Fix the URLs in the badges below so they point to that semester's -> repository instead of the "starter" repo. -> - [ ] Make sure we've added every student in the current semester -> to that semester's organization so they'll have permission to -> push to this repo. -> - [ ] [Turn off branch protection](docs/FACULTY_BRANCH_PROTECTION_SETTINGS.md) -> so that students can `push`. -> - [ ] Remove this note and the broken badge above in the fork. +> The instructions for all this are in [the FACULTY_REPO_SETUP.md](docs/FACULTY_REPO_SETUP.md) document in the `/docs` directory +> of this repo. > -> We should leave these notes in the copy in the "starter" -> repository so it's there each semester when we fork this. +> After you've gone through those instructions, you should +> remove these faculty-oriented instructions and the +> "FIX BADGES" badge above. +> +> Make sure to leave these notes in the copy in the "starter" +> repository so it's there each semester when we make a copy +> of this. [![Continuous integration status](../../actions/workflows/gradle.yaml/badge.svg)](../../actions/workflows/gradle.yaml) [![BCH compliance](https://bettercodehub.com/edge/badge/UMM-CSci-3601/intro-to-git?branch=main)](https://bettercodehub.com/) diff --git a/docs/FACULTY_REPO_SETUP.md b/docs/FACULTY_REPO_SETUP.md new file mode 100644 index 0000000..76566d5 --- /dev/null +++ b/docs/FACULTY_REPO_SETUP.md @@ -0,0 +1,84 @@ +# Faculty instructions for setting up the repository + +- [Overall instructions](#overall-instructions) +- [Set up various apps](#set-up-various-apps) + - [Better Code Hub](#better-code-hub) + - [LGTM (Looks Good To Me)](#lgtm-looks-good-to-me) + - [GitKraken](#gitkraken) + +Each semester we need to do a certain amount of setup for that +semester's copy of this repository. Below are the instructions +for setting that up. + +## Overall instructions + +Before you can really do anything you'll need to + +- [ ] Create a GitHub organization for this semester, e.g., [UMM-CSci-3601-S22](https://github.com/UMM-CSci-3601-S22) + - [ ] You probably want to add your TAs as owners on that org. + - [ ] It's often helpful to create a semester specific logo + for the organization, especially if you're part of + numerous organizations. It's probably also a good example + to set for the students. + - [ ] Make sure we've added every student in the current semester + to that semester's organization so they'll have + permission to push to this repo. +- [ ] Create a GitHub Classroom for this semester +- [ ] Create a new assignment using this repo as the template + - [ ] We usually make students admins on their repos. + - [ ] It's probably useful to include the Feedback branch + - [ ] You probably want to limit the assignment to a single team. + - [ ] We usually use "Everyone" as the name for the set of + teams; GitHub Classroom will then call the shared + repository `intro-to-git-everyone`, which is nice. + +Now it's useful to "force" the creation of the repository in +this semester's organization/classroom. You can just follow +the "student" invite link, and that will create that semester's +copy of the repository. + +Now make a few changes to the _classroom copy_ of the repository: + +- [ ] Fix the URLs in the badges below so they point to that semester's + repository instead of the "starter" repo. +- [ ] [Turn off branch protection](FACULTY_BRANCH_PROTECTION_SETTINGS.md) + so that students can `push`. +- [ ] Remove the note and the broken badge at the top of the + README _in the classroom copy_. + - We don't want to remove those from the starter copy since we + need to be reminded of these rules each semester. + +## Set up various apps + +As well as setting up the classroom and the initial repository, +we need to set up various apps that will need access to this +organization. + +### Better Code Hub + +- [ ] Install [the Better Code Hub app](https://github.com/marketplace/better-code-hub) in the new, semester specific organization. + - Choose the free plan + - Make sure you set the account (right above the green "go" button) to the new, semester specific organization + - Click to install +- [ ] Go to the Better Code Hub interface, load up the new org, and run a check on the `intro-to-git` repo _in that org_ (& using whatever name you used there) +- [ ] Click the button on the bottom left of that card to enable PR checks +- [ ] Update the badge URL to point to the correct org/repo + +### LGTM (Looks Good To Me) + +- [ ] Install the LGTM app in the new, semester specific organization. +- [ ] Go to the LGTM interface and enter the URL for the new `intro-to-git` repo in the "Follow a project" entry at the top +- [ ] Click the "Enable PR code reviews" button +- [ ] Update the badge URL if necessary + +### GitKraken + +We also need to enable GitKraken on the new, semester specific organization. To do this you *have* to be an admin on the +organization for this semester; that will be true "for free" +if you're the person that created the organization above. + +- Go to your _personal_ settings (assuming you're an admin on the org) +- Click "Applications" in the "Account settings" panel on the left +- Click "Authorized OAuth Apps" tab +- Find and click "GitKraken" on that list +- Click "Grant" for the new, semester specific org From b200d00c38876da062f055ff49adbb8a0b6b3fbf Mon Sep 17 00:00:00 2001 From: Nic McPhee Date: Mon, 15 Jan 2024 22:37:22 -0600 Subject: [PATCH 2/2] An empty commit to trigger GitHub Actions