Add MicroPython Board Comparison Tool - libcst-Based Multi-View Web Explorer with Shareable Links, Multi-Version Support, and CI/CD Testing #187
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: test_stub_quality | |
| on: [ pull_request, workflow_dispatch] # Not on push to avoid wasting 15 mins CPU | |
| env: | |
| # Setting an environment variable with the value of a configuration variable | |
| SNIPPET_SCORE: ${{ vars.SNIPPET_SCORE }} | |
| GH_TOKEN_VARS: ${{ secrets.GH_TOKEN_VARS }} | |
| # fix: DeprecationWarning: Jupyter is migrating its paths to use standard platformdirs | |
| JUPYTER_PLATFORM_DIRS: "1" | |
| jobs: | |
| test_snippets: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| #---------------------------------------------- | |
| - name: Install the latest version of uv | |
| uses: astral-sh/setup-uv@v6 | |
| with: | |
| # Note: https://github.com/marketplace/actions/astral-sh-setup-uv#activate-environment | |
| activate-environment: true | |
| - name: Install poetry # poetry is not in the default image | |
| run: uv tool install poetry | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.11" # Replace with the Python version you're using | |
| - name: Install Python dependencies | |
| working-directory: ${{github.workspace}} | |
| run: | | |
| uv pip install -U -r pyproject.toml --extra stubber --extra test | |
| #---------------------------------------------- | |
| # stubber clone | |
| # repos needed for tests | |
| #---------------------------------------------- | |
| - name: stubber clone | |
| run: | | |
| stubber clone | |
| # - name: update the stubs (not pushed) | |
| # continue-on-error: true | |
| # run: | | |
| # source .venv/bin/activate | |
| # pwsh -file ./update-stubs.ps1 | |
| - name: Test the snippets | |
| continue-on-error: true | |
| run: | | |
| pytest -m 'snippets' --cache-clear --junitxml=./results/results.xml | |
| - name: compare and update | |
| run: | | |
| python .github/workflows/compare_score.py |