Commit Graph

38 Commits

Author SHA1 Message Date
haemka d09b6b254c Bump theme submodule to pick up spacing/divider fixes (6a2e23d) 2026-08-14 16:54:36 +00:00
haemka 328a28e97e Add pelican-i18n-subsites to requirements.txt
Was missing entirely, so the language switcher silently disappeared
once the site started building in a clean CI environment (installed
from requirements.txt only) instead of a local venv that presumably
had it installed separately. PLUGINS = ['i18n_subsites'] in
pelicanconf.py already expects this via Pelican's namespace-package
auto-discovery, no config change needed.
2026-08-14 16:54:36 +00:00
haemka 76f79fe99a Bump theme submodule to pick up icon spacing/sizing refinements (4d49471) 2026-08-14 16:54:35 +00:00
haemka 5765519aec Update SITENAME IPA transcription to [hɐəmkɑ] 2026-08-14 16:54:35 +00:00
haemka b89870a8c7 Bump theme submodule to pick up social link icons (33428ae) 2026-08-14 16:54:35 +00:00
haemka 1f6378932c Add SOCIAL config for sidebar/About-me social link icons
Pairs with the theme's new templates/includes/social_links.html
partial. Each entry is (name, url, icon slug).
2026-08-14 16:54:35 +00:00
haemka 3109013403 Track theme submodule via SSH URL, drop CI-only override
origin is already an SSH remote for this repo, so there's no real
reason for the submodule to stay on HTTPS. Removes the runtime
'git config submodule...url' override from the workflow, which is
now redundant.
2026-08-14 16:54:35 +00:00
haemka 7468d18885 Consolidate GITEA_HOST_KEY/DEPLOY_HOST_KEY into one KNOWN_HOSTS var
No technical need for separate vars; one holding both known_hosts
lines (pasted straight from an existing trusted known_hosts file) is
simpler to configure.
2026-08-14 16:54:35 +00:00
haemka 247792c116 Pin host keys via variables instead of ssh-keyscan
Replaces the ssh-keyscan-based known_hosts population (and the
diagnostic step added to debug its flakiness) with two vars,
GITEA_HOST_KEY and DEPLOY_HOST_KEY, each a full known_hosts-format
line. No extra network calls before the real connections, no TOFU, and
no more risk of tripping aquaria's connection-rate limiting — the
actual root cause of the earlier flakiness was ssh-keyscan opening
multiple near-simultaneous connections (one per probed key type).
2026-08-14 16:54:35 +00:00
haemka 575a5bf1e3 Restrict ssh-keyscan to -t rsa to avoid tripping rate limiting
Latest diagnostic run showed aquaria's OpenSSH responding fine on the
first of several near-simultaneous connections ssh-keyscan opens (one
per default-probed key type), then hanging on the rest with no
response — a rate-limiting signature, not an outright ban. Both hosts
confirmed to offer an RSA host key, so scan just that type: one
connection per host instead of ~4 at once. Left the diagnostic step in
to confirm before removing it. Dropped -v now that the cause is known.
2026-08-14 16:54:35 +00:00
haemka d18518f567 Add temporary diagnostic step for aquaria connectivity
ssh-keyscan's -v only traces SSH-protocol activity; a pre-handshake
failure (bad DNS, TCP connect hang/drop) prints nothing regardless.
Firewall allow-listing is ruled out (same external IP as a working
manual connection), so check DNS resolution and a raw nc TCP connect
from inside the runner container directly. Remove once root-caused.
2026-08-14 16:54:34 +00:00
haemka 4ae16cafe7 Add -v to ssh-keyscan for real diagnostic output
Plain ssh-keyscan prints nothing on a per-host failure (by design, so
scanning long host lists doesn't spam errors for hosts that are down),
which is why removing 2>/dev/null earlier revealed nothing. -v forces
it to actually report what's failing.
2026-08-14 16:54:34 +00:00
haemka 84ef10b88e Force IPv4 for git.haemka.in SSH connections too
Missed two spots: the git.haemka.in keyscan and the submodule fetch's
GIT_SSH_COMMAND. If git.haemka.in's DNS answer includes an AAAA record
(depends on which resolver the runner hits), these hit the same no
IPv6 route issue intermittently, explaining the flaky failures.
2026-08-14 16:54:34 +00:00
haemka 02d660416a Force IPv4 for SSH connections to the deploy host
aquaria.haemka.net has both A and AAAA records; the runner container has
no IPv6 route, so ssh picked the AAAA address and failed with 'Network
is unreachable'. Force -4 on both the keyscan and the actual rsync
connection.
2026-08-14 16:54:34 +00:00
haemka ae61b01a07 Stop suppressing ssh-keyscan stderr in Set up SSH key step
The step failed silently (exit 1, no message) because stderr was
redirected to /dev/null while sh -e aborts on ssh-keyscan's non-zero
exit. Let the real error (DNS/firewall/etc.) show up in the log.
2026-08-14 16:54:34 +00:00
haemka 03ee6d0f78 Revert DEPLOY_USER back to a secret
Only host/port were asked to move to variables; user stays a secret.
2026-08-14 16:54:34 +00:00
haemka 3bacfbf40f Move deploy host/port/user/path to repo variables, split port out
None of these are sensitive, so use Actions variables (vars) instead of
secrets. DEPLOY_PORT is now its own variable (default 22) rather than
being packed into DEPLOY_HOST. Only DEPLOY_SSH_KEY remains a secret.
2026-08-14 16:54:34 +00:00
haemka e96fd2d95b Support non-standard SSH port in DEPLOY_HOST (fqdn:port)
ssh-keyscan and rsync's -e ssh both need the port passed via -p rather
than embedded in the hostname; parse DEPLOY_HOST accordingly, defaulting
to 22 when no port is given.
2026-08-14 16:54:34 +00:00
haemka ca521657f8 Use SSH deploy key instead of account token for theme submodule
Avoids tying CI to a personal/bot Gitea account: the same DEPLOY_SSH_KEY
secret used for the webserver rsync step is reused as a read-only Gitea
deploy key on hmk/pelican-latex. The submodule's tracked HTTPS URL is
overridden to SSH just for this checkout so it authenticates with that
key instead of needing a token with access to both repos.
2026-08-14 16:54:33 +00:00
haemka 7255a71dca Pass explicit token to checkout for private theme submodule
The default per-job Actions token only covers the triggering repo; the
theme submodule lives in a separate private repo (hmk/pelican-latex), so
cloning it needs a token with read access to both. Add CHECKOUT_TOKEN
as a repo secret (a Gitea access token with repo read scope) for this
to work.
2026-08-14 16:54:33 +00:00
haemka 887d97b5bb Install nodejs in workflow container so actions/checkout can run
python:3.12-slim has no Node.js; JS-based actions like actions/checkout
need it to execute their bundled dist/index.js.
2026-08-14 16:54:33 +00:00
haemka 64026a3d7a Add Gitea Actions workflow to build and deploy the site
Requires a self-hosted runner and repo secrets (DEPLOY_HOST, DEPLOY_USER,
DEPLOY_PATH, DEPLOY_SSH_KEY) to be set up before it will actually run.
2026-08-14 16:54:33 +00:00
haemka 734a9eeab2 Theme update 2026-08-14 16:54:33 +00:00
haemka 4bd8616907 Theme update 2026-08-14 16:54:33 +00:00
haemka 1f58649b3d New article "fhir date parameters", config changes for multilanguage
support, tarnslations for existing pages and articles
2026-08-14 16:54:32 +00:00
haemka 26ab40dfa1 Updated about-me 2026-08-14 16:54:32 +00:00
haemka 37ef7e8499 Added article Scientific workflow with BOOX Note Air 3 C 2026-08-14 16:54:32 +00:00
haemka d80b273ba2 Added about me page, theme test hidden, minor theme fixes 2026-08-14 16:54:32 +00:00
haemka fbfff2493a updater script optimization 2026-08-14 16:54:32 +00:00
haemka c36f9bce94 Theme vesion bump 2026-08-14 16:54:32 +00:00
haemka 9ab234d9b1 Site update 2026-08-14 16:54:32 +00:00
haemka 270d07ffd3 Changed updater 2026-08-14 16:54:31 +00:00
haemka 9498916c9b Added update script 2026-08-14 16:54:31 +00:00
haemka d1b72142d9 Theme update 2026-08-14 16:54:31 +00:00
haemka e04338fa26 Theme modified 2026-08-14 16:54:31 +00:00
haemka d33578e8c8 Theme test update, fixed gitignore 2026-08-14 16:54:31 +00:00
haemka 2d8ad8f0b4 Update 2026-08-14 16:54:31 +00:00
haemka ce39a4bc9a Initial commit 2020-05-31 15:44:53 +02:00