Cal-CS-61A-Staff / cs61a-apps

All CS 61A apps go here!
MIT License
15 stars 9 forks source link

Folder names should use underscores instead of hyphens #361

Open itsvs opened 3 years ago

itsvs commented 3 years ago

(I will resolve this after Spring 2021, opening an issue to keep track of the TODOs)

Currently, various app names use hyphens instead of underscores, which makes them harder to document and also violates Python guides. Since these hyphens are replaced for database and RPC purposes anyway (and symlinks need to be created to special-case them for documentation), they should be replaced globally (and domains should be updated for the 4/12 apps that use hyphens in their domain).

This is not an atomic change, and the following needs to happen (in this order):

  1. Update buildserver to replace underscores with hyphens for default domains
  2. Update the domains tool to handle the above
  3. Update existing links (likely need to redeploy the affected apps)
  4. Update the PR proxy in hosted to handle the domains
  5. Verify that Cloud Storage buckets are unaffected
  6. Verify that database users are unaffected
  7. Rename apps
  8. Remove old Cloud Run deploys once affected apps are redeployed
  9. Redeploy statically served apps, since static-server is among the affected apps
  10. Make sure the CS 61A, CS 162, and CS 170 websites stay live

Affected apps: ag-master, ag-worker (domain update needed), cs162-website, cs170-website, exam-admin, exam-server, exam-write, hog-calc, hog-contest (domain update needed), ok-help (domain update needed), static-server (domain update needed), website-base. grade-display is also affected, but will be deleted before this happens anyway.

Since this affects course websites and examtool, I will start this after grades are due for SP21, and finish it before any courses need to use examtool for SU21 (or before 61A starts for SU21, whichever comes first). Shouldn't take that long, though.

rahularya50 commented 3 years ago

Oh I think cloud storage buckets might actually be affected because they have to be valid domains to avoid conflicts. So you need to rename them too, which will also require updating any static_consumers (website, solutions, incl. PR builds, cs170 website, etc)