made is so I can fire off workflows at will for the gituploader #372
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 Debug and Upload | |
on: push | |
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.12 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.12' | |
- 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/subsystem-manager-uv/requirements.txt | |
- name: Lint with all linters | |
run: | | |
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics | |
mypy --ignore-missing-imports ./Subsystem-Manager/subsystem-manager-uv/*.py | |
bandit -r --severity-level high --exit-zero ./Subsystem-Manager/subsystem-manager-uv/*.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 | |
Git-Subsystem-Manager: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Update Git Version | |
run: | | |
mkdir -p /tmp/artifacts | |
mkdir -p /tmp/artifacts/subsystem_manager | |
cp -r ./Subsystem-Manager/subsystem-manager-uv/* /tmp/artifacts/subsystem_manager | |
- name: 'Upload Artifact' | |
uses: actions/upload-artifact@v4 | |
with: | |
name: subsystem-manager-github-latest | |
path: /tmp/artifacts/* | |
compression-level: 0 | |
Test-Subsystem-Manager-Raw: | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
python: ['3.10'] | |
runs-on: ${{ matrix.os }} | |
needs: Python-Lint-Full | |
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://raw.githubusercontent.com/lunamidori5/Midori-AI/master/Webserver/Programs/Downloader/helper_app.py > helper_app.py | |
- name: Install dependencies | |
run: | | |
pip install aiohttp cryptography requests tqdm uv | |
- name: Midori AI Download Files | |
run: | | |
python3 helper_app.py subsystem_manager_git.zip | |
- name: Unzip Download Files | |
run: | | |
unzip subsystem_manager_git.zip | |
- name: Make EXE file | |
run: | | |
uv run pyinstaller --onefile --clean subsystem_manager.py | |
Test-Subsystem-Manager-Baked: | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
python: ['3.10'] | |
runs-on: ${{ matrix.os }} | |
needs: Python-Lint-Full | |
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: Python-Lint-Full | |
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/subsystem-manager-uv/midori_program_ver.txt /tmp/artifacts | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python }} | |
- name: Install Dependencies (UV) | |
run: | | |
pip install uv | |
- name: Build | |
run: | | |
cd Subsystem-Manager/subsystem-manager-uv | |
uv run pyinstaller --onedir --clean --distpath /tmp/artifacts/${{ matrix.os }}/ --add-data midori_program_ver.txt:. subsystem_manager.py | |
cd ../.. | |
- 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: Github Artifacts | |
run: | | |
cd subsystem-manager-github-latest/subsystem_manager | |
zip -r ../../subsystem_manager_git.zip * | |
cd ../../ | |
cp subsystem_manager_git.zip /tmp/artifacts/subsystem_manager_git.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 |