Skip to content

Separate json logs and report tool #138

Separate json logs and report tool

Separate json logs and report tool #138

Workflow file for this run

name: Unit Tests
on:
push:
pull_request:
workflow_dispatch:
jobs:
unit-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v3
with:
python-version: '3.x'
- name: Install pip
run: |
python -m pip install --upgrade pip
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y tcl tcllib expect ruby ruby-dev build-essential
pip install pyyaml
gem install --user-install asciidoctor-pdf
gem install --user-install rouge
echo "PATH=$PATH:$(ruby -e 'puts Gem.user_dir')/bin" >> $GITHUB_ENV
- name: Run Self Tests
run: make check
- name: Run Unit Tests
run: make test
- name: Pretty Print JSON Results
run: |
echo "## Test Results JSON" >> $GITHUB_STEP_SUMMARY
echo '```json' >> $GITHUB_STEP_SUMMARY
python3 -m json.tool ~/.local/share/9pm/logs/last/result.json >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
- name: Generate Reports from JSON
run: python3 report.py ~/.local/share/9pm/logs/last/result.json all -o ~/.local/share/9pm/logs/last/
- name: Publish GitHub Test Result
run: cat ~/.local/share/9pm/logs/last/result-gh.md >> $GITHUB_STEP_SUMMARY
- name: Generate PDF Report
run: make report
- name: Upload Logs as Artifacts
uses: actions/upload-artifact@v4
with:
name: 9pm-logs
path: ~/.local/share/9pm/logs
- name: Upload Test Report as Artifact
uses: actions/upload-artifact@v4
with:
name: test-report
path: ~/.local/share/9pm/logs/last/report.pdf