Load device modules #81
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 from yml | |
# run: | | |
# protoplaster -t example.yml --csv report.csv | |
# protoplaster-test-report report.csv -t md | |
- name: Generate test report in Renode | |
uses: antmicro/renode-linux-runner-action@v1 | |
with: | |
board: custom | |
resc: /home/runner/work/protoplaster/protoplaster/protoplaster/test_platform/init.resc | |
repl: /home/runner/work/protoplaster/protoplaster/protoplaster/test_platform/platform.repl | |
arch: riscv64 | |
kernel: /home/runner/work/protoplaster/protoplaster/protoplaster/test_platform/kernel-riscv64-hifive_unleashed_virtio.tar.xz | |
image-type: native | |
image: /home/runner/work/protoplaster/protoplaster/protoplaster/test_platform/image-riscv64-default.tar.xz | |
shared-dirs: ./ | |
renode-run: | | |
mkdir host_dir | |
mount /dev/vdb host_dir | |
ls host_dir | |
python -m venv .venv | |
source .venv/bin/activate | |
pip install . | |
protoplaster -t example.yml --csv report.csv | |
protoplaster-test-report report.csv -t md | |
cp report.md host_dir/report.md | |
cp report.csv host_dir/report.csv | |
devices: | | |
vivid | |
gpio 0 32 | |
i2c 0x3C | |
tasks: | | |
/home/runner/work/protoplaster/protoplaster/protoplaster/test_platform/renode_network.yml | |
- name: Read report from image | |
run: | | |
mkdir guest_out | |
sudo mount protoplaster/test_platform/drive.img guest_out | |
ls guest_out | |
cp guest_out/report.md report.md | |
- 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 |