Skip to content

Add MicroPython Board Comparison Tool - libcst-Based Multi-View Web Explorer with Shareable Links, Multi-Version Support, and CI/CD Testing #187

Add MicroPython Board Comparison Tool - libcst-Based Multi-View Web Explorer with Shareable Links, Multi-Version Support, and CI/CD Testing

Add MicroPython Board Comparison Tool - libcst-Based Multi-View Web Explorer with Shareable Links, Multi-Version Support, and CI/CD Testing #187

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