housekeeping
This commit is contained in:
58
.github/workflows/deploy-docs.yml
vendored
58
.github/workflows/deploy-docs.yml
vendored
@@ -2,8 +2,9 @@ name: Deploy MkDocs
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main # or master, depending on your default branch
|
- main
|
||||||
workflow_dispatch:
|
- master
|
||||||
|
workflow_dispatch: # Allow manual trigger
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
@@ -13,26 +14,49 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- uses: actions/setup-python@v5
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
|
||||||
|
- name: Setup Python
|
||||||
|
uses: actions/setup-python@v4
|
||||||
with:
|
with:
|
||||||
python-version: '3.x'
|
python-version: '3.x'
|
||||||
|
cache: 'pip' # Enable pip caching
|
||||||
|
|
||||||
|
- name: Cache MkDocs dependencies
|
||||||
|
uses: actions/cache@v3
|
||||||
|
with:
|
||||||
|
path: ~/.cache/pip
|
||||||
|
key: ${{ runner.os }}-pip-${{ hashFiles('docs/requirements.txt') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-pip-
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
pip install mkdocs-material
|
python -m pip install --upgrade pip
|
||||||
pip install mkdocs-git-revision-date-localized-plugin
|
pip install -r docs/requirements.txt
|
||||||
pip install mkdocstrings[python]
|
|
||||||
- name: Configure Git
|
- name: Check links
|
||||||
|
run: |
|
||||||
|
mkdocs build --strict
|
||||||
|
|
||||||
|
- name: Test build
|
||||||
|
run: |
|
||||||
|
mkdocs build
|
||||||
|
if [ ! -d "site" ]; then
|
||||||
|
echo "Build failed - site directory not created"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Deploy
|
||||||
run: |
|
run: |
|
||||||
git config --global user.name "github-actions[bot]"
|
git config --global user.name "github-actions[bot]"
|
||||||
git config --global user.email "github-actions[bot]@users.noreply.github.com"
|
git config --global user.email "github-actions[bot]@users.noreply.github.com"
|
||||||
- name: Build docs
|
mkdocs gh-deploy --force
|
||||||
run: mkdocs build
|
|
||||||
- name: Deploy to GitHub Pages
|
- name: Verify deployment
|
||||||
run: |
|
run: |
|
||||||
git checkout --orphan gh-pages
|
# Wait for GitHub Pages to update
|
||||||
git rm -rf .
|
sleep 30
|
||||||
mv site/* .
|
# Check if the site is accessible
|
||||||
rm -rf site
|
curl -s -f -o /dev/null "https://jango-blockchained.github.io/advanced-homeassistant-mcp" || exit 1
|
||||||
git add .
|
|
||||||
git commit -m "docs: Update documentation"
|
|
||||||
git push origin gh-pages --force
|
|
||||||
32
.github/workflows/docs-deploy.yml
vendored
32
.github/workflows/docs-deploy.yml
vendored
@@ -1,32 +0,0 @@
|
|||||||
name: Deploy Documentation
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
paths:
|
|
||||||
- 'docs/**'
|
|
||||||
- 'mkdocs.yml'
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: write
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
deploy-docs:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout repository
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Set up Python
|
|
||||||
uses: actions/setup-python@v4
|
|
||||||
with:
|
|
||||||
python-version: 3.x
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: |
|
|
||||||
pip install mkdocs-material
|
|
||||||
pip install mkdocs
|
|
||||||
|
|
||||||
- name: Deploy documentation
|
|
||||||
run: mkdocs gh-deploy --force
|
|
||||||
38
docs/.github/workflows/deploy-docs.yml
vendored
38
docs/.github/workflows/deploy-docs.yml
vendored
@@ -1,38 +0,0 @@
|
|||||||
name: Deploy MkDocs
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
- master
|
|
||||||
|
|
||||||
permissions:
|
|
||||||
contents: write
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
deploy:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Setup Python
|
|
||||||
uses: actions/setup-python@v4
|
|
||||||
with:
|
|
||||||
python-version: '3.x'
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: |
|
|
||||||
python -m pip install --upgrade pip
|
|
||||||
pip install mkdocs-material
|
|
||||||
pip install mkdocs-minify-plugin
|
|
||||||
pip install mkdocs-git-revision-date-plugin
|
|
||||||
pip install mkdocs-mkdocstrings
|
|
||||||
pip install mkdocs-social-plugin
|
|
||||||
pip install mkdocs-redirects
|
|
||||||
|
|
||||||
- name: Deploy
|
|
||||||
run: |
|
|
||||||
git config --global user.name "github-actions[bot]"
|
|
||||||
git config --global user.email "github-actions[bot]@users.noreply.github.com"
|
|
||||||
mkdocs gh-deploy --force
|
|
||||||
@@ -14,7 +14,7 @@ The documentation is automatically deployed when changes are pushed to the `main
|
|||||||
|
|
||||||
### GitHub Actions Workflow
|
### GitHub Actions Workflow
|
||||||
|
|
||||||
The deployment is handled by the workflow in `.github/workflows/deploy-docs.yml`:
|
The deployment is handled by the workflow in `.github/workflows/deploy-docs.yml`. This is the single source of truth for documentation deployment:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
name: Deploy MkDocs
|
name: Deploy MkDocs
|
||||||
@@ -23,6 +23,7 @@ on:
|
|||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
- master
|
- master
|
||||||
|
workflow_dispatch: # Allow manual trigger
|
||||||
```
|
```
|
||||||
|
|
||||||
## Manual Deployment
|
## Manual Deployment
|
||||||
@@ -30,9 +31,18 @@ on:
|
|||||||
If needed, you can deploy manually using:
|
If needed, you can deploy manually using:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
# Create a virtual environment
|
||||||
|
python -m venv venv
|
||||||
|
|
||||||
|
# Activate the virtual environment
|
||||||
|
source venv/bin/activate
|
||||||
|
|
||||||
# Install dependencies
|
# Install dependencies
|
||||||
pip install -r docs/requirements.txt
|
pip install -r docs/requirements.txt
|
||||||
|
|
||||||
|
# Build the documentation
|
||||||
|
mkdocs build
|
||||||
|
|
||||||
# Deploy to GitHub Pages
|
# Deploy to GitHub Pages
|
||||||
mkdocs gh-deploy --force
|
mkdocs gh-deploy --force
|
||||||
```
|
```
|
||||||
@@ -100,4 +110,32 @@ mkdocs-redirects
|
|||||||
|
|
||||||
- Check [GitHub Pages settings](https://github.com/jango-blockchained/advanced-homeassistant-mcp/settings/pages)
|
- Check [GitHub Pages settings](https://github.com/jango-blockchained/advanced-homeassistant-mcp/settings/pages)
|
||||||
- Monitor build status in Actions tab
|
- Monitor build status in Actions tab
|
||||||
- Verify site accessibility
|
- Verify site accessibility
|
||||||
|
|
||||||
|
## Workflow Features
|
||||||
|
|
||||||
|
### Caching
|
||||||
|
The workflow implements caching for Python dependencies to speed up deployments:
|
||||||
|
- Pip cache for Python packages
|
||||||
|
- MkDocs dependencies cache
|
||||||
|
|
||||||
|
### Deployment Checks
|
||||||
|
Several checks are performed during deployment:
|
||||||
|
1. Link validation with `mkdocs build --strict`
|
||||||
|
2. Build verification
|
||||||
|
3. Post-deployment site accessibility check
|
||||||
|
|
||||||
|
### Manual Triggers
|
||||||
|
You can manually trigger deployments using the "workflow_dispatch" event in GitHub Actions.
|
||||||
|
|
||||||
|
## Cleanup
|
||||||
|
|
||||||
|
To clean up duplicate workflow files, run:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Make the script executable
|
||||||
|
chmod +x scripts/cleanup-workflows.sh
|
||||||
|
|
||||||
|
# Run the cleanup script
|
||||||
|
./scripts/cleanup-workflows.sh
|
||||||
|
```
|
||||||
@@ -1 +1,9 @@
|
|||||||
|
mkdocs-material>=9.5.0
|
||||||
|
mkdocs-minify-plugin>=0.7.1
|
||||||
|
mkdocs-git-revision-date-plugin>=0.3.2
|
||||||
|
mkdocs-mkdocstrings>=0.24.0
|
||||||
|
mkdocs-social-plugin>=0.1.1
|
||||||
|
mkdocs-redirects>=1.2.1
|
||||||
|
mkdocs-glightbox>=0.3.4
|
||||||
|
pillow>=10.0.0
|
||||||
|
cairosvg>=2.7.0
|
||||||
@@ -51,7 +51,7 @@ plugins:
|
|||||||
- search
|
- search
|
||||||
- minify:
|
- minify:
|
||||||
minify_html: true
|
minify_html: true
|
||||||
- git-revision-date
|
- git-revision-date-plugin
|
||||||
- mkdocstrings:
|
- mkdocstrings:
|
||||||
default_handler: python
|
default_handler: python
|
||||||
- social
|
- social
|
||||||
|
|||||||
Reference in New Issue
Block a user