Merge pull request #297 from linuxserver/fix-links #3715
This file contains 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: Build mkdocs and deploy to GitHub Pages | |
on: [push, pull_request] | |
concurrency: | |
group: ${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
name: Build docs | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/[email protected] | |
with: | |
fetch-depth: 0 | |
sparse-checkout: | | |
docs | |
scripts | |
- name: Setup python | |
uses: actions/[email protected] | |
with: | |
python-version: 3.x | |
- name: Get pip cache directory | |
id: pip-cache | |
run: | | |
echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT | |
- name: Cache dependencies | |
uses: actions/[email protected] | |
with: | |
path: ${{ steps.pip-cache.outputs.dir }} | |
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} | |
restore-keys: | | |
${{ runner.os }}-pip- | |
- name: Cache d2 database | |
uses: actions/cache/[email protected] # We only want to restore the cache, to avoid overwriting the cache on PRs | |
with: | |
path: .cache/plugin/d2 | |
key: ${{ runner.os }}-d2 | |
- name: Install d2 | |
run: | | |
mkdir -p /tmp/d2 | |
D2_VERSION=$(curl -s https://api.github.com/repos/terrastruct/d2/releases/latest | awk '/tag_name/{print $4;exit}' FS='[""]') | |
curl -o \ | |
/tmp/d2.tar.gz -L \ | |
"https://github.com/terrastruct/d2/releases/download/${D2_VERSION}/d2-${D2_VERSION}-linux-amd64.tar.gz" | |
tar xzf /tmp/d2.tar.gz -C /tmp/d2 --strip-components=1 | |
cp /tmp/d2/bin/d2 /usr/local/bin | |
- name: Install dependencies | |
run: pip install -r docs/requirements.txt | |
- name: Generate images-by-category.md | |
run: python scripts/generate-images-by-category.py | |
- name: Build documentation | |
run: mkdocs build | |
deploy: | |
if: github.event_name == 'push' && contains(fromJson('["refs/heads/master", "refs/heads/main"]'), github.ref) | |
needs: build | |
name: Deploy docs | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/[email protected] | |
with: | |
fetch-depth: 0 | |
sparse-checkout: | | |
docs | |
scripts | |
- name: Setup python | |
uses: actions/[email protected] | |
with: | |
python-version: 3.x | |
- name: Get pip cache directory | |
id: pip-cache | |
run: | | |
echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT | |
- name: Cache dependencies | |
uses: actions/[email protected] | |
with: | |
path: ${{ steps.pip-cache.outputs.dir }} | |
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} | |
restore-keys: | | |
${{ runner.os }}-pip- | |
- name: Cache d2 database | |
uses: actions/[email protected] | |
with: | |
path: .cache/plugin/d2 | |
key: ${{ runner.os }}-d2 | |
- name: Install d2 | |
run: | | |
mkdir -p /tmp/d2 | |
D2_VERSION=$(curl -s https://api.github.com/repos/terrastruct/d2/releases/latest | awk '/tag_name/{print $4;exit}' FS='[""]') | |
curl -o \ | |
/tmp/d2.tar.gz -L \ | |
"https://github.com/terrastruct/d2/releases/download/${D2_VERSION}/d2-${D2_VERSION}-linux-amd64.tar.gz" | |
tar xzf /tmp/d2.tar.gz -C /tmp/d2 --strip-components=1 | |
cp /tmp/d2/bin/d2 /usr/local/bin | |
- name: Install dependencies | |
run: pip install -r docs/requirements.txt | |
- name: Generate images-by-category.md | |
run: python scripts/generate-images-by-category.py | |
- name: Deploy to GitHub Pages | |
run: mkdocs gh-deploy --force |