This commit is contained in:
@@ -0,0 +1,60 @@
|
|||||||
|
name: Build & publish image
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [main]
|
||||||
|
schedule:
|
||||||
|
- cron: '0 6 * * 1' # Mon 06:00 UTC — lands ~7h before the Monday image-update cron (13:00 UTC)
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
version:
|
||||||
|
description: 'Upstream release version to build (e.g. 0.3.2); blank = latest release'
|
||||||
|
required: false
|
||||||
|
default: ''
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
packages: write
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Resolve upstream version
|
||||||
|
id: ver
|
||||||
|
run: |
|
||||||
|
INPUT="${{ github.event.inputs.version }}"
|
||||||
|
if [ -n "$INPUT" ]; then
|
||||||
|
VER="$INPUT"
|
||||||
|
else
|
||||||
|
VER=$(curl -sf https://api.github.com/repos/freeformz/paperless-ngx-mcp/releases/latest | sed -n 's/.*"tag_name": *"v\([^"]*\)".*/\1/p')
|
||||||
|
fi
|
||||||
|
echo "version=$VER" >> "$GITHUB_OUTPUT"
|
||||||
|
|
||||||
|
- name: Skip if tag already published
|
||||||
|
id: skip
|
||||||
|
run: |
|
||||||
|
TAG="v${{ steps.ver.outputs.version }}"
|
||||||
|
if docker manifest inspect "gitea.williammiceli.systems/hermes/paperless-ngx-mcp:$TAG" > /dev/null 2>&1; then
|
||||||
|
echo "already=true" >> "$GITHUB_OUTPUT"
|
||||||
|
else
|
||||||
|
echo "already=false" >> "$GITHUB_OUTPUT"
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Write registry credentials
|
||||||
|
if: steps.skip.outputs.already == 'false'
|
||||||
|
run: |
|
||||||
|
mkdir -p "$HOME/.docker"
|
||||||
|
AUTH=$(printf 'Hermes:%s' "${{ secrets.REGISTRY_TOKEN }}" | base64 -w0)
|
||||||
|
printf '{"auths":{"gitea.williammiceli.systems":{"auth":"%s"}}}\n' "$AUTH" > "$HOME/.docker/config.json"
|
||||||
|
|
||||||
|
- name: Build and push
|
||||||
|
if: steps.skip.outputs.already == 'false'
|
||||||
|
run: |
|
||||||
|
VER="${{ steps.ver.outputs.version }}"
|
||||||
|
IMAGE="gitea.williammiceli.systems/hermes/paperless-ngx-mcp"
|
||||||
|
docker build --build-arg PAPERLESS_VERSION="$VER" -t "$IMAGE:v$VER" -t "$IMAGE:latest" .
|
||||||
|
docker push "$IMAGE:v$VER"
|
||||||
|
docker push "$IMAGE:latest"
|
||||||
Reference in New Issue
Block a user