Create a new issue on GitHub with this checklist after the finals every semester.
- Prepare "PR1"
- Update with next year's holiday data from academic calendar to
website/src/data/holidays.json- Singapore & NUS Holidays (e.g. Well-Being day): https://www.nus.edu.sg/registrar/calendar - Update academic year in
scrapers/nus-v2/src/config.ts
- Update with next year's holiday data from academic calendar to
- Prepare "PR2"
- In
app-config.json, updateexamAvailabilityto include only the semesters where exam information is available - Update
website/src/data/academic-calendar.jsonwith data for the new academic year - Add announcement to website by updating
website/src/data/holidays.json
- In
- Merge "PR1"
- Push PR1 to production
- Ensure that scraper is scraping next AY's data. You can do so by checking the locally published JSON files, or visiting
https://api.nusmods.com/v2/20XX-20XX/(e.g. https://api.nusmods.com/v2/2022-2023/) - On Vercel or
.env: Update academic year in export service's environment variables - Merge "PR2" to Master > Production
- Deploy! 🎉 🎉
- Monitor Sentry and Telegram for issues
Reference PRs: PR #3286 and PR #3287
- Update semester in
website/src/config/app-config.json - In
app-config.json, add semester toexamAvailabilityto indicate exam information is available for the semester - Update the ModReg schedule in
website/src/data/modreg-schedule.json, and make sure the correct version is pointed to inwebsite/src/config/index.ts- Reference PR: PR #2764
- Update
ACADEMIC_YEARinscrapers/cpex-scraper/src/index.ts. It should be for the next semester - Create PR and merge to production
- Run scraper
For cpex-staging deployment
- Update
MPE_SEMESTERinwebsite/src/views/mpe/constants.tsto be the semester you're configuring CPEx for (usually the next semester) - Update dates in the ModReg schedule in
website/src/data/modreg-schedule.json - Enable the
enableCPExforProdandshowCPExTabflags inwebsite/src/featureFlags.ts - Push onto
cpex-stagingbranch (Ensure synced withmasterbranch first), then visit https://cpex-staging.nusmods.com/cpex and verify that NUS authentication is working
git checkout master
git pull
git switch cpex-staging
git reset --hard master
git push- Merge
cpex-stagingintomastervia PR - Deploy latest
mastertoproduction
- Disable the
enableCPExforProdandshowCPExTabflags inwebsite/src/featureFlags.ts - Merge into
master - Deploy latest
mastertoproduction