From db0b8cb9a0b7814614d0f29ec798535301876e1d Mon Sep 17 00:00:00 2001 From: Mikkel Jeppesen <2756925+Duckle29@users.noreply.github.com> Date: Mon, 17 Feb 2020 18:12:43 +0100 Subject: [PATCH] Added workflow to test qmk cli setup on OSX, Linux and MSYS2 --- .github/workflows/cli_setup.yml | 76 +++++++++++++++++++++++++++++++++ qmk_cli/subcommands/setup.py | 2 +- quantum/setup_msys.sh | 15 +++++++ 3 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/cli_setup.yml create mode 100644 quantum/setup_msys.sh diff --git a/.github/workflows/cli_setup.yml b/.github/workflows/cli_setup.yml new file mode 100644 index 0000000..c0c5972 --- /dev/null +++ b/.github/workflows/cli_setup.yml @@ -0,0 +1,76 @@ +name: CLI Setup + +on: + push: + branches: + - master + pull_request: + paths: + - 'qmk_cli/**' + - 'milc.py' + - 'qmk' + - 'requirements.txt' + - '.github/workflows/setup_and_doctor.yml' + - 'setup.cfg' + - 'setup.py' + +jobs: + test_cli_nix: + runs-on: ${{ matrix.os }} + env: + QMK_HOME: ~/qmk_firmware + strategy: + matrix: + os: [macos-latest, ubuntu-latest] + python-version: [3.5, 3.6, 3.7, 3.8] + + steps: + - uses: actions/checkout@v1 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v1 + with: + python-version: ${{ matrix.python-version }} + + - name: Install python dependencies + run: | + python -m pip install wheel + echo "::add-path::$HOME/.local/bin" + + - name: Install QMK CLI from source + run: | + python3 -m pip install -r requirements.txt + python setup.py sdist bdist_wheel + cd .. + python3 -m pip install --force-reinstall --no-index --no-deps --prefix=~/.local --find-links qmk_cli/dist qmk + + - name: Run qmk setup -y + run: qmk setup -y + + test_cli_win: + runs-on: windows-latest + strategy: + matrix: + python-version: [3.5, 3.8] + + steps: + - uses: actions/checkout@v1 + + - name: Set up MSYS2 + uses: qmk/setup-msys2@v1 + with: + update: true + + - name: (MSYS2) Install git and python3 + run: msys2do pacman -S git python3-pip --noconfirm + + - name: (MSYS2) Upgrade pip and setuptools and install wheel + run: | + msys2do python3 -m pip install --upgrade pip setuptools + msys2do python3 -m pip install wheel + + - name: (MSYS2) Install QMK CLI from source + run: msys2do quantum/setup_msys.sh $(cygpath "${{ github.workspace }}") + + - name: (MSYS2) Run qmk setup -y + run: msys2do qmk setup -y diff --git a/qmk_cli/subcommands/setup.py b/qmk_cli/subcommands/setup.py index c217645..d17b470 100644 --- a/qmk_cli/subcommands/setup.py +++ b/qmk_cli/subcommands/setup.py @@ -35,7 +35,7 @@ def setup(cli): # Run `qmk_firmware/bin/qmk doctor` to check the rest of the environment out if qmk_firmware.exists(): qmk_bin = qmk_firmware / 'bin' / 'qmk' - doctor = subprocess.run([sys.executable, qmk_bin, 'doctor']) + doctor = subprocess.run([sys.executable, str(qmk_bin), 'doctor']) if doctor.returncode != 0: cli.log.error('Your build environment is not setup completely.') diff --git a/quantum/setup_msys.sh b/quantum/setup_msys.sh new file mode 100644 index 0000000..a2c77dc --- /dev/null +++ b/quantum/setup_msys.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +cp -r $1 ~/qmk_cli + +export PATH=~/.local/bin:$PATH +echo "PATH=$PATH" >> ~/.bashrc + +export QMK_HOME=~/qmk_firmware +export CLI_DIR=~/qmk_cli + +cd $CLI_DIR +python3 -m pip install -r requirements.txt +python3 setup.py sdist bdist_wheel +cd ~ +python3 -m pip install --force-reinstall --no-index --no-deps --prefix=~/.local --find-links qmk_cli/dist qmk