Commit Graph

49 Commits

Author SHA1 Message Date
lyrathorpe 03726f8f17 Merge pull request 'fix(deps): update actions/checkout action to v7' (#22) from renovate/actions-checkout-7.x into main
Reviewed-on: #22
2026-06-22 16:27:40 +01:00
Renovate Bot 8d62daac4c fix(deps): update actions/checkout action to v7
renovate/stability-days Updates have met minimum release age requirement
Build and publish container / build (pull_request) Successful in 6m33s
2026-06-21 23:03:56 +00:00
renovate-bot 2590df3c13 Merge pull request 'fix(deps): update docker base image' (#20) from renovate/docker-base-image into main
Build and publish container / build (push) Successful in 4m36s
v1.3.1
2026-06-16 01:08:54 +01:00
Renovate Bot 59d53c515d fix(deps): update docker base image
Build and publish container / build (pull_request) Successful in 4m17s
2026-06-16 00:04:29 +00:00
lyrathorpe 4690263ba8 Merge pull request 'feat: match original theme to authentic 1987 DLR livery' (#19) from feat/original-theme-dlr-livery into main
Build and publish container / build (push) Successful in 2m43s
Reviewed-on: #19
v1.3.0
2026-06-12 13:08:59 +01:00
Emma Thorpe e31729e27a feat: match original theme to authentic 1987 DLR livery
Build and publish container / build (pull_request) Successful in 1m52s
Set the original colour scheme's typeface and palette to the 1987
Docklands Light Railway P86/P89 stock.

- Use the Rockwell slab serif (the original DLR branding typeface) for the
  original theme, with Rokkitt loaded as a free fallback for systems
  without Rockwell installed.
- Flip the palette to be blue-dominant: blue body/skirt as the field, red
  band/doors as the accent, white stripes, matching the rolling stock.
2026-06-12 13:05:37 +01:00
lyrathorpe c5433a23ee Merge pull request 'ci: filter main builds to code changes and cancel superseded runs' (#18) from ci/optimise-main-builds into main
Reviewed-on: #18
2026-06-12 12:42:29 +01:00
Emma Thorpe fb705c234f ci: filter main builds to code changes and cancel superseded runs
Build and publish container / build (pull_request) Successful in 1m35s
Apply path filters to the push (merge-to-main) trigger only, so merges that
do not change the image (CI/Renovate config, docs) skip the build and release.
Pull requests keep running unfiltered so the required check is always reported.

Add a concurrency group keyed by ref with cancel-in-progress, so a newer run
supersedes an older in-flight run: a fresh merge to main cancels the previous
build and only the most recent release is produced, avoiding tags that would
be immediately replaced.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 12:39:56 +01:00
lyrathorpe 562ce29ca1 Merge pull request 'fix(deps): update docker/setup-qemu-action action to v4' (#17) from renovate/docker-setup-qemu-action-4.x into main
Build and publish container / build (push) Failing after 5m57s
Reviewed-on: #17
2026-06-12 12:26:35 +01:00
lyrathorpe 1c57d70c00 Merge pull request 'fix(deps): update docker/setup-buildx-action action to v4' (#16) from renovate/docker-setup-buildx-action-4.x into main
Build and publish container / build (push) Failing after 6m6s
Reviewed-on: #16
2026-06-12 12:26:05 +01:00
lyrathorpe 7e23b09694 Merge pull request 'fix(deps): update docker/login-action action to v4' (#11) from renovate/docker-login-action-4.x into main
Build and publish container / build (push) Failing after 8m16s
Reviewed-on: #11
2026-06-12 12:21:38 +01:00
lyrathorpe 818331b066 Merge pull request 'fix(deps): update docker/build-push-action action to v7' (#10) from renovate/docker-build-push-action-7.x into main
Build and publish container / build (push) Failing after 34s
Reviewed-on: #10
2026-06-12 12:21:38 +01:00
lyrathorpe dfedc5c51b Merge pull request 'fix(deps): update actions/checkout action to v6' (#9) from renovate/actions-checkout-6.x into main
Build and publish container / build (push) Successful in 8m35s
Reviewed-on: #9
v1.2.2
2026-06-12 12:18:49 +01:00
Renovate Bot 0c38161989 fix(deps): update docker/setup-qemu-action action to v4
Build and publish container / build (pull_request) Successful in 7m37s
2026-06-12 11:11:04 +00:00
Renovate Bot d97707387d fix(deps): update docker/setup-buildx-action action to v4
Build and publish container / build (pull_request) Successful in 7m33s
2026-06-12 11:11:00 +00:00
Renovate Bot b26d49d9d8 fix(deps): update docker/login-action action to v4
Build and publish container / build (pull_request) Successful in 7m27s
2026-06-12 11:10:57 +00:00
Renovate Bot 9e5958b458 fix(deps): update docker/build-push-action action to v7
Build and publish container / build (pull_request) Successful in 7m28s
2026-06-12 11:10:53 +00:00
Renovate Bot df0df3e9a0 fix(deps): update actions/checkout action to v6
Build and publish container / build (pull_request) Successful in 7m20s
2026-06-12 11:10:48 +00:00
lyrathorpe 8bb782287e Merge pull request 'fix(deps): pin dependencies' (#7) from renovate/pin-dependencies into main
Build and publish container / build (push) Successful in 9m52s
Reviewed-on: #7
v1.2.1
2026-06-12 12:08:23 +01:00
Renovate Bot 56ec85c17e fix(deps): pin dependencies
Build and publish container / build (pull_request) Successful in 7m56s
2026-06-12 10:58:16 +00:00
lyrathorpe 9412c20248 Merge pull request 'Fix/renovate semantic fix' (#14) from fix/renovate-semantic-fix into main
Build and publish container / build (push) Has been cancelled
Reviewed-on: #14
2026-06-12 11:49:53 +01:00
lyrathorpe 65f97d2707 Merge pull request 'feat: present theme switch as a segmented control' (#15) from feat/segmented-theme-switch into main
Build and publish container / build (push) Successful in 6m7s
Reviewed-on: #15
v1.2.0
2026-06-12 11:45:08 +01:00
Emma Thorpe 564070b270 ci: auto-merge patch and minor renovate updates
Build and publish container / build (pull_request) Successful in 4m55s
Add a packageRule that automerges patch and minor updates, with
platformAutomerge enabled so Gitea merges them once required checks pass.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 11:39:02 +01:00
Emma Thorpe ad90451846 feat: present theme switch as a segmented control
Build and publish container / build (pull_request) Successful in 4m49s
Join the two theme options into a single rounded container with the active
segment filled and a divider between them, replacing the two separate pills.
Markup and aria-pressed behaviour are unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 11:34:32 +01:00
Emma Thorpe 22c2ef1b26 fix: force fix(deps) commit type so renovate PRs trigger releases
Build and publish container / build (pull_request) Successful in 6m16s
config:recommended pulls in :semanticPrefixFixDepsChoreOthers, whose catch-all
packageRule forces non-npm updates (Docker base image, Gitea Actions) to the
chore type, overriding the top-level semanticCommitType. chore produces no
release, so Renovate updates were never auto-tagged.

Append a packageRule matching all packages that sets semanticCommitType to fix,
so every merged Renovate PR registers as a patch and is released and tagged.
Also migrate the deprecated fileMatch keys to managerFilePatterns.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 11:31:07 +01:00
Emma Thorpe 301120c174 fix: recolour original theme to a red field with white text
Switch the original theme to a red background with white message text, with
navy buttons, evoking the red B07/B99 stock. Red/white/blue are all retained.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 11:24:30 +01:00
renovate-bot 1a0ffead5a Merge pull request 'chore(deps): update docker base image to v1.31' (#8) from renovate/docker-base-image into main
Build and publish container / build (push) Successful in 6m21s
2026-06-12 01:14:42 +01:00
Renovate Bot 719956341c chore(deps): update docker base image to v1.31
Build and publish container / build (pull_request) Successful in 4m38s
2026-06-12 00:02:27 +00:00
lyrathorpe 2a1e6dc8a4 Merge pull request 'feat(messages): add initial messages' (#6) from feat/reasons-why into main
Build and publish container / build (push) Successful in 5m59s
Reviewed-on: #6
v1.1.0
2026-06-11 21:08:15 +01:00
lyrathorpe 6b19a55655 feat(messages): add initial messages
Build and publish container / build (pull_request) Successful in 4m22s
more added later on
2026-06-11 21:03:31 +01:00
lyrathorpe a2b9d445e4 Merge pull request 'Fix/theme colours' (#5) from fix/theme-colours into main
Build and publish container / build (push) Successful in 6m18s
Reviewed-on: #5
v1.0.2
2026-06-11 17:49:40 +01:00
Emma Thorpe a14306cce4 fix: recolour original theme to a cream field with blue text
Build and publish container / build (pull_request) Successful in 4m51s
Use a cream/white background with navy message text and red buttons, so the
original red/white/blue livery presents blue text rather than white text on a
blue field.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 17:41:55 +01:00
Emma Thorpe 43f42a8274 fix: use solid theme backgrounds instead of a gradient
Replace the body background gradient with the solid theme colour and remove
the now-unused --bg-accent variables from both colour schemes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 17:36:47 +01:00
lyrathorpe 8376860fb4 Merge pull request 'fix: build multi-arch images for amd64 and arm64' (#4) from fix/multi-arch-build into main
Build and publish container / build (push) Successful in 6m51s
Reviewed-on: #4
v1.0.1
2026-06-11 17:26:57 +01:00
Emma Thorpe d1803f06dd fix: build multi-arch images for amd64 and arm64
Build and publish container / build (pull_request) Successful in 5m2s
Add QEMU setup and build for linux/amd64 and linux/arm64 (armv8), publishing
a single multi-arch manifest. The nginx-unprivileged base image provides both
architectures.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 17:20:20 +01:00
lyrathorpe ea16d1b21b Merge pull request 'ci: tag images by semver and point latest at newest release' (#3) from ci/image-tagging into main
Build and publish container / build (push) Successful in 3m32s
Reviewed-on: #3
v1.0.0
2026-06-11 17:10:26 +01:00
Emma Thorpe 99084cc597 feat: auto-release images from conventional commits on main
Build and publish container / build (pull_request) Successful in 2m58s
On each push to main, derive the next semantic version from the
conventional-commit messages since the last v* tag (feat -> minor,
fix/perf -> patch, \! or BREAKING CHANGE -> major) and, when a release is
warranted, build and publish the image tagged X.Y.Z, X.Y, X and latest,
then record an annotated vX.Y.Z tag for the next computation. Non-release
pushes publish a sha-<short> image only.

Configure Renovate to commit updates as fix(deps): so each merged Renovate
PR registers as a patch change and is released and tagged automatically.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 17:04:40 +01:00
Emma Thorpe d296d88c4c ci: tag images by semver and point latest at newest release
Build and publish container / build (pull_request) Successful in 1m59s
Replace the raw latest-on-default-branch tag, which moved latest on every
main push, with metadata-action's latest=auto flavor so latest follows the
newest non-prerelease v* release. Add a {{major}} tag alongside the
existing version and major.minor semver tags; branch and SHA tags remain
for traceability of non-release builds.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 16:43:33 +01:00
lyrathorpe 17d10ce1a0 Merge pull request 'fix: authenticate to container registry with a package-scoped PAT' (#2) from fix/ci-registry-auth into main
Build and publish container / build (push) Successful in 2m39s
Reviewed-on: #2
2026-06-11 16:36:30 +01:00
Emma Thorpe 7549aa6c90 fix: authenticate to container registry with a package-scoped PAT
Build and publish container / build (pull_request) Successful in 2m7s
The auto-provided GITEA_TOKEN does not carry container registry write
permission on most Gitea instances, causing docker login to fail with
"unauthorized". Use a Personal Access Token supplied via the
PACKAGES_TOKEN secret, with the package namespace owner as the username.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 16:31:32 +01:00
lyrathorpe 6707504b88 Merge pull request 'Feat/why is the dlr shut' (#1) from feat/why-is-the-dlr-shut into main
Build and publish container / build (push) Failing after 40s
Reviewed-on: #1
2026-06-11 16:26:33 +01:00
Emma Thorpe fec0327005 chore: initial commit 2026-06-11 16:18:04 +01:00
Emma Thorpe e5dd090c45 docs: document container, CI and dependency updates
Build and publish container / build (pull_request) Successful in 5m18s
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 16:18:04 +01:00
Emma Thorpe eb0186a5b8 build: add Renovate configuration
Track the Dockerfile base image, the actions used in the Gitea workflow,
and versioned front-end dependencies referenced in HTML (via renovate
comment annotations or jsDelivr/unpkg npm URLs).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 16:18:04 +01:00
Emma Thorpe b28ec41ccb ci: build and publish the container via Gitea Actions
Build the image on pushes to main, version tags and pull requests, and
push to the Gitea container registry (except on PRs) using the
auto-provided GITEA_TOKEN. Tags are derived with docker/metadata-action.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 16:18:04 +01:00
Emma Thorpe d2bac6b8d3 feat: containerise the site with nginx-unprivileged
Serve the static site from a non-root nginx image listening on 8080,
with cache headers, gzip and a /healthz endpoint. Designed to run behind
an external reverse proxy that terminates TLS.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 16:18:04 +01:00
Emma Thorpe a2c6408277 docs: add README
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 16:18:04 +01:00
Emma Thorpe 3b5c304002 feat: add random message selection and theme toggle
script.js picks a random entry from MESSAGES on load and on each "Check
again" click, and persists the chosen colour scheme in localStorage.
messages.js holds the MESSAGES array as a placeholder template to be
filled in with content.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 16:18:04 +01:00
Emma Thorpe 59b8d969df feat: add page structure and DLR colour schemes
Single-page layout with a centred message, a colour-scheme toggle, and a
"Check again" button. styles.css defines two palettes selected via the
data-theme attribute: modern DLR turquoise/teal and the original 1987
red-and-blue livery.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 16:18:04 +01:00