1 Commits

Author SHA1 Message Date
Emma Thorpe 86f14ad68a ci: only build when image-affecting files change
Add path filters so the workflow runs only when the Dockerfile, nginx config,
site assets or .dockerignore change. CI-config, Renovate-config and docs
changes (such as a Renovate bump of a CI action) no longer trigger a build or
release. workflow_dispatch is added for manual runs after pipeline changes.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 11:38:30 +01:00
3 changed files with 30 additions and 14 deletions
+21
View File
@@ -1,10 +1,31 @@
name: Build and publish container
# Only run when files that affect the built image change. Updates to CI
# config, Renovate config, or docs (e.g. a Renovate bump of the checkout
# action) do not change the image and so do not trigger a build or release.
# Use workflow_dispatch to run manually after a pipeline change.
on:
push:
branches: [main]
paths:
- 'Dockerfile'
- 'default.conf'
- 'index.html'
- 'styles.css'
- 'script.js'
- 'messages.js'
- '.dockerignore'
pull_request:
branches: [main]
paths:
- 'Dockerfile'
- 'default.conf'
- 'index.html'
- 'styles.css'
- 'script.js'
- 'messages.js'
- '.dockerignore'
workflow_dispatch:
defaults:
run:
+3 -8
View File
@@ -10,25 +10,20 @@
"semanticCommitType": "fix",
"semanticCommitScope": "deps",
"github-actions": {
"managerFilePatterns": ["/^\\.gitea/workflows/[^/]+\\.ya?ml$/"]
"fileMatch": ["^\\.gitea/workflows/[^/]+\\.ya?ml$"]
},
"packageRules": [
{
"description": "Group nginx base image updates",
"matchManagers": ["dockerfile"],
"groupName": "docker base image"
},
{
"description": "Commit every update as fix(deps) so each merged Renovate PR triggers a patch release. config:recommended pulls in :semanticPrefixFixDepsChoreOthers, which forces non-npm updates (Docker, Actions) to chore and would otherwise produce no release.",
"matchPackageNames": ["*"],
"semanticCommitType": "fix"
}
],
"customManagers": [
{
"customType": "regex",
"description": "Update HTML dependencies annotated with a renovate comment, e.g. <!-- renovate: datasource=npm depName=bootstrap --> before the versioned URL",
"managerFilePatterns": ["/\\.html$/"],
"fileMatch": ["\\.html$"],
"matchStrings": [
"datasource=(?<datasource>\\S+) depName=(?<depName>\\S+)( versioning=(?<versioning>\\S+))?[\\s\\S]*?(?<currentValue>v?\\d+\\.\\d+\\.\\d+[\\w.-]*)"
]
@@ -36,7 +31,7 @@
{
"customType": "regex",
"description": "Auto-detect versioned jsDelivr / unpkg npm assets in HTML",
"managerFilePatterns": ["/\\.html$/"],
"fileMatch": ["\\.html$"],
"matchStrings": [
"https://cdn\\.jsdelivr\\.net/npm/(?<depName>@?[^@/]+(?:/[^@/]+)?)@(?<currentValue>\\d[^/\"']+)",
"https://unpkg\\.com/(?<depName>@?[^@/]+(?:/[^@/]+)?)@(?<currentValue>\\d[^/\"']+)"
+6 -6
View File
@@ -21,14 +21,14 @@
/* Original DLR — 1987 red, white and blue */
[data-theme="original"] {
--bg: #c8102e;
--bg: #f5f0e1;
--surface: #002b5c;
--text: #f5f0e1;
--message: #f5f0e1;
--button-bg: #002b5c;
--text: #002b5c;
--message: #002b5c;
--button-bg: #c8102e;
--button-text: #f5f0e1;
--button-active-bg: #f5f0e1;
--button-active-text: #002b5c;
--button-active-bg: #002b5c;
--button-active-text: #f5f0e1;
}
* {