Add Python 3.13 Compatibility #3366
This file contains 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: maincheck | |
on: | |
push: | |
branches: | |
- master | |
- '*CI*' | |
pull_request: | |
branches: | |
- '*' | |
jobs: | |
run_tests: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: ["3.10", "3.11", "3.12", "3.13"] # "3.10" must be in quotes to not have it eval to 3.1 | |
steps: | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- uses: actions/checkout@v2 | |
- name: Install Ubuntu dependencies | |
run: ./.github/scripts/install_ubuntu_deps.sh | |
- name: Setup Lilypond | |
run: python -c 'from music21 import environment; environment.UserSettings()["lilypondPath"] = "/home/runner/bin/lilypond"' | |
- name: Run Main Test script | |
run: python -c 'from music21.test.testSingleCoreAll import ciMain as ci; ci()' | |
- name: Coveralls | |
if: ${{ matrix.python-version == '3.12' }} | |
env: # when changing number above also change coverageM21.getCoverage | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
COVERALLS_SERVICE_NAME: github | |
run: coveralls | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.11' | |
cache: 'pip' | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install wheel | |
pip install -r requirements.txt | |
pip install -r requirements_dev.txt | |
- name: Install music21 in editable mode | |
run: | | |
python -m pip install -e . | |
- name: Lint with pylint | |
run: | | |
pylint -j0 music21 | |
pylint -j0 documentation | |
flake: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.11' | |
cache: 'pip' | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install wheel | |
pip install -r requirements.txt | |
pip install -r requirements_dev.txt | |
- name: PEP8 with flake8 | |
run: | | |
flake8 music21 | |
flake8 documentation | |
mypy: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v1 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.11' | |
cache: 'pip' | |
- name: Install dependencies | |
run: | | |
pip install wheel | |
python -m pip install -r requirements.txt | |
python -m pip install -r requirements_dev.txt | |
- name: Type-check all modules with mypy | |
run: | | |
mypy music21 |