mirror of
https://github.com/Stirling-Tools/Stirling-PDF.git
synced 2026-09-03 05:10:16 +03:00
# Description of Changes - What was changed - Moved the `gradle-cache-prime` job from `build.yml` into a dedicated reusable workflow. - Added `workflow_call` support for invocation from other workflows. - Added a `push` trigger for the `main` branch. - Updated `build.yml` to call the new reusable workflow. - Why the change was made - Keeps the shared Gradle cache warm after changes are pushed to `main`. - Allows pull request builds to reuse the same cache and reduce dependency resolution time. - Separates cache maintenance from the main build workflow. --- ## Checklist ### General - [ ] I have read the [Contribution Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md) - [ ] I have read the [Stirling-PDF Developer Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md) (if applicable) - [ ] I have read the [How to add new languages to Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md) (if applicable) - [ ] I have performed a self-review of my own code - [ ] My changes generate no new warnings ### Documentation - [ ] I have updated relevant docs on [Stirling-PDF's doc repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/) (if functionality has heavily changed) - [ ] I have read the section [Add New Translation Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags) (for new translation tags only) ### Translations (if applicable) - [ ] I ran [`scripts/counter_translation.py`](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/docs/counter_translation.md) ### UI Changes (if applicable) - [ ] Screenshots or videos demonstrating the UI changes are attached (e.g., as comments or direct attachments in the PR) ### Testing (if applicable) - [ ] I have run `task check` to verify linters, typechecks, and tests pass - [ ] I have tested my changes locally. Refer to the [Testing Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/DeveloperGuide.md#7-testing) for more details.
181 lines
5.7 KiB
YAML
181 lines
5.7 KiB
YAML
# CI routing infrastructure. Changes to the top-level router (build.yml) or
|
|
# this filter configuration rerun every area's jobs. Every job-gating filter
|
|
# therefore includes *ci, so routing changes exercise the jobs they affect
|
|
# instead of matching only the project filter.
|
|
ci: &ci
|
|
- .github/workflows/build.yml
|
|
- .github/workflows/gradle-cache-prime.yml
|
|
- .github/config/.files.yaml
|
|
|
|
build: &build
|
|
- *ci
|
|
- buildSrc/**
|
|
- build.gradle
|
|
- gradle/spotless.gradle
|
|
- app/(common|core|proprietary|saas)/build.gradle
|
|
- Taskfile.yml
|
|
- .taskfiles/backend.yml
|
|
- .github/workflows/check-licence.yml
|
|
|
|
# Backend build inputs. This is intentionally broader than `build`: Java and
|
|
# backend resource changes must exercise the backend matrix even when Gradle
|
|
# build scripts themselves are unchanged.
|
|
backend: &backend
|
|
- *ci
|
|
- *build
|
|
- gradle/**
|
|
- gradle.properties
|
|
- gradlew
|
|
- gradlew.bat
|
|
- settings.gradle
|
|
- app/(common|core|proprietary|saas)/src/(main|test)/java/**
|
|
- "app/(common|core|proprietary|saas)/src/(main|test)/resources/**/!(messages_*.properties|*.md)*"
|
|
- scripts/db-migration/**
|
|
- .github/workflows/backend-build.yml
|
|
|
|
openapi: &openapi
|
|
- *ci
|
|
- *build
|
|
- app/(common|core|proprietary|saas)/src/main/java/**
|
|
- .github/workflows/check-openapi.yml
|
|
|
|
docker-base: &docker-base
|
|
- docker/base/Dockerfile
|
|
|
|
# Dockerfiles only (base, embedded, and unoserver). The slow multi-architecture
|
|
# (arm64) leg of the PR Docker test build runs only when a Dockerfile changes,
|
|
# rather than for every code PR.
|
|
dockerfiles: &dockerfiles
|
|
- docker/**/Dockerfile*
|
|
|
|
docker: &docker
|
|
- docker/embedded/Dockerfile
|
|
- docker/embedded/Dockerfile.fat
|
|
- docker/embedded/Dockerfile.ultra-lite
|
|
- ".github/workflows/build.yml"
|
|
- ".github/workflows/push-docker.yml"
|
|
- scripts/init.sh
|
|
- scripts/init-without-ocr.sh
|
|
- exampleYmlFiles/**
|
|
- *docker-base
|
|
|
|
project: &project
|
|
- *ci
|
|
- app/(common|core|proprietary|saas)/src/(main|test)/java/**
|
|
- *build
|
|
- "app/(common|core|proprietary|saas)/src/(main|test)/resources/**/!(messages_*.properties|*.md)*"
|
|
- exampleYmlFiles/**
|
|
- *docker
|
|
- *docker-base
|
|
- gradle.properties
|
|
- gradlew
|
|
- gradlew.bat
|
|
- launch4jConfig.xml
|
|
- settings.gradle
|
|
- frontend/**
|
|
- docker/**
|
|
- scripts/RestartHelper.java
|
|
- Taskfile.yml
|
|
- .taskfiles/backend.yml
|
|
- .taskfiles/docker.yml
|
|
- scripts/db-migration/**
|
|
- .github/workflows/db-migration-test.yml
|
|
- .github/workflows/docker-compose-tests.yml
|
|
- .github/workflows/test-build-docker.yml
|
|
|
|
frontend: &frontend
|
|
- *ci
|
|
- frontend/**
|
|
- testing/**
|
|
- docker/**
|
|
- scripts/translations/*.py
|
|
- .taskfiles/desktop.yml
|
|
- scripts/convert_cff_to_ttf.py
|
|
- scripts/harvest_type3_fonts.py
|
|
- scripts/ignore_translation.toml
|
|
- scripts/index_type3_catalogue.py
|
|
- scripts/summarize_type3_signatures.py
|
|
- scripts/type3_to_cff.py
|
|
- scripts/update_type3_library.py
|
|
- Taskfile.yml
|
|
- .taskfiles/frontend.yml
|
|
- .taskfiles/e2e.yml
|
|
- .github/workflows/frontend-validation.yml
|
|
- .github/workflows/frontend-a11y.yml
|
|
- .github/workflows/e2e-stubbed.yml
|
|
- .github/workflows/e2e-live.yml
|
|
|
|
# Files that affect the Tauri desktop bundle. Changes to any of these files
|
|
# trigger the multi-OS Tauri build job.
|
|
tauri: &tauri
|
|
- *ci
|
|
- frontend/editor/src-tauri/**
|
|
- frontend/editor/src/desktop/**
|
|
- frontend/editor/tsconfig.desktop.vite.json
|
|
- frontend/package.json
|
|
- frontend/package-lock.json
|
|
- frontend/editor/vite.config.ts
|
|
- .github/workflows/tauri-build.yml
|
|
- Taskfile.yml
|
|
- .taskfiles/desktop.yml
|
|
|
|
# Files that affect the AI engine, including its Python tool models, fixers,
|
|
# and tests. The engine validation job also runs when the Java tool surfaces
|
|
# used to generate those models change.
|
|
engine: &engine
|
|
- *ci
|
|
- engine/**
|
|
- app/(common|core|proprietary|saas)/src/main/java/**
|
|
- .github/workflows/ai-engine.yml
|
|
- Taskfile.yml
|
|
- .taskfiles/engine.yml
|
|
|
|
# Files that can make the committed generated API models (frontend tool API
|
|
# types and engine tool models) stale: their Java sources, generators,
|
|
# generated outputs (to catch hand edits), and generation tasks. Broad
|
|
# frontend, Docker, and testing globs are intentionally excluded, so a CSS-only
|
|
# PR does not start the backend to rebuild the specification.
|
|
generated-models: &generated-models
|
|
- *ci
|
|
- *openapi
|
|
- frontend/editor/scripts/generate-tool-api-types.mts
|
|
- frontend/editor/src/core/types/toolApiTypes.ts
|
|
- frontend/editor/src/core/types/toolIO.ts
|
|
- engine/scripts/generate_tool_models.py
|
|
- engine/src/stirling/models/tool_models.py
|
|
- engine/src/stirling/models/tool_io.py
|
|
- .taskfiles/frontend.yml
|
|
- .taskfiles/engine.yml
|
|
- .github/workflows/check-generated-models.yml
|
|
|
|
licenses-frontend: &licenses-frontend
|
|
- ".github/workflows/frontend-backend-licenses-update.yml"
|
|
- "frontend/package.json"
|
|
- "frontend/package-lock.json"
|
|
- "frontend/editor/scripts/generate-licenses.js"
|
|
|
|
licenses-backend: &licenses-backend
|
|
- ".github/workflows/frontend-backend-licenses-update.yml"
|
|
- *build
|
|
|
|
# Files that can affect premium or enterprise behaviour. Changes to any of
|
|
# these files trigger the enterprise Playwright job for pull requests.
|
|
proprietary: &proprietary
|
|
- *ci
|
|
- app/proprietary/**
|
|
- frontend/editor/src/proprietary/**
|
|
- frontend/editor/src/core/tests/enterprise/**
|
|
- testing/compose/docker-compose-keycloak-oauth.yml
|
|
- testing/compose/docker-compose-keycloak-saml.yml
|
|
- testing/compose/keycloak-realm-oauth.json
|
|
- testing/compose/keycloak-realm-saml.json
|
|
- testing/compose/start-oauth-test.sh
|
|
- testing/compose/start-saml-test.sh
|
|
- testing/compose/validate-oauth-test.sh
|
|
- testing/compose/validate-saml-test.sh
|
|
- configs/settings.yml.template
|
|
- build.gradle
|
|
- app/proprietary/build.gradle
|
|
- gradle/spotless.gradle
|
|
- .github/workflows/build-enterprise.yml
|