-
Notifications
You must be signed in to change notification settings - Fork 0
Deployment
Lavesh Paryani edited this page Sep 26, 2026
·
1 revision
Deployment is handled by .github/workflows/deploy.yml, named Multi-Tier Deployment. It runs on
every push to main and dev, and can also be started by hand (workflow_dispatch). It does not
run on pull requests.
Both branches share one build job:
- Check out the code and set up Node.js 20 with the npm cache.
- Install dependencies with
npm ci. - Run
next buildinapps/webwithNODE_ENV=productionand the base path variables for the branch (see below). The static export lands inapps/web/out.
Then the branches split:
| Branch | Base path | Destination |
|---|---|---|
dev |
/RestroFX |
Uploaded as a Pages artifact and deployed by the deploy-github-pages job to https://stackified.github.io/RestroFX/
|
main |
none (domain root) | Pushed to the deploy-prod branch with JamesIves/github-pages-deploy-action; the Hostinger hosting pulls from that branch |
The workflow uses the built-in GITHUB_TOKEN with contents, pages and id-token write
permissions. No other secrets are involved. Deploys share one pages concurrency group and are
not cancelled mid-run.
feat/... or fix/... --PR--> dev --PR--> main
| |
GitHub Pages build deploy-prod branch
(/RestroFX) (Hostinger)
- Cut a branch from
dev(for examplefeat/discord-floating-buttonorfix/restricted-jurisdictions, both of which exist in the repository). - Open a pull request into
dev. Merging it rebuilds the GitHub Pages site. - Check the change on https://stackified.github.io/RestroFX/.
- Open a pull request from
devintomain. Merging it produces the production build ondeploy-prod.
deploy-prod is generated output. Never commit to it directly; the next production build
overwrites it.
- Because the two builds use different base paths, always use
withBasePath()for files inpublic/and never hardcode/RestroFX. - Pull requests are not built by CI, so run
npm run buildlocally before merging. - CodeQL scans the JavaScript and TypeScript code on every push.