name: CLI Setup on: push: branches: - master pull_request: jobs: test_cli_base_container: runs-on: ubuntu-latest container: ghcr.io/qmk/qmk_base_container env: QMK_HOME: ~/qmk_firmware steps: - uses: actions/checkout@v4 - name: Install dependencies run: apt-get update && apt-get install -y python3-venv - name: Run ci_tests run: ./ci_tests -a test_cli_linux_macos: needs: test_cli_base_container runs-on: ${{ matrix.os }} env: QMK_HOME: ~/qmk_firmware strategy: matrix: os: [macos-latest, ubuntu-latest] python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12'] steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Run ci_tests run: ./ci_tests -a test_cli_win: needs: test_cli_base_container runs-on: windows-latest env: QMK_HOME: $HOME/qmk_firmware steps: - uses: actions/checkout@v4 - name: (MSYS2) Setup and install dependencies uses: msys2/setup-msys2@v2 with: update: true install: git mingw-w64-x86_64-toolchain mingw-w64-x86_64-python-pip mingw-w64-x86_64-python-pillow mingw-w64-x86_64-rust - name: (MSYS2) Install Python dependencies shell: msys2 {0} run: | python3 -m pip install -U setuptools wheel - name: (MSYS2) Install QMK CLI from source shell: msys2 {0} run: | python3 -m pip install -U build python3 -m build python3 -m pip install dist/qmk-*.tar.gz - name: (MSYS2) Run qmk setup -y shell: msys2 {0} run: qmk setup -y