This document describes how to deploy the v3 Astro site to production and, when the time comes, fully migrate master to serve as the canonical source branch.
master |
v3 |
|
|---|---|---|
| Content | Single index.html redirect → aviral.lab.asu.edu; legacy PDFs |
Full Astro 5 site (this codebase) |
| Deployed via | GitHub Pages (branch deploy) | Not yet deployed |
| Commits | v3 contains all of master's history + 20+ additional commits | Ahead of master; nothing to rebase |
This phase deploys the new site without touching master at all.
- One-time GitHub repo setting (do this once in the browser)
Go to: github.com/MPSLab-ASU/MPSLab-ASU.github.io → Settings → Pages
- Under Source, change from "Deploy from a branch" to "GitHub Actions"
- Push v3 with the workflow
The deploy workflow already exists at .github/workflows/deploy.yml. Commit and push:
git add .github/workflows/deploy.yml
git commit -m "ci: add GitHub Actions deploy workflow for v3"
git push origin v3- Verify deployment
Go to the Actions tab on GitHub. The Deploy v3 to GitHub Pages workflow will run automatically. First deploy takes ~2 minutes. The site will be live at https://mpslab-asu.github.io.
masterbranch is completely untouched- Old redirect and legacy PDFs remain in master's git history
labs.engineering.asu.educontinues to proxy the GitHub Pages URL — no ASU server changes needed
Run this after the old aviral.lab.asu.edu site has been officially retired.
git checkout master
git tag archive/old-redirect
git push origin archive/old-redirectThis permanently preserves the old state in git history under the tag archive/old-redirect.
git checkout master
git reset --hard origin/v3
git push origin master --forcemaster is now identical to v3.
In .github/workflows/deploy.yml, change the trigger branch from v3 to master:
on:
push:
branches:
- masterCommit and push:
git add .github/workflows/deploy.yml
git commit -m "ci: switch deploy trigger from v3 to master"
git push origin masterGo to: Settings → General → Default branch and confirm it is set to master.
Option A — work directly on master.
Option B — keep v3 (or feature branches) and merge PRs into master. The deploy triggers on every merge.
This domain is managed on ASU's server side (DNS CNAME or reverse proxy pointing to mpslab-asu.github.io). Changing GitHub Pages content does not require any changes to that configuration — visitors via that URL will automatically receive the new Astro site once Phase 1 is complete.
The site uses Pagefind for static search. The search index is generated automatically during the CI build step (pagefind --site dist) and is included in every deployment. No separate action is needed.
npm run dev # dev server (search not available — no index)
npm run build # full build + generates search index in dist/pagefind/
npm run preview # preview built output locally (search works here)