Skip to content

fix(iocp): fix Windows IPC crash, stale completions, and apply semantics #312

fix(iocp): fix Windows IPC crash, stale completions, and apply semantics

fix(iocp): fix Windows IPC crash, stale completions, and apply semantics #312

name: Documentation
on:
push:
branches: [ master ]
paths:
- 'docs/**'
workflow_dispatch:
permissions:
contents: read
pages: write
id-token: write
jobs:
docs:
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: 3.x
- name: Install MkDocs
run: |
pip install mkdocs-material
pip install mkdocs-git-revision-date-plugin
- name: Build documentation
run: |
cd docs
mkdocs build
cd ..
mv docs/site .
cp docs/CNAME site/
cp docs/.nojekyll site/
- name: Create Directories for Reports
run: |
mkdir -p site/tests_report
- name: Run Tests
run: |
make clean
make tests | grep -v "gcc" | sed 's/\x1b\[[0-9;]*m//g' | tee test_output.txt
- name: Convert Test Output to HTML
run: |
set +e
# Extract total tests from the correct line
total_tests=$(grep "Total tests:" test_output.txt | grep -oE '[0-9]+')
echo "Extracted total tests: $total_tests"
{
echo '<html><head>'
echo '<style>'
echo ' body { font-family: Arial, sans-serif; margin: 20px; }'
echo ' table { border-collapse: collapse; width: 100%; margin-top: 20px; }'
echo ' th, td { border: 1px solid #ddd; padding: 8px; text-align: left; }'
echo ' th { background-color: #f5f5f5; }'
echo ' .passed { color: #28a745; font-weight: bold; }'
echo ' .failed { color: #dc3545; font-weight: bold; }'
echo ' .test-name { font-family: monospace; }'
echo '</style>'
echo '</head>'
echo '<body>'
echo '<h1>Test Report</h1>'
echo "<h2>Total Tests: $total_tests</h2>"
echo '<table>'
echo ' <tr>'
echo ' <th>Test Name</th>'
echo ' <th>Status</th>'
echo ' </tr>'
} > site/tests_report/index.html
grep -E "Running test_.* \.\.\. (Passed|Failed)" test_output.txt | while read -r line; do
if [[ $line =~ Running\ (test_[^ ]+)\ \.\.\.\ (Passed|Failed) ]]; then
test_name="${BASH_REMATCH[1]}"
status="${BASH_REMATCH[2]}"
if [[ $status == "Passed" ]]; then
echo "<tr><td class='test-name'>${test_name}</td><td><span class='passed'>✓ Passed</span></td></tr>" >> site/tests_report/index.html
else
echo "<tr><td class='test-name'>${test_name}</td><td><span class='failed'>✗ Failed</span></td></tr>" >> site/tests_report/index.html
fi
fi
done
echo '</table></body></html>' >> site/tests_report/index.html
- name: Setup Pages
uses: actions/configure-pages@v4
with:
enablement: true
token: ${{ secrets.GITHUB_TOKEN }}
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./site
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
branch: gh-pages
folder: site