name: PyTaiko on: push: branches: ["main"] pull_request: branches: ["main"] permissions: contents: read jobs: build: strategy: matrix: os: [macos-latest, ubuntu-latest, windows-latest] runs-on: ${{ matrix.os }} steps: - name: Check-out repository uses: actions/checkout@v4 - name: Setup Python uses: actions/setup-python@v5 with: python-version: "3.11" # Version range or exact version of a Python version to use, using SemVer's version range syntax architecture: "x64" # optional x64 or x86. Defaults to x64 if not specified cache: "pip" cache-dependency-path: | **/requirements*.txt - name: Install Dependencies run: | pip install -r requirements.txt - name: Build Executable uses: Nuitka/Nuitka-Action@main with: nuitka-version: main script-name: main.py mode: app include-module: raylib,moviepy,numpy,scipy,sounddevice options: >- --enable-plugin=numpy --follow-imports --assume-yes-for-downloads --disable-console --include-package=imageio_ffmpeg --include-data-files=./**/*.dll=. --include-data-dir=${pythonLocation}/lib/python*/site-packages/imageio_ffmpeg/binaries=imageio_ffmpeg/binaries --prefer-source-code --skip-module=cffi.model - name: Upload Artifacts uses: actions/upload-artifact@v4 with: name: PyTaiko ${{ runner.os }} Build path: | Graphics/* Sounds/* Videos/* *.exe *.bin *.app/**/*