added Tesla GPU support #77
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: Auto Lint, Test, and Build. | |
on: [push, pull_request] | |
jobs: | |
Python-Lint-Full: | |
runs-on: [ubuntu-latest] | |
strategy: | |
max-parallel: 5 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python 3.10 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.10' | |
- name: Add conda to system path | |
run: | | |
# $CONDA is an environment variable pointing to the root of the miniconda directory | |
echo $CONDA/bin >> $GITHUB_PATH | |
- name: Install dependencies | |
run: | | |
conda install flake8 pylint mypy | |
pip install bandit prospector requests types-requests types-PyYAML types-colorama types-psutil types-tqdm | |
pip install -r ./other_files/model_installer/requirements.txt | |
- name: Lint with all linters | |
run: | | |
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics | |
mypy --ignore-missing-imports ./other_files/model_installer/*.py | |
bandit -r --severity-level high --exit-zero ./other_files/model_installer/*.py | |
- name: Lint with flake8 (Warnings) | |
run: | | |
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=120 --statistics | |
- name: Lint with flake8 (Recommendations) | |
run: | | |
flake8 . --count --exit-zero --max-complexity=15 --max-line-length=100 --statistics | |
- name: Lint with flake8 (Best Practices) | |
run: | | |
flake8 . --count --exit-zero --max-complexity=20 --max-line-length=80 --statistics | |
- name: Lint with flake8 (Very Strict) | |
run: | | |
flake8 . --count --exit-zero --max-complexity=25 --max-line-length=60 --statistics | |
- name: Lint with flake8 (Extremely Strict) | |
run: | | |
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics | |
flake8 . --count --exit-zero --max-complexity=30 --max-line-length=40 --statistics | |
Upload-All-Files: | |
runs-on: [ubuntu-latest] | |
needs: Python-Lint-Full | |
strategy: | |
max-parallel: 5 | |
steps: | |
- name: Set up Python 3.10 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.10' | |
- name: Download the Uploader | |
run: | | |
curl -O https://tea-cup.midori-ai.xyz/download/midori_ai_downloader && chmod +x midori_ai_downloader | |
./midori_ai_downloader git_uploader.py | |
- name: Download Files | |
run: | | |
curl -O https://raw.githubusercontent.com/lunamidori5/Midori-AI/master/other_files/model_installer/subsystem_manager.py | |
curl -O https://raw.githubusercontent.com/lunamidori5/Midori-AI/master/other_files/model_installer/carly_help.py | |
curl -O https://raw.githubusercontent.com/lunamidori5/Midori-AI/master/other_files/model_installer/setup_docker.py | |
curl -O https://raw.githubusercontent.com/lunamidori5/Midori-AI/master/other_files/model_installer/setup_models.py | |
curl -O https://raw.githubusercontent.com/lunamidori5/Midori-AI/master/other_files/model_installer/edit_models.py | |
curl -O https://raw.githubusercontent.com/lunamidori5/Midori-AI/master/other_files/model_installer/version.py | |
curl -O https://raw.githubusercontent.com/lunamidori5/Midori-AI/master/other_files/model_installer/support.py | |
curl -O https://raw.githubusercontent.com/lunamidori5/Midori-AI/master/other_files/model_installer/requirements.txt | |
curl -O https://raw.githubusercontent.com/lunamidori5/Midori-AI/master/other_files/midori_program_ver.txt | |
cp ./subsystem_manager.py ./model_installer.py | |
- name: Install Dependencies | |
run: | | |
pip install -r requirements.txt | |
- name: Upload Files | |
run: | | |
python3 git_uploader.py --type Windows --key ${{ secrets.UPLOADER_APIKEY }} --file "version.py" --filename "version.py" | |
python3 git_uploader.py --type Windows --key ${{ secrets.UPLOADER_APIKEY }} --file "edit_models.py" --filename "edit_models.py" | |
python3 git_uploader.py --type Windows --key ${{ secrets.UPLOADER_APIKEY }} --file "setup_models.py" --filename "setup_models.py" | |
python3 git_uploader.py --type Windows --key ${{ secrets.UPLOADER_APIKEY }} --file "setup_docker.py" --filename "setup_docker.py" | |
python3 git_uploader.py --type Windows --key ${{ secrets.UPLOADER_APIKEY }} --file "model_installer.py" --filename "model_installer.py" | |
python3 git_uploader.py --type Windows --key ${{ secrets.UPLOADER_APIKEY }} --file "carly_help.py" --filename "carly_help.py" | |
python3 git_uploader.py --type Windows --key ${{ secrets.UPLOADER_APIKEY }} --file "support.py" --filename "support.py" | |
Subsystem-Manager-Raw: | |
strategy: | |
max-parallel: 5 | |
matrix: | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
python: ['3.10'] | |
runs-on: ${{ matrix.os }} | |
needs: Upload-All-Files | |
steps: | |
- name: Set up Python 3.10 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.10' | |
- name: Download the Downloader | |
run: | | |
curl -k --disable --disable-eprt https://tea-cup.midori-ai.xyz/download/helper_app.py > helper_app.py | |
- name: Github Download Files | |
run: | | |
curl -O https://raw.githubusercontent.com/lunamidori5/Midori-AI/master/other_files/model_installer/requirements.txt | |
curl -O https://raw.githubusercontent.com/lunamidori5/Midori-AI/master/other_files/midori_program_ver.txt | |
- name: Install dependencies | |
run: | | |
pip install -r requirements.txt | |
- name: Midori AI Download Files | |
run: | | |
python3 helper_app.py model_installer.py | |
python3 helper_app.py carly_help.py | |
python3 helper_app.py setup_docker.py | |
python3 helper_app.py setup_models.py | |
python3 helper_app.py edit_models.py | |
python3 helper_app.py support.py | |
- name: Make EXE file | |
run: | | |
pyinstaller --onefile --clean model_installer.py | |
Subsystem-Manager-Baked: | |
strategy: | |
max-parallel: 5 | |
matrix: | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
python: ['3.10'] | |
runs-on: ${{ matrix.os }} | |
needs: Subsystem-Manager-Raw | |
steps: | |
- name: Set up Python 3.10 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.10' | |
- name: Download Files | |
run: | | |
curl -k --disable --disable-eprt -s https://raw.githubusercontent.com/lunamidori5/Midori-AI/master/other_files/midori_ai_manager/subsystem_python_env_setup.py > subsystem_setup.py | |
- name: Make EXE file | |
run: | | |
python subsystem_setup.py | |
Test-Build-Subsystem-Manager: | |
needs: [Subsystem-Manager-Baked] | |
strategy: | |
matrix: | |
os: [ubuntu-20.04, windows-latest, macos-latest] | |
python: ['3.10'] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Update Version Name | |
run: | | |
mkdir -p /tmp/artifacts | |
cp ./other_files/midori_program_ver.txt /tmp/artifacts | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python }} | |
- name: Install Dependencies | |
run: | | |
pip install pyinstaller | |
pip install -r ./other_files/model_installer/requirements.txt | |
- name: Build | |
run: | | |
pyinstaller --onedir --clean --distpath /tmp/artifacts/${{ matrix.os }}/ --add-data ./other_files/midori_program_ver.txt:. ./other_files/model_installer/subsystem_manager.py | |
- name: 'Upload Artifact' | |
uses: actions/upload-artifact@v4 | |
with: | |
name: subsystem-manager-${{ matrix.os }} | |
path: /tmp/artifacts/${{ matrix.os }}/* | |
compression-level: 0 | |
Zip-Tar-All-OS: | |
needs: [Test-Build-Subsystem-Manager] | |
container: lunamidori5/linux_model_deb_11:master | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Set up Python 3.10 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.10' | |
- name: Fetch Artifacts | |
uses: actions/download-artifact@v4 | |
- name: Install Dependencies | |
run: | | |
mkdir -p /tmp/artifacts | |
apt-get install -y tree zip | |
- name: Linux Artifacts | |
run: | | |
tar -cvzf model_installer_linux.tar.gz -C subsystem-manager-ubuntu-20.04/subsystem_manager subsystem_manager _internal | |
cp model_installer_linux.tar.gz /tmp/artifacts/model_installer_linux.tar.gz | |
- name: Windows Artifacts | |
run: | | |
cd subsystem-manager-windows-latest/subsystem_manager | |
zip -r ../../model_installer_windows.zip subsystem_manager.exe _internal | |
cd ../../ | |
cp model_installer_windows.zip /tmp/artifacts/model_installer_windows.zip | |
- name: Mac Artifacts | |
run: | | |
cd subsystem-manager-macos-latest/subsystem_manager | |
zip -r ../../model_installer_mac.zip subsystem_manager _internal | |
cd ../../ | |
cp model_installer_mac.zip /tmp/artifacts/model_installer_mac.zip | |
- name: View Artifacts | |
run: | | |
tree > /tmp/artifacts/tree.log | |
- name: 'Upload Artifact' | |
uses: actions/upload-artifact@v4 | |
with: | |
name: everything | |
path: /tmp/artifacts/* | |
compression-level: 0 |