---
    name: CI / cd . / make spell_check
    
    on:
      push:
        branches: [main]
      pull_request:
        branches: [main]
    
    permissions:
      contents: read
    
    jobs:
      codespell:
        name: (Check for spelling errors)
        runs-on: ubuntu-latest
    
        steps:
          - name: Checkout
            uses: actions/checkout@v4
    
          - name: Install Dependencies
            run: |
              pip install toml codespell jupytext
    
          - name: Extract Ignore Words List
            run: |
              # Use a Python script to extract the ignore words list from pyproject.toml
              python .github/workflows/extract_ignored_words_list.py
            id: extract_ignore_words
    
          - name: Codespell
            uses: codespell-project/actions-codespell@v2
            with:
              skip: '*.ambr,*.lock,*.ipynb'
              ignore_words_list: ${{ steps.extract_ignore_words.outputs.ignore_words_list }}
          # We do this to avoid spellchecking cell outputs
          - name: Codespell Notebooks
            run: make codespell