summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Challis <git@zvecr.com>2020-02-08 12:43:55 +0000
committerFlorian Didron <fdidron@users.noreply.github.com>2020-02-26 10:15:12 +0900
commitf7dbbf006ae349374122e4823897be04c08fc4a8 (patch)
tree67635c3e81eaafe21c1d767f739b28f66e5b6505
parentce9397836b053924081336583f96524af50e5348 (diff)
CI: Add workflow for CLI testing (#7357)
Create GitHub Actions cli test workflow and remove travis runs of 'qmk pytest'
-rw-r--r--.github/workflows/cli.yml28
-rw-r--r--lib/python/qmk/tests/test_cli_commands.py2
-rw-r--r--util/travis_test.sh15
3 files changed, 31 insertions, 14 deletions
diff --git a/.github/workflows/cli.yml b/.github/workflows/cli.yml
new file mode 100644
index 0000000000..2755812735
--- /dev/null
+++ b/.github/workflows/cli.yml
@@ -0,0 +1,28 @@
+name: CLI CI
+
+on:
+ push:
+ branches:
+ - master
+ - future
+ pull_request:
+ paths:
+ - 'lib/python/**'
+ - 'bin/qmk'
+ - 'requirements.txt'
+ - '.github/workflows/cli.yml'
+
+jobs:
+ test:
+ runs-on: ubuntu-latest
+
+ container: qmkfm/base_container
+
+ steps:
+ - uses: actions/checkout@v1
+ with:
+ submodules: recursive
+ - name: Install dependencies
+ run: pip3 install -r requirements.txt
+ - name: Run tests
+ run: bin/qmk pytest
diff --git a/lib/python/qmk/tests/test_cli_commands.py b/lib/python/qmk/tests/test_cli_commands.py
index 3f75cef3e1..f1a92d9a31 100644
--- a/lib/python/qmk/tests/test_cli_commands.py
+++ b/lib/python/qmk/tests/test_cli_commands.py
@@ -30,7 +30,7 @@ def test_kle2json():
def test_doctor():
- result = check_subcommand('doctor')
+ result = check_subcommand('doctor', '-n')
assert result.returncode == 0
assert 'QMK Doctor is checking your environment.' in result.stderr
assert 'QMK is ready to go' in result.stderr
diff --git a/util/travis_test.sh b/util/travis_test.sh
index e6a50ac165..87a01ba407 100644
--- a/util/travis_test.sh
+++ b/util/travis_test.sh
@@ -3,11 +3,7 @@
TRAVIS_COMMIT_MESSAGE="${TRAVIS_COMMIT_MESSAGE:-none}"
TRAVIS_COMMIT_RANGE="${TRAVIS_COMMIT_RANGE:-HEAD~1..HEAD}"
-# test force push
-#TRAVIS_COMMIT_RANGE="c287f1bfc5c8...81f62atc4c1d"
-
-NUM_IMPACTING_CHANGES=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -Ecv '^(docs/)')
-BRANCH=$(git rev-parse --abbrev-ref HEAD)
+NUM_CORE_CHANGES=$(echo "$QMK_CHANGES" | grep -Ecv -e '^(docs/)' -e '^(keyboards/)' -e '^(layouts/)' -e '^(util/)' -e '^(lib/python/)' -e '^(bin/qmk)' -e '^(requirements.txt)' -e '(.travis.yml)')
if [[ "$TRAVIS_COMMIT_MESSAGE" == *"[skip test]"* ]]; then
echo "Skipping due to commit message"
@@ -19,11 +15,4 @@ if [ "$BRANCH" != "master" ] && [ "$NUM_IMPACTING_CHANGES" == "0" ]; then
exit 0
fi
-# if docker is installed - call make within the qmk docker image
-if command -v docker >/dev/null; then
- function make() {
- docker run --rm -e MAKEFLAGS="$MAKEFLAGS" -w /qmk_firmware/ -v "$PWD":/qmk_firmware --user $(id -u):$(id -g) qmkfm/base_container make "$@"
- }
-fi
-
-make test:all
+exit $exit_code