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():
|
def test_doctor():
|
||||||
result = check_subcommand('doctor')
|
result = check_subcommand('doctor', '-n')
|
||||||
assert result.returncode == 0
|
assert result.returncode == 0
|
||||||
assert 'QMK Doctor is checking your environment.' in result.stderr
|
assert 'QMK Doctor is checking your environment.' in result.stderr
|
||||||
assert 'QMK is ready to go' 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_MESSAGE="${TRAVIS_COMMIT_MESSAGE:-none}"
|
||||||
TRAVIS_COMMIT_RANGE="${TRAVIS_COMMIT_RANGE:-HEAD~1..HEAD}"
|
TRAVIS_COMMIT_RANGE="${TRAVIS_COMMIT_RANGE:-HEAD~1..HEAD}"
|
||||||
|
|
||||||
# test force push
|
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)')
|
||||||
#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)
|
|
||||||
|
|
||||||
if [[ "$TRAVIS_COMMIT_MESSAGE" == *"[skip test]"* ]]; then
|
if [[ "$TRAVIS_COMMIT_MESSAGE" == *"[skip test]"* ]]; then
|
||||||
echo "Skipping due to commit message"
|
echo "Skipping due to commit message"
|
||||||
@@ -19,11 +15,4 @@ if [ "$BRANCH" != "master" ] && [ "$NUM_IMPACTING_CHANGES" == "0" ]; then
|
|||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# if docker is installed - call make within the qmk docker image
|
exit $exit_code
|
||||||
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
|
|
||||||
|
|||||||
Reference in New Issue
Block a user