This repository contains the statically delivered website of FNorden, our local Freifunk communities friends' association.
- This repo uses GitHub actions and
npm
to keep track of several javascript dependencies and remind us of their pending updates.npm
is a development dependency, it is not used during delivery. - All javascript dependencies are vendored, which means their are delivered from our webserver instead of CDNs. The goal is to reduce tracking of our users.
- GitHub is part of the development workflow, not part of the delivery process. The Website will not lie on GitHub pages.
Upon pushes on master (which happen after each successful PR merge) the latest commit on master is pushed to the server at fnorden.net
.
It should not be necessary to pull the repo on the webserver manually anymore.
Each PR must pass the provided actions. Furthermore they should be tested and reviewed locally.
- clone the repo
- checkout the PRs branch
- invoke
python -m http.server
- verify the deployment via your browser (the developer console can be opened using F12 in Firefox)
- Evaluate whether it looks as expected and approve the PR or request changes on it.
We use GitHubs Dependabot, a service which checks the websites dependencies for updates on a regular basis. The bot will open PRs for each pending update.
Sadly this is only the first half of the work. The other half is manual:
- clone the repo
- checkout the PRs branch
- invoke the respective build-step, e.g.
npm run-script build:bootstrap
, where bootstrap should be swapped for the component to update. git add vendor/
andgit commit --amend
the changes to Dependabots intended changes.git push --force-with-lease
the branch- wait for the GitHub actions to run through sucessfully and perform a regular Review like described above