From 3750bf9991e99e072290d0470d4e1747c7248320 Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sun, 23 Feb 2025 06:21:16 -0500 Subject: [PATCH 1/3] First draft of CI --- .forgejo/workflows/lint.yaml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 .forgejo/workflows/lint.yaml diff --git a/.forgejo/workflows/lint.yaml b/.forgejo/workflows/lint.yaml new file mode 100644 index 0000000..636830b --- /dev/null +++ b/.forgejo/workflows/lint.yaml @@ -0,0 +1,25 @@ +--- +on: [push] + +name: Lint + +jobs: + lint: + name: MyPy + runs-on: docker + steps: + - name: Checkout + uses: actions/checkout@v4 + # TODO: Replace with working action + - name: Set up Python environment + run: | + curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py + python3 get-pip.py + python3 -m pip install virtualenv + python3 -m virtualenv venv + source venv/bin/activate + pip install -r requirements.txt + - name: Type-check + run: | + source venv/bin/activate + mypy *.py From a4e68e34b0ccfff259d6e2dd622fc8f21cfd814c Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sun, 23 Feb 2025 07:11:58 -0500 Subject: [PATCH 2/3] Try using setup-python --- .forgejo/workflows/lint.yaml | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) diff --git a/.forgejo/workflows/lint.yaml b/.forgejo/workflows/lint.yaml index 636830b..c2d83ae 100644 --- a/.forgejo/workflows/lint.yaml +++ b/.forgejo/workflows/lint.yaml @@ -6,20 +6,16 @@ name: Lint jobs: lint: name: MyPy - runs-on: docker + runs-on: ubuntu-22.04 steps: - - name: Checkout + - name: Checkout the code uses: actions/checkout@v4 - # TODO: Replace with working action - - name: Set up Python environment - run: | - curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py - python3 get-pip.py - python3 -m pip install virtualenv - python3 -m virtualenv venv - source venv/bin/activate - pip install -r requirements.txt - - name: Type-check - run: | - source venv/bin/activate - mypy *.py + - name: Set up the Python toolchain + uses: actions/setup-python@v5 + with: + python-version: "3.13" + cache: pip + - name: Set up the Python environment + run: pip install -r requirements.txt + - name: Type-check the code + run: mypy *.py From 48e6bf5045a6187e838d318b04cb285dd822ac86 Mon Sep 17 00:00:00 2001 From: Michael Bradley Date: Sun, 23 Feb 2025 07:20:52 -0500 Subject: [PATCH 3/3] Fix bad requirements.txt Looks like I accidentally saved all the packages on my machine to it. Oops! --- requirements.txt | 259 +---------------------------------------------- 1 file changed, 5 insertions(+), 254 deletions(-) diff --git a/requirements.txt b/requirements.txt index e95a605..143e9a7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,263 +1,14 @@ -absl-py==2.1.0 -alabaster==1.0.0 -annotated-types==0.7.0 -appdirs==1.4.4 -arandr==0.1.11 -argcomplete==3.5.3 -astor==0.8.1 -asttokens==3.0.0 -astunparse==1.6.3 -attrs==23.2.1.dev0 -autocommand==2.2.2 -Babel==2.15.0 -beautifulsoup4==4.12.3 -black==25.1.0 -bleach==6.2.0 -Brotli==1.1.0 -brotlicffi==1.1.0.0 -bt-dualboot==1.0.1 -btrfsutil==6.13 -build==1.2.2 -CacheControl==0.14.2 -cachetools==5.5.0 -cachy==0.3.0 -cchardet==2.1.7 -certifi==2025.1.31 -cffi==1.17.1 -chardet==5.2.0 -charset-normalizer==3.4.1 -cleo==2.1.0 -click==8.1.8 -colorama==0.4.6 -ConfigArgParse==1.5.5 contourpy==1.3.1 -coverage==7.6.12 -crashtest==0.4.1 -cryptography==44.0.1 -cssselect==1.2.0 cycler==0.12.1 -Cython==3.0.12 -dbus-python==1.3.2 -decorator==5.1.1 -distlib==0.3.9 -docopt==0.6.2 -docutils==0.21.2 -dotty_dict==1.3.1 -dulwich==0.22.7 -editables==0.5 -executing==2.2.0 -fail2ban==1.1.0 -fastjsonschema==2.21.1 -feedparser==6.0.11 -filelock==3.17.0 -findpython==0.6.2 -flatbuffers==25.2.10 fonttools==4.56.0 -freezegun==1.5.1 -fs==2.4.16 -gast==0.6.0 -Genshi==0.7.9 -gmpy2==2.2.1 -google-auth==2.38.0 -google-auth-oauthlib==1.2.1 -google-pasta==0.2.0 -greenlet==3.1.1 -grpcio==1.70.1 -grpcio-tools==1.70.1 -h5py==3.12.1 -halo==0.0.31 -hatchling==1.27.0 -hid==1.0.6 -hjson==3.1.0 -html5lib==1.1 -httplib2==0.22.0 -humanize==4.12.1 -hypothesis==6.125.3 -idna==3.10 -imagecodecs==2024.12.30 -imageio==2.37.0 -imagesize==1.4.1 -importlib_metadata==7.2.1 -inflect==7.5.0 -iniconfig==2.0.0 -installer==0.7.0 -ipython==8.32.0 -jaraco.classes==3.4.0 -jaraco.collections==5.1.0 -jaraco.context==6.0.1 -jaraco.functools==4.1.0 -jaraco.text==4.0.0 -jedi==0.19.2 -jeepney==0.8.0 -Jinja2==3.1.5 -joblib==1.4.2 -jsonschema==4.23.0 -jsonschema-specifications==2024.10.1 -keras==3.4.1 -Keras_Applications==1.0.8 -keyring==25.5.0 -keyrings.alt==5.0.2 -kiwisolver==1.4.5 -lark==1.2.2 -lazy_loader==0.4 -lensfun==0.3.4 -lit==19.1.7.dev0 -lockfile==0.12.2 -log_symbols==0.0.14 -lxml==5.3.1 -lxml_html_clean==0.2.0 -Markdown==3.7 -markdown-it-py==3.0.0 -MarkupSafe==2.1.5 +kiwisolver==1.4.8 matplotlib==3.10.0 -matplotlib-inline==0.1.7 -mdurl==0.1.2 -meson==1.7.0 -milc==1.9.0 -ml_dtypes==0.5.0 -more-itertools==10.5.0 -mpmath==1.3.0 -msgpack==1.0.5 -mutagen==1.47.0 -mypy_extensions==1.0.0 -neovim-remote==2.5.1 -netsnmp-python==1.0a1 -networkx==3.4.2 -nftables==0.1 -notcurses==3.0.13 +mypy==1.15.0 +mypy-extensions==1.0.0 numpy==2.2.3 -oauth2client==4.1.3 -oauthlib==3.2.2 -opt_einsum==3.4.0 -optree==0.13.1 -ordered-set==4.1.0 packaging==24.2 -pandas==2.2.3 -parso==0.8.4 -pathspec==0.12.1 -pbs-installer==2025.2.12 -perf==0.1 -pexpect==4.9.0 -pickleshare==0.7.5 pillow==11.1.0 -pkginfo==1.12.0 -platformdirs==4.3.6 -pluggy==1.5.0 -plumbum==1.9.0 -ply==3.11 -poetry==2.1.1 -poetry-core==2.1.1 -poetry-plugin-export==1.9.0 -pooch==1.8.2 -prompt_toolkit==3.0.50 -protobuf==5.29.2 -psutil==7.0.0 -ptyprocess==0.7.0 -pure_eval==0.2.3 -pyasn1==0.6.0 -pyasn1_modules==0.4.0 -pybind11==2.13.6 -pycairo==1.27.0 -pychm==0.8.6 -pycparser==2.22 -pycryptodome==3.21.0 -pycryptodomex==3.21.0 -pydantic==2.10.6 -pydantic_core==2.27.2 -pydot==3.0.1 -pygit2==1.17.0 -Pygments==2.19.1 -PyGObject==3.50.0 -pyinotify==0.9.6 -pynvim==0.5.2 -PyOpenGL==3.1.7 -pyparsing==3.1.2 -PyPDF2==3.0.1 -pyproject_hooks==1.2.0 -PyQt5==5.15.11 -PyQt5_sip==12.17.0 -pyserial==3.5 -PySide6==6.8.2.1 -pytest==8.3.4 -python-dateutil==2.9.0 -python-magic==0.4.27 -python-mpd2==3.1.1 -python-xlib==0.33 -pytz==2025.1 -pyusb==1.2.1 -pyxdg==0.28 -PyYAML==6.0.2 -qmk==1.1.6 -RapidFuzz==3.12.1 -readability-lxml==0.8.1 -referencing==0.35.1 -Reflector==2023.6.28.0.36.1 -requests==2.32.3 -requests-oauthlib==1.3.1 -requests-toolbelt==1.0.0 -rich==13.9.4 -rofimoji==6.5.0 -rpds-py==0.22.3 -rsa==4.9 -scikit-image==0.25.2 -scikit-learn==1.6.1 -scipy==1.15.2 -scour==0.38.2 -SecretStorage==3.3.3 -setuptools==75.8.0 -sgmllib3k==1.0.0 -shellingham==1.5.4 -shiboken6==6.8.2.1 -shiboken6-generator==6.8.2.1 +pyparsing==3.2.1 +python-dateutil==2.9.0.post0 six==1.17.0 -smbus==1.1 -snowballstemmer==2.2.0 -sortedcontainers==2.4.0 -soupsieve==2.6 -speedtest-cli==2.1.3 -Sphinx==8.1.3 -sphinxcontrib-applehelp==2.0.0 -sphinxcontrib-devhelp==2.0.0 -sphinxcontrib-htmlhelp==2.1.0 -sphinxcontrib-jsmath==1.0.1 -sphinxcontrib-qthelp==2.0.0 -sphinxcontrib-serializinghtml==2.0.0 -spinners==0.0.24 -stack_data==0.6.3 -standard-cgi==3.13.0 -sympy==1.13.3 -systemd-python==235 -TBB==0.2 -tensorboard==2.19.0 -tensorboard_data_server==0.8.0a0 -tensorboard_plugin_wit==1.8.1 -tensorflow_cpu==2.18.0 -termcolor==2.5.0 -threadpoolctl==3.5.0 -tifffile==2025.2.18 -tomli==2.0.1 -tomlkit==0.13.2 -torch==2.6.0 -tqdm==4.67.1 -traitlets==5.14.3 -trash-cli==0.24.5.26 -trove-classifiers==2025.1.15.22 -typeguard==4.4.1 typing_extensions==4.12.2 -uc-micro-py==1.0.3 -ueberzug==18.3.1 -unoconv==0.9.0 -urllib3==2.3.0 -validate-pyproject==0.23.post1.dev0+gf45606b.d20250111 -virtualenv==20.28.0 -wcwidth==0.2.13 -webencodings==0.5.1 -websockets==12.0 -Werkzeug==3.1.3 -wheel==0.45.0 -wrapt==1.16.0 -xattr==0.10.1 -xcffib==1.5.0 -yt-dlp==2025.2.19 -zipp==3.21.0 -zstandard==0.23.0