Update README.md #5
This file contains hidden or 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: Run Tests | |
| on: | |
| push: | |
| branches: [main, master] | |
| pull_request: | |
| branches: [main, master] | |
| workflow_dispatch: | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Install Poetry | |
| uses: snok/install-poetry@v1 | |
| - name: Install dependencies | |
| run: poetry install --with dev | |
| - name: Create test results directory | |
| run: mkdir -p test-results | |
| - name: Run tests with coverage and generate HTML report | |
| run: poetry run pytest --cov=mathmodel --cov-report=term --html=test-results/report.html --self-contained-html | |
| - name: Upload test results as artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: test-results | |
| path: test-results | |
| overwrite: true | |
| - name: Upload coverage as artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: coverage-report | |
| path: htmlcov | |
| if-no-files-found: ignore | |
| overwrite: true | |
| publish: | |
| needs: test | |
| runs-on: ubuntu-latest | |
| if: github.ref == 'refs/heads/main' || github.ref == 'refs/heads/master' | |
| steps: | |
| - name: Download test results artifact | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: test-results | |
| path: test-results | |
| - name: Rename report.html to index.html | |
| run: | | |
| if [ -f "test-results/report.html" ]; then | |
| mv test-results/report.html test-results/index.html | |
| fi | |
| - name: Setup Pages | |
| uses: actions/configure-pages@v5 | |
| - name: Upload Pages artifact | |
| uses: actions/upload-pages-artifact@v3 | |
| with: | |
| path: test-results | |
| - name: Deploy to GitHub Pages | |
| id: deployment | |
| uses: actions/deploy-pages@v4 | |
| permissions: | |
| contents: read | |
| pages: write | |
| id-token: write |