Commit Graph

36 Commits

Author SHA1 Message Date
haemka a9245fc5b2 Bump theme submodule to pick up icon spacing/sizing refinements (4d49471) 2026-08-13 16:55:16 +00:00
haemka b36e53fdba Update SITENAME IPA transcription to [hɐəmkɑ] 2026-08-13 16:55:00 +00:00
haemka dcdf71844d Bump theme submodule to pick up social link icons (33428ae) 2026-08-13 16:46:29 +00:00
haemka 052dd1526d 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-13 16:44:20 +00:00
haemka f5919d364c 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-13 15:52:20 +00:00
haemka 443012e3c7 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-13 15:48:26 +00:00
haemka 8bb88d0faa 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-13 15:46:31 +00:00
haemka 09bae3e783 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-13 15:44:15 +00:00
haemka 13fdf05121 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-13 15:41:43 +00:00
haemka 0f3a526224 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-13 15:37:18 +00:00
haemka d272405be0 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-13 15:35:16 +00:00
haemka 960a4c3ca3 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-13 15:30:42 +00:00
haemka 2bcbcebb60 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-13 15:25:21 +00:00
haemka 89bd4280b7 Revert DEPLOY_USER back to a secret
Only host/port were asked to move to variables; user stays a secret.
2026-08-13 15:22:00 +00:00
haemka c9daa14ec8 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-13 15:19:13 +00:00
haemka f49cb77fa4 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-13 15:16:54 +00:00
haemka 85543e6602 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-13 15:13:44 +00:00
haemka 18c855f672 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-13 15:08:26 +00:00
haemka 31cfcf461b 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-13 15:03:49 +00:00
haemka 31c8351b6b 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-13 14:46:19 +00:00
haemka 16d0d8e0a2 Theme update 2026-08-13 16:02:08 +02:00
haemka 116e720ce3 Theme update 2026-08-13 15:00:56 +02:00
haemka cac298e745 New article "fhir date parameters", config changes for multilanguage
support, tarnslations for existing pages and articles
2026-08-13 12:44:58 +02:00
haemka d3b3be30f0 Updated about-me 2024-01-26 22:28:29 +01:00
haemka de5e61e152 Added article Scientific workflow with BOOX Note Air 3 C 2024-01-26 22:20:54 +01:00
haemka d4e4ca4910 Added about me page, theme test hidden, minor theme fixes 2023-04-03 16:16:28 +02:00
haemka 5be4819c17 updater script optimization 2022-09-23 17:59:06 +02:00
haemka 3c01cc9252 Theme vesion bump 2022-09-23 17:46:28 +02:00
haemka 603bbaa1f9 Site update 2022-09-23 17:40:35 +02:00
haemka 99607f5dbe Changed updater 2020-05-31 23:13:01 +02:00
haemka 49749227b7 Added update script 2020-05-31 23:07:38 +02:00
haemka 0b1ac8e121 Theme update 2020-05-31 22:05:17 +02:00
haemka c57ba4534d Theme modified 2020-05-31 20:18:41 +02:00
haemka ed71f434f4 Theme test update, fixed gitignore 2020-05-31 18:54:59 +02:00
haemka 273ff4d7ea Update 2020-05-31 18:51:45 +02:00
haemka ce39a4bc9a Initial commit 2020-05-31 15:44:53 +02:00