Skip to content

APPHY 275 (Fall 2026) — Code Server sub-app - #17

Merged
kgray-hu merged 1 commit into
mainfrom
course/apphy275-fall2026
Sep 30, 2026
Merged

kgray-hu merged 1 commit into
mainfrom
course/apphy275-fall2026

Conversation

@kgray-hu

@kgray-hu kgray-hu commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

Overview

Re-adds the generic Code Server course entry for APPHY 275, which was removed during the Spring
2026 cleanup. It has no course-specific software customization; the entry records use by this
course and gives students a convenient terminal on a general node for submitting batch work.

Changes

  • Added local/apphy275.yml.erb, recovered from the Spring 2026 release tag and repointed from
    Canvas 165547 to 170782.
  • The app is visible only to course members, uses general, permits 1–4 CPUs, defaults to two
    hours (six maximum), and starts a fresh session each time.
diff -u local/generic.yml.erb local/apphy275.yml.erb
--- local/generic.yml.erb
+++ local/apphy275.yml.erb
 enabledGroups = [
-  "135510"
+  "170782"
 ]
 ...
-title: Code Server - Generic
+title: Code Server - APPHY 275
 cluster: "<%= cluster %>"
 cacheable: false
diff -u spring-2026:local/apphy275.yml.erb local/apphy275.yml.erb
-  "165547"
+  "170782"

Notes

  • Why Code Server is included: its built-in terminal can submit cluster jobs and can read the
    course folder and course Spack. It was the tested path for submitting and observing QE jobs.
  • Terminal caveat: the terminal starts with Code Server's own Spack setup selected. Before
    loading the course QE installation, run spack env deactivate; unset SPACK_ENV; the QE test
    script does this.
  • No hidden platform change: this PR adds only the course entry. It does not change queue policy,
    images, or environments.

Testing

  • Development launch: I opened an app-dev session and ran shell commands.
  • Production launch: I launched the system app as a course member on
    general-dy-general-cr-1 and used its terminal.
  • Course-member access: I ran job 824 to rc=0; course files were readable but not
    student-writable, and QE loaded. The instructor's job 825 confirmed that the three restricted
    queues were denied.
Course-member access test

Script: course-folder/tests/access/run-access-test.sh

cp -r /shared/courseSharedFolders/170782outer/170782/tests/access ~/apphy275-access-test
bash ~/apphy275-access-test/run-access-test.sh

Result: ===== ACCESS TEST DONE rc=0 =====. The script checked membership, shared home,
student ability to read, but not change, course assets; both environment copies; the QE Spack load;
allowed queues (general, gpu, desktop); and denied restricted queues. Staff are expected to
differ only where the course folder is deliberately staff-writable.

  • Quantum ESPRESSO: I ran short QE tests in jobs 801 (general) and 803 (gpu); both passed
    all seven checks and reported -15.80731203 Ry.
Quantum ESPRESSO test

Script: course-folder/tests/qe/run-qe-test.sh

cp -r /shared/courseSharedFolders/170782outer/170782/tests/qe ~/apphy275-qe-test
cd ~/apphy275-qe-test
sbatch run-qe-test.sh
# After the job leaves squeue:
tail -8 qe-test-<job-id>.log

# Repeat on a GPU node:
sbatch --partition=gpu run-qe-test.sh

Result: ===== QE TEST DONE rc=0 =====. The log confirmed the requested MPI ranks,
pseudopotential, SCF convergence, total energy, and JOB DONE. The script leaves the app's Spack
setup, loads the QE build that matches the current CPU type, and uses mpirun with one processing
thread for each CPU requested by the job.

References

  • Prior setup and removal: #9, #14, #16
  • Course runbook: Harvard-ATG/ood-misc-runbooks#61

@kgray-hu

Copy link
Copy Markdown
Contributor Author

@jaguillette @Tanvez @arthurian - For APPHY275 (CodeServer), this has been tested in prod, wiill merge this into get this to the faculty for testing. But have tagged you all to take a look when you get a chance.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

The configuration parses correctly and matches the stated access and resource requirements.

Review effort: Balanced
Findings: None

What changed in this PR

Adds the APPHY 275 Code Server sub-app for Fall 2026.

Changes:

  • Restricts visibility to Canvas course 170782.
  • Provides general-queue sessions with 1–4 CPUs and 1–6 hours.
  • Disables session caching.
File Description
local/​apphy275.yml.erb Adds the course-specific configuration and access controls.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@kgray-hu
kgray-hu merged commit bb9d369 into main Sep 30, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants