CI: Add workflow for CLI testing (#7357)
Create GitHub Actions cli test workflow and remove travis runs of 'qmk pytest'
This commit is contained in:
committed by
Florian Didron
parent
ce9397836b
commit
f7dbbf006a
28
.github/workflows/cli.yml
vendored
Normal file
28
.github/workflows/cli.yml
vendored
Normal file
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user