Computer Science Club of the University of Waterloo's website.
https://csclub.uwaterloo.ca
continuous-integration/drone/push Build is passing
Details
This PR aims to resolve the issues surrounding the optimize-images script, at least in the short term, in order to unblock other work. **Problems:** Our optimize-images script was taking a very long time to run (~7 minutes in CI, when successful). This led to two problems: 1. It was near impossible to run the script locally. 2. CI jobs would often get killed on the optimize-images step. **Solutions:** 1. Resize the images in `images/events` prior to optimizing them, similar to what is done for the images in `images/team`. This solution on its own reduced the run-time of the script to ~30 seconds locally on Amy's laptop, which is comparable to the run-time of the script back when it was originally written. 2. EDIT: Copy/resize/optimize the images in batches of 32 at a time. The reason why the CI job was being killed is because the script would run out of memory, however this change should resolve that while also keeping build times reasonable (~30 sec locally/when deploying on caffeine, ~3 min in CI). ~~As a temporary fix, this PR also replaces the images in `images/events` with their resized + optimized versions. (For some unknown reason, Solution 1 is not sufficient to solve Problem 2.)~~ This PR also adds some logging to the script so we can get a (slightly) better sense of where the script is getting stuck. Related issue: #456 Co-authored-by: Amy <a258wang@uwaterloo.ca> Reviewed-on: #457 Reviewed-by: Shahan Neda <snedadah@csclub.uwaterloo.ca> |
||
---|---|---|
.vscode | ||
components | ||
content | ||
docs | ||
hooks | ||
images | ||
lib | ||
pages | ||
public | ||
scripts | ||
.drone.yml | ||
.eslintignore | ||
.eslintrc.js | ||
.gitignore | ||
README.md | ||
deploy-demo.bash | ||
deploy.sh | ||
next-env.d.ts | ||
next.config.js | ||
package-lock.json | ||
package.json | ||
postcss.config.json | ||
renovate.json | ||
tsconfig.json | ||
types.d.ts | ||
utils.ts |
README.md
Development
Dependencies
Make sure that you have node
>= 14 and npm
>= 7. Node 14 ships with npm v6,
so if you're using node 14, you would need to upgrade npm. Alternatively you
could also upgrade to node 16, which ships with npm 7.
How to upgrade npm: npm i -g npm
Local
npm install
to install project dependenciesnpm run dev
to run the dev server (http://localhost:3000)
Production
npm install
to install project dependenciesnpm run build
to generate html/css/jsnpm run export
to move the built files (along with assets in the public directory) to the/out
directory- Use your favourite web server to host the files in the
/out
directory. (A very simple one would bepython -m http.server
- not sure if it should actually be used for production :P)
Deploy
groups
(make sure you're in thewww
group)curl -o- https://git.csclub.uwaterloo.ca/www/www-new/raw/branch/main/deploy.sh | bash
(run oncaffeine
)