Generate and publish docs #168
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: Generate and publish docs | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
workflow_dispatch: | |
schedule: | |
- cron: '0 0 * * 3' | |
jobs: | |
docs: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Get repository | |
uses: actions/checkout@v3 | |
- uses: actions/setup-python@v2 | |
with: | |
python-version: 3.11 | |
- name: Install protoplaster with pip | |
run: | | |
pip install . | |
- name: Install tuttest | |
run: | | |
pip install git+https://github.com/antmicro/tuttest | |
- name: Generate docs from yml | |
run: | | |
tuttest README.md example > example.yml | |
protoplaster -t example.yml --generate-docs | |
- name: Generate test report in Renode | |
uses: antmicro/renode-linux-runner-action@main | |
with: | |
shared-dirs: ./ | |
renode-run: | | |
python -m venv .venv | |
source .venv/bin/activate | |
pip install . | |
protoplaster -t example.yml --csv report.csv | |
protoplaster-test-report report.csv -t md | |
devices: | | |
gpio 0 32 | |
i2c 0x3C | |
i2c 0x70 | |
tasks: | | |
${{ github.workspace }}/.github/test_platform/v4l2.yml | |
- name: Generate system report from yml | |
run: | | |
tuttest README.md system-report-example > system-report-example.yml | |
protoplaster-system-report -c system-report-example.yml --sudo | |
- name: Prepare docs template | |
run: | | |
cp -r .github/docs-template docs/ | |
cp README.md docs/source/readme.md | |
cp protoplaster.md docs/source/ | |
cp report.md docs/source/ | |
echo -e "\`\`\`\n$(cat system-report-example.yml)\n\`\`\`" >> docs/source/system-report-example.yml | |
mkdir -p docs/source/_static/system_report | |
unzip report.zip -d docs/source/_static/system_report | |
- name: Build html | |
uses: docker://btdi/sphinx:min | |
with: | |
args: ./.github/scripts/sphinx.sh | |
- name: Build pdf | |
uses: docker://btdi/latex | |
with: | |
args: ./.github/scripts/latex.sh | |
- name: 'Upload artifact: Sphinx HTML and PDF' | |
uses: actions/upload-artifact@v3 | |
with: | |
name: Documentation | |
path: docs/build/html | |
- name: Deploy | |
if: github.ref == 'refs/heads/main' | |
run: | | |
sudo chown -R $(whoami) docs | |
cd docs/build/html | |
touch .nojekyll | |
git init | |
cp ../../../.git/config ./.git/config | |
git add . | |
git config --local user.email "push@gha" | |
git config --local user.name "GHA" | |
git commit -am "update ${{ github.sha }}" | |
git push -u origin +HEAD:gh-pages | |
rm -rf .git |