]> git.ipfire.org Git - thirdparty/paperless-ngx.git/commitdiff
Chore: add ymlfmt (#9745)
authorshamoon <4887959+shamoon@users.noreply.github.com>
Tue, 22 Apr 2025 22:20:54 +0000 (15:20 -0700)
committerGitHub <noreply@github.com>
Tue, 22 Apr 2025 22:20:54 +0000 (22:20 +0000)
19 files changed:
.devcontainer/docker-compose.devcontainer.sqlite-tika.yml
.github/dependabot.yml
.github/labeler.yml
.github/workflows/ci.yml
.github/workflows/cleanup-tags.yml
.github/workflows/codeql-analysis.yml
.github/workflows/crowdin.yml
.github/workflows/pr-bot.yml
.github/workflows/project-actions.yml
.github/workflows/repo-maintenance.yml
.pre-commit-config.yaml
docker/compose/docker-compose.mariadb-tika.yml
docker/compose/docker-compose.mariadb.yml
docker/compose/docker-compose.portainer.yml
docker/compose/docker-compose.postgres-tika.yml
docker/compose/docker-compose.postgres.yml
docker/compose/docker-compose.sqlite-tika.yml
docker/compose/docker-compose.sqlite.yml
mkdocs.yml

index 8aead7fe2c6c122cb28f1696704ec2f68871ff13..76cf9ca45fb80faab236b8abbe8c3320b71c4e96 100644 (file)
 # This file is intended only to be used through VSCOde devcontainers. See README.md
 # in the folder .devcontainer.
 
-
 services:
   broker:
     image: docker.io/library/redis:7
     restart: unless-stopped
     volumes:
       - ./redisdata:/data
-
   # No ports need to be exposed; the VSCode DevContainer plugin manages them.
   paperless-development:
     image: paperless-ngx
     build:
-      context: ../    # Dockerfile cannot access files from parent directories if context is not set.
+      context: ../ # Dockerfile cannot access files from parent directories if context is not set.
       dockerfile: ./.devcontainer/Dockerfile
     restart: unless-stopped
     depends_on:
@@ -60,25 +58,20 @@ services:
       PAPERLESS_TIKA_ENDPOINT: http://tika:9998
       PAPERLESS_STATICDIR: ./src/documents/static
       PAPERLESS_DEBUG: true
-
     # Overrides default command so things don't shut down after the process ends.
     command: /bin/sh -c "chown -R paperless:paperless /usr/src/paperless/paperless-ngx/src/documents/static/frontend && chown -R paperless:paperless /usr/src/paperless/paperless-ngx/.ruff_cache && while sleep 1000; do :; done"
-
   gotenberg:
     image: docker.io/gotenberg/gotenberg:8.17
     restart: unless-stopped
-
     # The Gotenberg Chromium route is used to convert .eml files. We do not
     # want to allow external content like tracking pixels or even JavaScript.
     command:
       - "gotenberg"
       - "--chromium-disable-javascript=true"
       - "--chromium-allow-list=file:///tmp/.*"
-
   tika:
     image: docker.io/apache/tika:latest
     restart: unless-stopped
-
 volumes:
   data:
   media:
index f93821d70ccd46cb25874b0331fc96919cf886de..74be0e121c3b3cf6d5046b8c1851c386d0ed83dc 100644 (file)
@@ -5,7 +5,6 @@ version: 2
 # Required for uv support for now
 enable-beta-ecosystems: true
 updates:
-
   # Enable version updates for pnpm
   - package-ecosystem: "npm"
     target-branch: "dev"
@@ -35,7 +34,6 @@ updates:
         patterns:
           - "@typescript-eslint*"
           - "eslint"
-
   # Enable version updates for Python
   - package-ecosystem: "uv"
     target-branch: "dev"
@@ -71,7 +69,6 @@ updates:
         patterns:
           - psycopg*
           - zxing-cpp
-
   # Enable updates for GitHub Actions
   - package-ecosystem: "github-actions"
     target-branch: "dev"
@@ -91,7 +88,6 @@ updates:
           - "major"
           - "minor"
           - "patch"
-
   # Update Dockerfile in root directory
   - package-ecosystem: "docker"
     directory: "/"
@@ -105,7 +101,6 @@ updates:
     commit-message:
       prefix: "docker"
       include: "scope"
-
   # Update Docker Compose files in docker/compose directory
   - package-ecosystem: "docker-compose"
     directory: "/docker/compose/"
index 8d87d13c6dcddfe0d8b8c88bc4d5ee2ce0324c0f..bd2af861147c56556949185c6e9c83bb61e33565 100644 (file)
@@ -5,17 +5,14 @@ backend:
           - 'pyproject.toml'
           - 'uv.lock'
           - 'requirements.txt'
-
 frontend:
   - changed-files:
       - any-glob-to-any-file:
           - 'src-ui/**'
-
 documentation:
   - changed-files:
       - any-glob-to-any-file:
           - 'docs/**'
-
 ci-cd:
   - changed-files:
       - any-glob-to-any-file:
index 56c2fdeec9e5c77765d80f45f358fec9a75be056..83cbce2904d06d30231a27600d228a33ddd04978 100644 (file)
@@ -1,5 +1,4 @@
 name: ci
-
 on:
   push:
     tags:
@@ -12,72 +11,57 @@ on:
   pull_request:
     branches-ignore:
       - 'translations**'
-
 env:
   DEFAULT_UV_VERSION: "0.6.x"
   # This is the default version of Python to use in most steps which aren't specific
   DEFAULT_PYTHON_VERSION: "3.11"
-
 jobs:
   pre-commit:
     # We want to run on external PRs, but not on our own internal PRs as they'll be run
     # by the push to the branch. Without this if check, checks are duplicated since
     # internal PRs match both the push and pull_request events.
-    if:
-      github.event_name == 'push' || github.event.pull_request.head.repo.full_name !=
-      github.repository
-
+    if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
     name: Linting Checks
     runs-on: ubuntu-24.04
     steps:
-      -
-        name: Checkout repository
+      - name: Checkout repository
         uses: actions/checkout@v4
-      -
-        name: Install python
+      - name: Install python
         uses: actions/setup-python@v5
         with:
           python-version: ${{ env.DEFAULT_PYTHON_VERSION }}
-      -
-        name: Check files
+      - name: Check files
         uses: pre-commit/action@v3.0.1
-
   documentation:
     name: "Build & Deploy Documentation"
     runs-on: ubuntu-24.04
     needs:
       - pre-commit
     steps:
-      -
-        name: Checkout
+      - name: Checkout
         uses: actions/checkout@v4
-      -
-        name: Set up Python
+      - name: Set up Python
         id: setup-python
         uses: actions/setup-python@v5
         with:
           python-version: ${{ env.DEFAULT_PYTHON_VERSION }}
-      -
-        name: Install uv
+      - name: Install uv
         uses: astral-sh/setup-uv@v5
         with:
           version: ${{ env.DEFAULT_UV_VERSION }}
           enable-cache: true
           python-version: ${{ env.DEFAULT_PYTHON_VERSION }}
-      -
-        name: Install Python dependencies
+      - name: Install Python dependencies
         run: |
           uv sync --python ${{ steps.setup-python.outputs.python-version }} --dev --frozen
-      -
-        name: Make documentation
+      - name: Make documentation
         run: |
           uv run \
             --python ${{ steps.setup-python.outputs.python-version }} \
             --dev \
             --frozen \
             mkdocs build --config-file ./mkdocs.yml
-      -
-        name: Deploy documentation
+      - name: Deploy documentation
         if: github.event_name == 'push' && github.ref == 'refs/heads/main'
         run: |
           echo "docs.paperless-ngx.com" > "${{ github.workspace }}/docs/CNAME"
@@ -88,14 +72,12 @@ jobs:
             --dev \
             --frozen \
             mkdocs gh-deploy --force --no-history
-      -
-        name: Upload artifact
+      - name: Upload artifact
         uses: actions/upload-artifact@v4
         with:
           name: documentation
           path: site/
           retention-days: 7
-
   tests-backend:
     name: "Backend Tests (Python ${{ matrix.python-version }})"
     runs-on: ubuntu-24.04
@@ -106,49 +88,40 @@ jobs:
         python-version: ['3.10', '3.11', '3.12']
       fail-fast: false
     steps:
-      -
-        name: Checkout
+      - name: Checkout
         uses: actions/checkout@v4
-      -
-        name: Start containers
+      - name: Start containers
         run: |
           docker compose --file ${{ github.workspace }}/docker/compose/docker-compose.ci-test.yml pull --quiet
           docker compose --file ${{ github.workspace }}/docker/compose/docker-compose.ci-test.yml up --detach
-      -
-        name: Set up Python
+      - name: Set up Python
         id: setup-python
         uses: actions/setup-python@v5
         with:
           python-version: "${{ matrix.python-version }}"
-      -
-        name: Install uv
+      - name: Install uv
         uses: astral-sh/setup-uv@v5
         with:
           version: ${{ env.DEFAULT_UV_VERSION }}
           enable-cache: true
           python-version: ${{ steps.setup-python.outputs.python-version }}
-      -
-        name: Install system dependencies
+      - name: Install system dependencies
         run: |
           sudo apt-get update -qq
           sudo apt-get install -qq --no-install-recommends unpaper tesseract-ocr imagemagick ghostscript libzbar0 poppler-utils
-      -
-        name: Configure ImageMagick
+      - name: Configure ImageMagick
         run: |
           sudo cp docker/rootfs/etc/ImageMagick-6/paperless-policy.xml /etc/ImageMagick-6/policy.xml
-      -
-        name: Install Python dependencies
+      - name: Install Python dependencies
         run: |
           uv sync \
             --python ${{ steps.setup-python.outputs.python-version }} \
             --group testing \
             --frozen
-      -
-        name: List installed Python dependencies
+      - name: List installed Python dependencies
         run: |
           uv pip list
-      -
-        name: Tests
+      - name: Tests
         env:
           PAPERLESS_CI_TEST: 1
           # Enable paperless_mail testing against real server
@@ -161,28 +134,24 @@ jobs:
             --dev \
             --frozen \
             pytest
-      -
-        name: Upload backend test results to Codecov
+      - name: Upload backend test results to Codecov
         if: always()
         uses: codecov/test-results-action@v1
         with:
           token: ${{ secrets.CODECOV_TOKEN }}
           flags: backend-python-${{ matrix.python-version }}
           files: junit.xml
-      -
-        name: Upload backend coverage to Codecov
+      - name: Upload backend coverage to Codecov
         uses: codecov/codecov-action@v5
         with:
           token: ${{ secrets.CODECOV_TOKEN }}
           flags: backend-python-${{ matrix.python-version }}
           files: coverage.xml
-      -
-        name: Stop containers
+      - name: Stop containers
         if: always()
         run: |
           docker compose --file ${{ github.workspace }}/docker/compose/docker-compose.ci-test.yml logs
           docker compose --file ${{ github.workspace }}/docker/compose/docker-compose.ci-test.yml down
-
   install-frontend-dependencies:
     name: "Install Frontend Dependencies"
     runs-on: ubuntu-24.04
@@ -194,8 +163,7 @@ jobs:
         uses: pnpm/action-setup@v4
         with:
           version: 10
-      -
-        name: Use Node.js 20
+      - name: Use Node.js 20
         uses: actions/setup-node@v4
         with:
           node-version: 20.x
@@ -209,15 +177,12 @@ jobs:
             ~/.pnpm-store
             ~/.cache
           key: ${{ runner.os }}-frontenddeps-${{ hashFiles('src-ui/pnpm-lock.yaml') }}
-      -
-        name: Install dependencies
+      - name: Install dependencies
         if: steps.cache-frontend-deps.outputs.cache-hit != 'true'
         run: cd src-ui && pnpm install
-      -
-        name: Install Playwright
+      - name: Install Playwright
         if: steps.cache-frontend-deps.outputs.cache-hit != 'true'
         run: cd src-ui && pnpm playwright install --with-deps
-
   tests-frontend:
     name: "Frontend Tests (Node ${{ matrix.node-version }} - ${{ matrix.shard-index }}/${{ matrix.shard-count }})"
     runs-on: ubuntu-24.04
@@ -235,8 +200,7 @@ jobs:
         uses: pnpm/action-setup@v4
         with:
           version: 10
-      -
-        name: Use Node.js 20
+      - name: Use Node.js 20
         uses: actions/setup-node@v4
         with:
           node-version: 20.x
@@ -252,31 +216,25 @@ jobs:
           key: ${{ runner.os }}-frontenddeps-${{ hashFiles('src-ui/pnpm-lock.yaml') }}
       - name: Re-link Angular cli
         run: cd src-ui && pnpm link @angular/cli
-      -
-        name: Linting checks
+      - name: Linting checks
         run: cd src-ui && pnpm run lint
-      -
-        name: Run Jest unit tests
+      - name: Run Jest unit tests
         run: cd src-ui && pnpm run test --max-workers=2 --shard=${{ matrix.shard-index }}/${{ matrix.shard-count }}
-      -
-        name: Run Playwright e2e tests
+      - name: Run Playwright e2e tests
         run: cd src-ui && pnpm exec playwright test --shard ${{ matrix.shard-index }}/${{ matrix.shard-count }}
-      -
-        name: Upload frontend test results to Codecov
+      - name: Upload frontend test results to Codecov
         uses: codecov/test-results-action@v1
         if: always()
         with:
           token: ${{ secrets.CODECOV_TOKEN }}
           flags: frontend-node-${{ matrix.node-version }}
           directory: src-ui/
-      -
-        name: Upload frontend coverage to Codecov
+      - name: Upload frontend coverage to Codecov
         uses: codecov/codecov-action@v5
         with:
           token: ${{ secrets.CODECOV_TOKEN }}
           flags: frontend-node-${{ matrix.node-version }}
           directory: src-ui/coverage/
-
   frontend-bundle-analysis:
     name: "Frontend Bundle Analysis"
     runs-on: ubuntu-24.04
@@ -284,20 +242,17 @@ jobs:
       - tests-frontend
     steps:
       - uses: actions/checkout@v4
-      -
-        name: Install pnpm
+      - name: Install pnpm
         uses: pnpm/action-setup@v4
         with:
           version: 10
-      -
-        name: Use Node.js 20
+      - name: Use Node.js 20
         uses: actions/setup-node@v4
         with:
           node-version: 20.x
           cache: 'pnpm'
           cache-dependency-path: 'src-ui/pnpm-lock.yaml'
-      -
-        name: Cache frontend dependencies
+      - name: Cache frontend dependencies
         id: cache-frontend-deps
         uses: actions/cache@v4
         with:
@@ -305,15 +260,12 @@ jobs:
             ~/.pnpm-store
             ~/.cache
           key: ${{ runner.os }}-frontenddeps-${{ hashFiles('src-ui/package-lock.json') }}
-      -
-        name: Re-link Angular cli
+      - name: Re-link Angular cli
         run: cd src-ui && pnpm link @angular/cli
-      -
-        name: Build frontend and upload analysis
+      - name: Build frontend and upload analysis
         env:
           CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
         run: cd src-ui && pnpm run build --configuration=production
-
   build-docker-image:
     name: Build Docker image for ${{ github.ref_name }}
     runs-on: ubuntu-24.04
@@ -325,8 +277,7 @@ jobs:
       - tests-backend
       - tests-frontend
     steps:
-      -
-        name: Check pushing to Docker Hub
+      - name: Check pushing to Docker Hub
         id: push-other-places
         # Only push to Dockerhub from the main repo AND the ref is either:
         #  main
@@ -342,15 +293,13 @@ jobs:
             echo "Not pushing to DockerHub"
             echo "enable=false" >> $GITHUB_OUTPUT
           fi
-      -
-        name: Set ghcr repository name
+      - name: Set ghcr repository name
         id: set-ghcr-repository
         run: |
           ghcr_name=$(echo "${{ github.repository }}" | awk '{ print tolower($0) }')
           echo "Name is ${ghcr_name}"
           echo "ghcr-repository=${ghcr_name}" >> $GITHUB_OUTPUT
-      -
-        name: Gather Docker metadata
+      - name: Gather Docker metadata
         id: docker-meta
         uses: docker/metadata-action@v5
         with:
@@ -365,37 +314,31 @@ jobs:
             # For a tag x.y.z or vX.Y.Z, output an x.y.z and x.y image tag
             type=semver,pattern={{version}}
             type=semver,pattern={{major}}.{{minor}}
-      -
-        name: Checkout
+      - name: Checkout
         uses: actions/checkout@v4
       # If https://github.com/docker/buildx/issues/1044 is resolved,
       # the append input with a native arm64 arch could be used to
       # significantly speed up building
-      -
-        name: Set up Docker Buildx
+      - name: Set up Docker Buildx
         uses: docker/setup-buildx-action@v3
-      -
-        name: Set up QEMU
+      - name: Set up QEMU
         uses: docker/setup-qemu-action@v3
         with:
           platforms: arm64
-      -
-        name: Login to GitHub Container Registry
+      - name: Login to GitHub Container Registry
         uses: docker/login-action@v3
         with:
           registry: ghcr.io
           username: ${{ github.actor }}
           password: ${{ secrets.GITHUB_TOKEN }}
-      -
-        name: Login to Docker Hub
+      - name: Login to Docker Hub
         uses: docker/login-action@v3
         # Don't attempt to login if not pushing to Docker Hub
         if: steps.push-other-places.outputs.enable == 'true'
         with:
           username: ${{ secrets.DOCKERHUB_USERNAME }}
           password: ${{ secrets.DOCKERHUB_TOKEN }}
-      -
-        name: Login to Quay.io
+      - name: Login to Quay.io
         uses: docker/login-action@v3
         # Don't attempt to login if not pushing to Quay.io
         if: steps.push-other-places.outputs.enable == 'true'
@@ -403,8 +346,7 @@ jobs:
           registry: quay.io
           username: ${{ secrets.QUAY_USERNAME }}
           password: ${{ secrets.QUAY_ROBOT_TOKEN }}
-      -
-        name: Build and push
+      - name: Build and push
         uses: docker/build-push-action@v6
         with:
           context: .
@@ -422,23 +364,19 @@ jobs:
             type=registry,ref=ghcr.io/${{ steps.set-ghcr-repository.outputs.ghcr-repository }}/builder/cache/app:dev
           cache-to: |
             type=registry,mode=max,ref=ghcr.io/${{ steps.set-ghcr-repository.outputs.ghcr-repository }}/builder/cache/app:${{ github.ref_name }}
-      -
-        name: Inspect image
+      - name: Inspect image
         run: |
           docker buildx imagetools inspect ${{ fromJSON(steps.docker-meta.outputs.json).tags[0] }}
-      -
-        name: Export frontend artifact from docker
+      - name: Export frontend artifact from docker
         run: |
           docker create --name frontend-extract ${{ fromJSON(steps.docker-meta.outputs.json).tags[0] }}
           docker cp frontend-extract:/usr/src/paperless/src/documents/static/frontend src/documents/static/frontend/
-      -
-        name: Upload frontend artifact
+      - name: Upload frontend artifact
         uses: actions/upload-artifact@v4
         with:
           name: frontend-compiled
           path: src/documents/static/frontend/
           retention-days: 7
-
   build-release:
     name: "Build Release"
     needs:
@@ -446,63 +384,52 @@ jobs:
       - documentation
     runs-on: ubuntu-24.04
     steps:
-      -
-        name: Checkout
+      - name: Checkout
         uses: actions/checkout@v4
-      -
-        name: Set up Python
+      - name: Set up Python
         id: setup-python
         uses: actions/setup-python@v5
         with:
           python-version: ${{ env.DEFAULT_PYTHON_VERSION }}
-      -
-        name: Install uv
+      - name: Install uv
         uses: astral-sh/setup-uv@v5
         with:
           version: ${{ env.DEFAULT_UV_VERSION }}
           enable-cache: true
           python-version: ${{ steps.setup-python.outputs.python-version }}
-      -
-        name: Install Python dependencies
+      - name: Install Python dependencies
         run: |
           uv sync --python ${{ steps.setup-python.outputs.python-version }} --dev --frozen
-      -
-        name: Install system dependencies
+      - name: Install system dependencies
         run: |
           sudo apt-get update -qq
           sudo apt-get install -qq --no-install-recommends gettext liblept5
-      -
-        name: Download frontend artifact
+      - name: Download frontend artifact
         uses: actions/download-artifact@v4
         with:
           name: frontend-compiled
           path: src/documents/static/frontend/
-      -
-        name: Download documentation artifact
+      - name: Download documentation artifact
         uses: actions/download-artifact@v4
         with:
           name: documentation
           path: docs/_build/html/
-      -
-        name: Generate requirements file
+      - name: Generate requirements file
         run: |
-           uv export --quiet --no-dev --all-extras --format requirements-txt --output-file requirements.txt
-      -
-        name: Compile messages
+          uv export --quiet --no-dev --all-extras --format requirements-txt --output-file requirements.txt
+      - name: Compile messages
         run: |
           cd src/
           uv run \
             --python ${{ steps.setup-python.outputs.python-version }} \
             manage.py compilemessages
-      -
-        name: Collect static files
+      - name: Collect static files
         run: |
           cd src/
           uv run \
             --python ${{ steps.setup-python.outputs.python-version }} \
             manage.py collectstatic --no-input
-      -
-        name: Move files
+      - name: Move files
         run: |
           echo "Making dist folders"
           for directory in dist \
@@ -539,21 +466,18 @@ jobs:
           cp --recursive docs/_build/html/ dist/paperless-ngx/docs
 
           mv --verbose static dist/paperless-ngx
-      -
-        name: Make release package
+      - name: Make release package
         run: |
           echo "Creating release archive"
           cd dist
           sudo chown -R 1000:1000 paperless-ngx/
           tar -cJf paperless-ngx.tar.xz paperless-ngx/
-      -
-        name: Upload release artifact
+      - name: Upload release artifact
         uses: actions/upload-artifact@v4
         with:
           name: release
           path: dist/paperless-ngx.tar.xz
           retention-days: 7
-
   publish-release:
     name: "Publish Release"
     runs-on: ubuntu-24.04
@@ -565,14 +489,12 @@ jobs:
       - build-release
     if: github.ref_type == 'tag' && (startsWith(github.ref_name, 'v') || contains(github.ref_name, '-beta.rc'))
     steps:
-      -
-        name: Download release artifact
+      - name: Download release artifact
         uses: actions/download-artifact@v4
         with:
           name: release
           path: ./
-      -
-        name: Get version
+      - name: Get version
         id: get_version
         run: |
           echo "version=${{ github.ref_name }}" >> $GITHUB_OUTPUT
@@ -581,8 +503,7 @@ jobs:
           else
             echo "prerelease=false" >> $GITHUB_OUTPUT
           fi
-      -
-        name: Create Release and Changelog
+      - name: Create Release and Changelog
         id: create-release
         uses: release-drafter/release-drafter@v6
         with:
@@ -593,8 +514,7 @@ jobs:
           publish: true # ensures release is not marked as draft
         env:
           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-      -
-        name: Upload release archive
+      - name: Upload release archive
         id: upload-release-asset
         uses: shogo82148/actions-upload-release-asset@v1
         with:
@@ -603,7 +523,6 @@ jobs:
           asset_path: ./paperless-ngx.tar.xz
           asset_name: paperless-ngx-${{ steps.get_version.outputs.version }}.tar.xz
           asset_content_type: application/x-xz
-
   append-changelog:
     name: "Append Changelog"
     runs-on: ubuntu-24.04
@@ -611,26 +530,22 @@ jobs:
       - publish-release
     if: needs.publish-release.outputs.prerelease == 'false'
     steps:
-      -
-        name: Checkout
+      - name: Checkout
         uses: actions/checkout@v4
         with:
           ref: main
-      -
-        name: Set up Python
+      - name: Set up Python
         id: setup-python
         uses: actions/setup-python@v5
         with:
           python-version: ${{ env.DEFAULT_PYTHON_VERSION }}
-      -
-        name: Install uv
+      - name: Install uv
         uses: astral-sh/setup-uv@v5
         with:
           version: ${{ env.DEFAULT_UV_VERSION }}
           enable-cache: true
           python-version: ${{ env.DEFAULT_PYTHON_VERSION }}
-      -
-        name: Append Changelog to docs
+      - name: Append Changelog to docs
         id: append-Changelog
         working-directory: docs
         run: |
@@ -652,8 +567,7 @@ jobs:
           git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
           git commit -am "Changelog ${{ needs.publish-release.outputs.version }} - GHA"
           git push origin ${{ needs.publish-release.outputs.version }}-changelog
-      -
-        name: Create Pull Request
+      - name: Create Pull Request
         uses: actions/github-script@v7
         with:
           script: |
index 59a6161c5f2978f5967a8e136d6fc59f08b61c4f..324ef775063846def4df5e318bf044358fb905ee 100644 (file)
@@ -6,17 +6,14 @@
 # This workflow will not trigger runs on forked repos.
 
 name: Cleanup Image Tags
-
 on:
   delete:
   push:
     paths:
       - ".github/workflows/cleanup-tags.yml"
-
 concurrency:
   group: registry-tags-cleanup
   cancel-in-progress: false
-
 jobs:
   cleanup-images:
     name: Cleanup Image Tags for ${{ matrix.primary-name }}
@@ -30,8 +27,7 @@ jobs:
       # Requires a personal access token with the OAuth scope delete:packages
       TOKEN: ${{ secrets.GHA_CONTAINER_DELETE_TOKEN }}
     steps:
-      -
-        name: Clean temporary images
+      - name: Clean temporary images
         if: "${{ env.TOKEN != '' }}"
         uses: stumpylog/image-cleaner-action/ephemeral@v0.10.0
         with:
@@ -43,7 +39,6 @@ jobs:
           repo_name: "paperless-ngx"
           match_regex: "(feature|fix)"
           do_delete: "true"
-
   cleanup-untagged-images:
     name: Cleanup Untagged Images Tags for ${{ matrix.primary-name }}
     if: github.repository_owner == 'paperless-ngx'
@@ -58,8 +53,7 @@ jobs:
       # Requires a personal access token with the OAuth scope delete:packages
       TOKEN: ${{ secrets.GHA_CONTAINER_DELETE_TOKEN }}
     steps:
-      -
-        name: Clean untagged images
+      - name: Clean untagged images
         if: "${{ env.TOKEN != '' }}"
         uses: stumpylog/image-cleaner-action/untagged@v0.10.0
         with:
index cdc0e7d6d52878782e1106b2aa85e15f195c7d74..0be68b3ed6d2b0d62a100190263b6069e76559cd 100644 (file)
 # supported CodeQL languages.
 #
 name: "CodeQL"
-
 on:
   push:
-    branches: [ main, dev ]
+    branches: [main, dev]
   pull_request:
     # The branches below must be a subset of the branches above
-    branches: [ dev ]
+    branches: [dev]
   schedule:
     - cron: '28 13 * * 5'
-
 jobs:
   analyze:
     name: Analyze
@@ -28,27 +26,23 @@ jobs:
       actions: read
       contents: read
       security-events: write
-
     strategy:
       fail-fast: false
       matrix:
-        language: [ 'javascript', 'python' ]
+        language: ['javascript', 'python']
         # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
         # Learn more about CodeQL language support at https://git.io/codeql-language-support
-
     steps:
-    - name: Checkout repository
-      uses: actions/checkout@v4
-
-    # Initializes the CodeQL tools for scanning.
-    - name: Initialize CodeQL
-      uses: github/codeql-action/init@v3
-      with:
-        languages: ${{ matrix.language }}
-        # If you wish to specify custom queries, you can do so here or in a config file.
-        # By default, queries listed here will override any specified in a config file.
-        # Prefix the list here with "+" to use these queries and those in the config file.
-        # queries: ./path/to/local/query, your-org/your-repo/queries@main
-
-    - name: Perform CodeQL Analysis
-      uses: github/codeql-action/analyze@v3
+      - name: Checkout repository
+        uses: actions/checkout@v4
+      # Initializes the CodeQL tools for scanning.
+      - name: Initialize CodeQL
+        uses: github/codeql-action/init@v3
+        with:
+          languages: ${{ matrix.language }}
+          # If you wish to specify custom queries, you can do so here or in a config file.
+          # By default, queries listed here will override any specified in a config file.
+          # Prefix the list here with "+" to use these queries and those in the config file.
+          # queries: ./path/to/local/query, your-org/your-repo/queries@main
+      - name: Perform CodeQL Analysis
+        uses: github/codeql-action/analyze@v3
index 308b646d760b9f617250fbf62246e52ac1d40bc1..3711d3f6e41f5a4bd50722003f08f3ac467cebbb 100644 (file)
@@ -1,35 +1,28 @@
 name: Crowdin Action
-
 on:
   workflow_dispatch:
   schedule:
     - cron: '2 */12 * * *'
   push:
-    paths: [
-      'src/locale/**',
-      'src-ui/messages.xlf',
-      'src-ui/src/locale/**'
-    ]
-    branches: [ dev ]
-
+    paths: ['src/locale/**', 'src-ui/messages.xlf', 'src-ui/src/locale/**']
+    branches: [dev]
 jobs:
   synchronize-with-crowdin:
     name: Crowdin Sync
     if: github.repository_owner == 'paperless-ngx'
     runs-on: ubuntu-24.04
-
     steps:
-    - name: Checkout
-      uses: actions/checkout@v4
-    - name: crowdin action
-      uses: crowdin/github-action@v2
-      with:
-        upload_translations: false
-        download_translations: true
-        crowdin_branch_name: 'dev'
-        localization_branch_name: l10n_dev
-        pull_request_labels: 'skip-changelog, translation'
-      env:
-        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
-        CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
-        CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
+      - name: Checkout
+        uses: actions/checkout@v4
+      - name: crowdin action
+        uses: crowdin/github-action@v2
+        with:
+          upload_translations: false
+          download_translations: true
+          crowdin_branch_name: 'dev'
+          localization_branch_name: l10n_dev
+          pull_request_labels: 'skip-changelog, translation'
+        env:
+          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+          CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
+          CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
index 85c3a9fd8c200fb7fa5b02ada9c7bb3d27ebbe7a..e2f4c44a4a4ebf012f5a199f8e198ccc3c5cc68b 100644 (file)
@@ -1,26 +1,21 @@
 name: PR Bot
-
 on:
   pull_request:
     types: [opened]
   pull_request_target:
     types: [opened]
-
 permissions:
   contents: read
   pull-requests: write
-
 jobs:
   pr-bot:
     name: Automated PR Bot
     runs-on: ubuntu-latest
-
     steps:
       - name: Label by file path
         uses: actions/labeler@v5
         with:
           repo-token: ${{ secrets.GITHUB_TOKEN }}
-
       - name: Label by size
         uses: Gascon1/pr-size-labeler@v1.3.0
         with:
@@ -30,13 +25,7 @@ jobs:
           s_label: 'non-trivial'
           s_diff: '99999'
           fail_if_xl: 'false'
-          excluded_files: >
-            /\.lock$/
-            /\.txt$/
-            ^src-ui/pnpm-lock\.yaml$
-            ^src-ui/messages\.xlf$
-            ^src/locale/en_US/LC_MESSAGES/django\.po$
-
+          excluded_files: /\.lock$/ /\.txt$/ ^src-ui/pnpm-lock\.yaml$ ^src-ui/messages\.xlf$ ^src/locale/en_US/LC_MESSAGES/django\.po$
       - name: Label bot-generated PRs
         if: ${{ contains(github.actor, 'dependabot') || contains(github.actor, 'crowdin-bot') }}
         uses: actions/github-script@v7
@@ -62,7 +51,6 @@ jobs:
                 labels,
               });
             }
-
       - name: Welcome comment
         if: ${{ !contains(github.actor, 'bot') }}
         uses: actions/github-script@v7
index aa6ad2d3865eafd6d94560a3dc55d3e82512a39c..ed27a0255996a5100e41bffa79e9b0de5a8a3d48 100644 (file)
@@ -1,5 +1,4 @@
 name: Project Automations
-
 on:
   pull_request_target: #_target allows access to secrets
     types:
@@ -8,10 +7,8 @@ on:
     branches:
       - main
       - dev
-
 permissions:
   contents: read
-
 jobs:
   pr_opened_or_reopened:
     name: pr_opened_or_reopened
index 930b2a7b5108165f1c75105d35d2f34939fe9d5c..61b86a0d2c51bb6ad180ff15222612a7901ec128 100644 (file)
@@ -1,18 +1,14 @@
 name: 'Repository Maintenance'
-
 on:
   schedule:
     - cron: '0 3 * * *'
   workflow_dispatch:
-
 permissions:
   issues: write
   pull-requests: write
   discussions: write
-
 concurrency:
   group: lock
-
 jobs:
   stale:
     name: 'Stale'
@@ -27,9 +23,8 @@ jobs:
           stale-issue-label: stale
           stale-pr-label: stale
           stale-issue-message: >
-            This issue has been automatically marked as stale because it has not had
-            recent activity. It will be closed if no further activity occurs. Thank you
-            for your contributions. See our [contributing guidelines](https://github.com/paperless-ngx/paperless-ngx/blob/dev/CONTRIBUTING.md#automatic-repository-maintenance) for more details.
+            This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. See our [contributing guidelines](https://github.com/paperless-ngx/paperless-ngx/blob/dev/CONTRIBUTING.md#automatic-repository-maintenance) for more details.
+
   lock-threads:
     name: 'Lock Old Threads'
     if: github.repository_owner == 'paperless-ngx'
@@ -42,20 +37,14 @@ jobs:
           discussion-inactive-days: '30'
           log-output: true
           issue-comment: >
-            This issue has been automatically locked since there
-            has not been any recent activity after it was closed.
-            Please open a new discussion or issue for related concerns.
-            See our [contributing guidelines](https://github.com/paperless-ngx/paperless-ngx/blob/dev/CONTRIBUTING.md#automatic-repository-maintenance) for more details.
+            This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new discussion or issue for related concerns. See our [contributing guidelines](https://github.com/paperless-ngx/paperless-ngx/blob/dev/CONTRIBUTING.md#automatic-repository-maintenance) for more details.
+
           pr-comment: >
-            This pull request has been automatically locked since there
-            has not been any recent activity after it was closed.
-            Please open a new discussion or issue for related concerns.
-            See our [contributing guidelines](https://github.com/paperless-ngx/paperless-ngx/blob/dev/CONTRIBUTING.md#automatic-repository-maintenance) for more details.
+            This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new discussion or issue for related concerns. See our [contributing guidelines](https://github.com/paperless-ngx/paperless-ngx/blob/dev/CONTRIBUTING.md#automatic-repository-maintenance) for more details.
+
           discussion-comment: >
-            This discussion has been automatically locked since there
-            has not been any recent activity after it was closed.
-            Please open a new discussion for related concerns.
-            See our [contributing guidelines](https://github.com/paperless-ngx/paperless-ngx/blob/dev/CONTRIBUTING.md#automatic-repository-maintenance) for more details.
+            This discussion has been automatically locked since there has not been any recent activity after it was closed. Please open a new discussion for related concerns. See our [contributing guidelines](https://github.com/paperless-ngx/paperless-ngx/blob/dev/CONTRIBUTING.md#automatic-repository-maintenance) for more details.
+
   close-answered-discussions:
     name: 'Close Answered Discussions'
     if: github.repository_owner == 'paperless-ngx'
index ad29e627ea9ebd24bc96d6906257b29757ce11b6..a20ed19d7d96a3d7e305326b1705a91dcb38d020 100644 (file)
@@ -76,3 +76,8 @@ repos:
     rev: "v0.10.0.1"
     hooks:
       - id: shellcheck
+  - repo: https://github.com/google/yamlfmt
+    rev: v0.14.0
+    hooks:
+      - id: yamlfmt
+        exclude: "^src-ui/pnpm-lock.yaml"
index 7b5d34d00fa522638156a7e1477d698425012731..2eb5a6eb1254829a3ad3ee28c5352ed8b654b8c0 100644 (file)
@@ -36,7 +36,6 @@ services:
     restart: unless-stopped
     volumes:
       - redisdata:/data
-
   db:
     image: docker.io/library/mariadb:11
     restart: unless-stopped
@@ -48,7 +47,6 @@ services:
       MARIADB_USER: paperless
       MARIADB_PASSWORD: paperless
       MARIADB_ROOT_PASSWORD: paperless
-
   webserver:
     image: ghcr.io/paperless-ngx/paperless-ngx:latest
     restart: unless-stopped
@@ -75,7 +73,6 @@ services:
       PAPERLESS_TIKA_ENABLED: 1
       PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
       PAPERLESS_TIKA_ENDPOINT: http://tika:9998
-
   gotenberg:
     image: docker.io/gotenberg/gotenberg:8.19
     restart: unless-stopped
@@ -85,11 +82,9 @@ services:
       - "gotenberg"
       - "--chromium-disable-javascript=true"
       - "--chromium-allow-list=file:///tmp/.*"
-
   tika:
     image: docker.io/apache/tika:latest
     restart: unless-stopped
-
 volumes:
   data:
   media:
index 890807fa35a30e286d9265495e3a47bbc42c9eae..67e564c8f296c77226c6f54b2515f34efcc69838 100644 (file)
@@ -31,7 +31,6 @@ services:
     restart: unless-stopped
     volumes:
       - redisdata:/data
-
   db:
     image: docker.io/library/mariadb:11
     restart: unless-stopped
@@ -43,7 +42,6 @@ services:
       MARIADB_USER: paperless
       MARIADB_PASSWORD: paperless
       MARIADB_ROOT_PASSWORD: paperless
-
   webserver:
     image: ghcr.io/paperless-ngx/paperless-ngx:latest
     restart: unless-stopped
@@ -65,7 +63,6 @@ services:
       PAPERLESS_DBUSER: paperless # only needed if non-default username
       PAPERLESS_DBPASS: paperless # only needed if non-default password
       PAPERLESS_DBPORT: 3306
-
 volumes:
   data:
   media:
index 3905309342fa7fc5f00e9a3003c11cc3870f219d..c63a446d7048c6cdf15131d963bb68752881a637 100644 (file)
@@ -32,7 +32,6 @@ services:
     restart: unless-stopped
     volumes:
       - redisdata:/data
-
   db:
     image: docker.io/library/postgres:17
     restart: unless-stopped
@@ -42,7 +41,6 @@ services:
       POSTGRES_DB: paperless
       POSTGRES_USER: paperless
       POSTGRES_PASSWORD: paperless
-
   webserver:
     image: ghcr.io/paperless-ngx/paperless-ngx:latest
     restart: unless-stopped
@@ -61,7 +59,6 @@ services:
       PAPERLESS_DBHOST: db
     env_file:
       - stack.env
-
 volumes:
   data:
   media:
index d5fdb48ab7125bc271413cfceeb2d0b880efb296..813d48eb0496b4abc686088aa9ec53aad0a17e12 100644 (file)
@@ -35,7 +35,6 @@ services:
     restart: unless-stopped
     volumes:
       - redisdata:/data
-
   db:
     image: docker.io/library/postgres:17
     restart: unless-stopped
@@ -45,7 +44,6 @@ services:
       POSTGRES_DB: paperless
       POSTGRES_USER: paperless
       POSTGRES_PASSWORD: paperless
-
   webserver:
     image: ghcr.io/paperless-ngx/paperless-ngx:latest
     restart: unless-stopped
@@ -68,22 +66,18 @@ services:
       PAPERLESS_TIKA_ENABLED: 1
       PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
       PAPERLESS_TIKA_ENDPOINT: http://tika:9998
-
   gotenberg:
     image: docker.io/gotenberg/gotenberg:8.19
     restart: unless-stopped
-
     # The gotenberg chromium route is used to convert .eml files. We do not
     # want to allow external content like tracking pixels or even javascript.
     command:
       - "gotenberg"
       - "--chromium-disable-javascript=true"
       - "--chromium-allow-list=file:///tmp/.*"
-
   tika:
     image: docker.io/apache/tika:latest
     restart: unless-stopped
-
 volumes:
   data:
   media:
index f57cc283ae4b5baeb8d6b0ca114b3aee53badb24..fb34bcc471dfabc2b2f695d568131debb5cc1890 100644 (file)
@@ -31,7 +31,6 @@ services:
     restart: unless-stopped
     volumes:
       - redisdata:/data
-
   db:
     image: docker.io/library/postgres:17
     restart: unless-stopped
@@ -41,7 +40,6 @@ services:
       POSTGRES_DB: paperless
       POSTGRES_USER: paperless
       POSTGRES_PASSWORD: paperless
-
   webserver:
     image: ghcr.io/paperless-ngx/paperless-ngx:latest
     restart: unless-stopped
@@ -59,7 +57,6 @@ services:
     environment:
       PAPERLESS_REDIS: redis://broker:6379
       PAPERLESS_DBHOST: db
-
 volumes:
   data:
   media:
index 68239d4c5a8f2a25c47cc8e8b4b1ea6d356a5df1..79ae45f092ef2b97ef2d5b6778f7598e0ea68d32 100644 (file)
@@ -35,7 +35,6 @@ services:
     restart: unless-stopped
     volumes:
       - redisdata:/data
-
   webserver:
     image: ghcr.io/paperless-ngx/paperless-ngx:latest
     restart: unless-stopped
@@ -56,22 +55,18 @@ services:
       PAPERLESS_TIKA_ENABLED: 1
       PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
       PAPERLESS_TIKA_ENDPOINT: http://tika:9998
-
   gotenberg:
     image: docker.io/gotenberg/gotenberg:8.19
     restart: unless-stopped
-
     # The gotenberg chromium route is used to convert .eml files. We do not
     # want to allow external content like tracking pixels or even javascript.
     command:
       - "gotenberg"
       - "--chromium-disable-javascript=true"
       - "--chromium-allow-list=file:///tmp/.*"
-
   tika:
     image: docker.io/apache/tika:latest
     restart: unless-stopped
-
 volumes:
   data:
   media:
index a4241e2f46e434326753b42dc9946a333448cb6f..e60099300908934b39f9f7faa68554e46d74e1b3 100644 (file)
@@ -28,7 +28,6 @@ services:
     restart: unless-stopped
     volumes:
       - redisdata:/data
-
   webserver:
     image: ghcr.io/paperless-ngx/paperless-ngx:latest
     restart: unless-stopped
@@ -44,7 +43,6 @@ services:
     env_file: docker-compose.env
     environment:
       PAPERLESS_REDIS: redis://broker:6379
-
 volumes:
   data:
   media:
index fcaedaaee9d243163ab6d9aa5ccd6865f4fe90aa..66add07b7e7b7bd12950b5d7d6a074aa0b96450d 100644 (file)
@@ -11,14 +11,12 @@ theme:
       toggle:
         icon: material/brightness-auto
         name: Switch to light mode
-
     # Palette toggle for light mode
     - media: "(prefers-color-scheme: light)"
       scheme: default
       toggle:
         icon: material/brightness-7
         name: Switch to dark mode
-
     # Palette toggle for dark mode
     - media: "(prefers-color-scheme: dark)"
       scheme: slate
@@ -60,17 +58,17 @@ markdown_extensions:
       emoji_generator: !!python/name:material.extensions.emoji.to_svg
 strict: true
 nav:
-    - index.md
-    - setup.md
-    - 'Basic Usage': usage.md
-    - configuration.md
-    - administration.md
-    - advanced_usage.md
-    - 'REST API': api.md
-    - development.md
-    - 'FAQs': faq.md
-    - troubleshooting.md
-    - changelog.md
+  - index.md
+  - setup.md
+  - 'Basic Usage': usage.md
+  - configuration.md
+  - administration.md
+  - advanced_usage.md
+  - 'REST API': api.md
+  - development.md
+  - 'FAQs': faq.md
+  - troubleshooting.md
+  - changelog.md
 copyright: Copyright &copy; 2016 - 2023 Daniel Quinn, Jonas Winkler, and the Paperless-ngx team
 extra:
   social:
@@ -83,5 +81,5 @@ extra:
 plugins:
   - search
   - glightbox:
-       skip_classes:
-         - no-lightbox
+      skip_classes:
+        - no-lightbox