Merge pull request #1675 from sbadakhc/issue-1674/clean-vanilla-startup #159
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Documentation Checks | |
| permissions: | |
| contents: read | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - dev | |
| pull_request: | |
| branches: | |
| - main | |
| - dev | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| check-paths: | |
| name: Check Documentation Paths | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v7.0.0 | |
| - name: Run path validation | |
| run: | | |
| chmod +x ./scripts/checks/check-paths.sh | |
| ./scripts/checks/check-paths.sh | |
| check-generated-files: | |
| name: Check for Generated Files | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v7.0.0 | |
| - name: Run generated file check | |
| run: | | |
| chmod +x ./scripts/checks/check-generated-files.sh | |
| ./scripts/checks/check-generated-files.sh | |
| check-markdown-links: | |
| name: Check Markdown Links | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v7.0.0 | |
| - name: Check for broken links | |
| uses: lycheeverse/lychee-action@8646ba30535128ac92d33dfc9133794bfdd9b411 # v2 | |
| with: | |
| args: --exclude-all-private --require-https --timeout 30 --retry-wait-time 5 --max-retries 3 | |
| fail: true | |
| continue-on-error: true | |
| check-yaml-syntax: | |
| name: Validate YAML Syntax | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v7.0.0 | |
| - name: Install yamllint | |
| run: pip install yamllint==1.38.0 | |
| - name: Validate YAML files | |
| run: | | |
| yamllint -c .yamllint.yml . | |
| validate-compose-files: | |
| name: Validate Docker Compose Files | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v7.0.0 | |
| - name: Set up Docker | |
| uses: docker/setup-buildx-action@d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5 # v4.1.0 | |
| - name: Create minimal .env for validation | |
| run: | | |
| cat > .env << 'EOF' | |
| # Core configuration | |
| INFERENCE_ENGINE=ollama | |
| PROFILE=sys | |
| # PostgreSQL configuration | |
| POSTGRES_USER=admin | |
| POSTGRES_PASSWORD=test | |
| POSTGRES_DATABASE=webui | |
| # PGAdmin configuration | |
| PGADMIN_EMAIL=admin@example.com | |
| PGADMIN_PASSWORD=test | |
| # Open WebUI configuration | |
| OPENAI_API_KEY= | |
| ENABLE_OLLAMA_API=true | |
| OLLAMA_BASE_URL=http://localhost:11434 | |
| # Grafana configuration | |
| GRAFANA_ADMIN_USER=admin | |
| GRAFANA_ADMIN_PASSWORD=admin | |
| # Ollama configuration | |
| OLLAMA_HOST=0.0.0.0:11434 | |
| OLLAMA_NUM_PARALLEL=8 | |
| OLLAMA_MAX_LOADED_MODELS=3 | |
| OLLAMA_KEEP_ALIVE=1800 | |
| OLLAMA_NUM_GPU=1 | |
| OLLAMA_NUM_THREAD=8 | |
| EOF | |
| - name: Validate main compose file | |
| run: | | |
| docker compose -f services/docker-compose.yml config > /dev/null || exit 1 | |
| echo "Main compose file valid" | |
| - name: Validate additional compose files | |
| run: | | |
| # Validate override files by combining with main compose file | |
| # Override files (gpu.yml, arm.yml) only contain partial service definitions | |
| for file in services/docker-compose.*.yml; do | |
| if [ -f "$file" ]; then | |
| # Combine main compose with override file to validate complete config | |
| docker compose -f services/docker-compose.yml -f "$file" config > /dev/null || exit 1 | |
| echo "Validated: $(basename $file)" | |
| fi | |
| done | |
| echo "All compose override files validated successfully" | |
| - name: Cleanup | |
| run: rm -f .env |