Pin platform 0.1.0 release and wire up automatic propagation

- parent/BOM now point at the immutable 0.1.0 release instead of a SNAPSHOT
- declare the Gitea Maven registry so Renovate can discover new platform versions
- renovate.json: group platform bumps into one automerged PR
- CI: drop --no-cache (releases are immutable, so caching is safe again) and add
  workflow_dispatch so rebuild-all-apps.sh can force an urgent rebuild
This commit is contained in:
2026-07-22 21:03:06 -05:00
parent 1b929a9125
commit f5362b04d4
3 changed files with 36 additions and 6 deletions
+6 -3
View File
@@ -2,6 +2,9 @@ name: build-and-publish
on: on:
push: push:
branches: [main] branches: [main]
# Lets `rebuild-all-apps.sh` force a rebuild (e.g. to roll out an urgent platform fix immediately
# instead of waiting for a Renovate bump PR).
workflow_dispatch:
jobs: jobs:
build: build:
@@ -12,15 +15,15 @@ jobs:
- name: Log in to the Gitea container registry - name: Log in to the Gitea container registry
run: echo "${{ secrets.REGISTRY_TOKEN }}" | docker login git.thebennett.net -u "${{ secrets.REGISTRY_USER }}" --password-stdin run: echo "${{ secrets.REGISTRY_TOKEN }}" | docker login git.thebennett.net -u "${{ secrets.REGISTRY_USER }}" --password-stdin
# --no-cache: the platform is a 0.1.0-SNAPSHOT dependency, so a stale cached maven layer could bake # The platform is now referenced by an immutable RELEASE version, so a cached maven layer can't
# in an old (e.g. unpatched) version. Always resolve fresh for a correct, scanned image. # silently hold an old build — layer caching is safe again (and much faster).
- name: Build image - name: Build image
env: env:
DOCKER_BUILDKIT: "1" DOCKER_BUILDKIT: "1"
MAVEN_USER: ${{ secrets.REGISTRY_USER }} MAVEN_USER: ${{ secrets.REGISTRY_USER }}
MAVEN_TOKEN: ${{ secrets.REGISTRY_TOKEN }} MAVEN_TOKEN: ${{ secrets.REGISTRY_TOKEN }}
run: | run: |
docker build --no-cache \ docker build \
--secret id=maven_user,env=MAVEN_USER \ --secret id=maven_user,env=MAVEN_USER \
--secret id=maven_token,env=MAVEN_TOKEN \ --secret id=maven_token,env=MAVEN_TOKEN \
--build-arg GIT_SHA=${{ github.sha }} \ --build-arg GIT_SHA=${{ github.sha }} \
+15 -3
View File
@@ -7,13 +7,13 @@
<parent> <parent>
<groupId>net.thebennett.platform</groupId> <groupId>net.thebennett.platform</groupId>
<artifactId>platform-parent</artifactId> <artifactId>platform-parent</artifactId>
<version>0.1.0-SNAPSHOT</version> <version>0.1.0</version>
<relativePath/> <relativePath/>
</parent> </parent>
<groupId>net.reformedwitness</groupId> <groupId>net.reformedwitness</groupId>
<artifactId>confessions-of-grace</artifactId> <artifactId>confessions-of-grace</artifactId>
<version>0.1.0-SNAPSHOT</version> <version>0.1.0</version>
<name>Confessions of Grace</name> <name>Confessions of Grace</name>
<description>Reformed devotional site — posts, authors, comments, subscriptions — on the Bennett platform.</description> <description>Reformed devotional site — posts, authors, comments, subscriptions — on the Bennett platform.</description>
@@ -26,7 +26,7 @@
<dependency> <dependency>
<groupId>net.thebennett.platform</groupId> <groupId>net.thebennett.platform</groupId>
<artifactId>platform-bom</artifactId> <artifactId>platform-bom</artifactId>
<version>0.1.0-SNAPSHOT</version> <version>0.1.0</version>
<type>pom</type> <type>pom</type>
<scope>import</scope> <scope>import</scope>
</dependency> </dependency>
@@ -40,6 +40,18 @@
</dependencies> </dependencies>
</dependencyManagement> </dependencyManagement>
<!-- Platform releases live in the Gitea Maven registry (anonymous read). Declared here so Renovate
can discover new platform versions and open a bump PR. Maven still needs this repo in
settings.xml for PARENT resolution (see .gitea/ci-settings.xml). -->
<repositories>
<repository>
<id>gitea</id>
<url>https://git.thebennett.net/api/packages/austin/maven</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>false</enabled></snapshots>
</repository>
</repositories>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>net.thebennett.platform</groupId> <groupId>net.thebennett.platform</groupId>
+15
View File
@@ -0,0 +1,15 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": ["config:recommended"],
"packageRules": [
{
"description": "Bennett platform releases: our own code, already tested and Trivy-scanned before publish. Group the parent + BOM + starters into one PR and merge it automatically so security fixes reach this app without manual work. Merging main triggers the build, which re-runs tests and re-scans; if either fails no image is pushed, so a bad bump can't reach production.",
"matchPackageNames": ["net.thebennett.platform:**"],
"groupName": "bennett platform",
"automerge": true
}
],
"vulnerabilityAlerts": {
"labels": ["security"]
}
}