name: PyTaiko2 on: push: branches: ["main"] pull_request: branches: ["main"] permissions: contents: read jobs: build: strategy: matrix: os: [macos-14, ubuntu-22.04, windows-2022] runs-on: ${{ matrix.os }} steps: - name: Check-out repository uses: actions/checkout@v4 - name: Install uv uses: astral-sh/setup-uv@v4 with: enable-cache: false - name: Setup Python run: uv python install 3.12 - name: Clear UV cache run: | uv cache clean - name: Install Dependencies run: | uv sync --locked - name: Install Nuitka run: | uv add nuitka - name: Clear Build Cache run: | rm -rf ~/.nuitka rm -rf PyTaiko.dist rm -rf PyTaiko.build shell: bash continue-on-error: true - name: Debug - Check file contents run: | echo "=== Contents of libs/song_hash.py ===" cat libs/song_hash.py | head -20 echo "=== Searching for pandas ===" grep -n "pandas" . -r --exclude-dir=.git echo "=== Python files with imports ===" find . -name "*.py" -exec grep -l "import pandas\|from pandas" {} \; - name: Build Executable run: | uv run nuitka --mode=app --remove-output --output-dir=. --include-module=raylib,moviepy,numpy,sounddevice,soundfile,tomlkit --noinclude-setuptools-mode=nofollow --noinclude-IPython-mode=nofollow PyTaiko.py - name: Upload Artifacts uses: actions/upload-artifact@v4 with: name: PyTaiko ${{ runner.os }} Build path: | Graphics/* Sounds/* Videos/* config.toml *.exe *.bin *.app/**/*