Skip to content

fixes actions hopefully #351

fixes actions hopefully

fixes actions hopefully #351

name: Auto Lint, Test, and Build on Push
on:
push:
branches:
- master
jobs:
Python-Lint-Full:
runs-on: [ubuntu-latest]
strategy:
max-parallel: 5
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- 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 ./Subsystem-Manager/model_installer/requirements.txt
- name: Lint with all linters
run: |
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
mypy --ignore-missing-imports ./Subsystem-Manager/model_installer/*.py
bandit -r --severity-level high --exit-zero ./Subsystem-Manager/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-Subsystem-Manager/master/model_installer/subsystem_manager.py
curl -O https://raw.githubusercontent.com/lunamidori5/Midori-AI-Subsystem-Manager/master/model_installer/carly_help.py
curl -O https://raw.githubusercontent.com/lunamidori5/Midori-AI-Subsystem-Manager/master/model_installer/setup_docker.py
curl -O https://raw.githubusercontent.com/lunamidori5/Midori-AI-Subsystem-Manager/master/model_installer/setup_models.py
curl -O https://raw.githubusercontent.com/lunamidori5/Midori-AI-Subsystem-Manager/master/model_installer/edit_models.py
curl -O https://raw.githubusercontent.com/lunamidori5/Midori-AI-Subsystem-Manager/master/model_installer/version.py
curl -O https://raw.githubusercontent.com/lunamidori5/Midori-AI-Subsystem-Manager/master/model_installer/support.py
curl -O https://raw.githubusercontent.com/lunamidori5/Midori-AI-Subsystem-Manager/master/model_installer/requirements.txt
curl -O https://raw.githubusercontent.com/lunamidori5/Midori-AI-Subsystem-Manager/master/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 --username "${{ secrets.MIDORI_AI_USERNAME }}" --password "${{ secrets.MIDORI_AI_PASSWORD }}" --twoflogin "${{ secrets.MIDORI_AI_TFA }}" --file "version.py" --filename "version.py"
python3 git_uploader.py --type Windows --username "${{ secrets.MIDORI_AI_USERNAME }}" --password "${{ secrets.MIDORI_AI_PASSWORD }}" --twoflogin "${{ secrets.MIDORI_AI_TFA }}" --file "edit_models.py" --filename "edit_models.py"
python3 git_uploader.py --type Windows --username "${{ secrets.MIDORI_AI_USERNAME }}" --password "${{ secrets.MIDORI_AI_PASSWORD }}" --twoflogin "${{ secrets.MIDORI_AI_TFA }}" --file "setup_models.py" --filename "setup_models.py"
python3 git_uploader.py --type Windows --username "${{ secrets.MIDORI_AI_USERNAME }}" --password "${{ secrets.MIDORI_AI_PASSWORD }}" --twoflogin "${{ secrets.MIDORI_AI_TFA }}" --file "setup_docker.py" --filename "setup_docker.py"
python3 git_uploader.py --type Windows --username "${{ secrets.MIDORI_AI_USERNAME }}" --password "${{ secrets.MIDORI_AI_PASSWORD }}" --twoflogin "${{ secrets.MIDORI_AI_TFA }}" --file "model_installer.py" --filename "model_installer.py"
python3 git_uploader.py --type Windows --username "${{ secrets.MIDORI_AI_USERNAME }}" --password "${{ secrets.MIDORI_AI_PASSWORD }}" --twoflogin "${{ secrets.MIDORI_AI_TFA }}" --file "carly_help.py" --filename "carly_help.py"
python3 git_uploader.py --type Windows --username "${{ secrets.MIDORI_AI_USERNAME }}" --password "${{ secrets.MIDORI_AI_PASSWORD }}" --twoflogin "${{ secrets.MIDORI_AI_TFA }}" --file "support.py" --filename "support.py"
python3 git_uploader.py --type Windows --username "${{ secrets.MIDORI_AI_USERNAME }}" --password "${{ secrets.MIDORI_AI_PASSWORD }}" --twoflogin "${{ secrets.MIDORI_AI_TFA }}" --file "requirements.txt" --filename "midori_program_requirments.txt"
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-Subsystem-Manager/master/model_installer/requirements.txt
curl -O https://raw.githubusercontent.com/lunamidori5/Midori-AI-Subsystem-Manager/master/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: Upload-All-Files
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-Subsystem-Manager/master/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
with:
submodules: recursive
- name: Update Version Name
run: |
mkdir -p /tmp/artifacts
cp ./Subsystem-Manager/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 ./Subsystem-Manager/model_installer/requirements.txt
- name: Build
run: |
pyinstaller --onedir --clean --distpath /tmp/artifacts/${{ matrix.os }}/ --add-data ./Subsystem-Manager/midori_program_ver.txt:. ./Subsystem-Manager/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