diff --git a/.travis.yml b/.travis.yml index fdb97df2ab..411c198aba 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,9 +17,140 @@ install: - export PATH="$PATH:$TRAVIS_BUILD_DIR/avr8-gnu-toolchain-linux_x86_64/bin" before_script: - avr-gcc --version -script: -- make test:all AUTOGEN=false -- bash util/travis_build.sh +jobs: + include: + - stage: run tests + script: make test:all AUTOGEN=false + - stage: build keyboards + - script: make 9key + - script: make alps64 + - script: make amj40 + - script: make amj60 + - script: make amjpad + - script: make atomic + - script: make atreus + - script: make atreus62 + - script: make bananasplit + - script: make bantam44 + - script: make chibios_test + - script: make chibios_test/stm32_f072_onekey + - script: make chibios_test/stm32_f103_onekey + - script: make chibios_test/teensy_lc_onekey + - script: make clueboard_17 + - script: make clueboard_60 + - script: make clueboard_66 + - script: make clueboard_66/rev1 + - script: make clueboard_66/rev2 + - script: make clueboard_66/rev3 + - script: make cluecard + - script: make converter/ibm_terminal + - script: make converter/usb_usb + - script: make deltasplit75 + - script: make deltasplit75/v2 + - script: make dichotemy + - script: make dk60 + - script: make dz60 + - script: make dz87 + - script: make eco + - script: make eco/rev1 + - script: make eco/rev2 + - script: make ergodone + - script: make ergodox_ez + - script: make ergodox_infinity + - script: make felix + - script: make four_banger + - script: make frosty_flake + - script: make gh60 + - script: make gherkin + - script: make gonnerd + - script: make hadron + - script: make hadron/ver0 + - script: make hadron/ver2 + - script: make handwired/CMD60 + - script: make handwired/MS_sculpt_mobile + - script: make handwired/arrow_pad + - script: make handwired/atreus50 + - script: make handwired/fivethirteen + - script: make handwired/frenchdev + - script: make handwired/gamenum + - script: make handwired/kbod + - script: make handwired/magicforce61 + - script: make handwired/magicforce68 + - script: make handwired/minorca + - script: make handwired/numpad20 + - script: make handwired/onekey + - script: make handwired/ortho5x13 + - script: make handwired/pilcrow + - script: make handwired/promethium + - script: make handwired/reddot + - script: make handwired/retro_refit + - script: make handwired/trackpoint + - script: make handwired/traveller + - script: make handwired/woodpad + - script: make hhkb + - script: make infinity60 + - script: make jc65 + - script: make jd40 + - script: make jd45 + - script: make jj40 + - script: make jm60 + - script: make kbd75 + - script: make kc60 + - script: make kinesis + - script: make kinesis/alvicstep + - script: make kinesis/stapelberg + - script: make kitten_paw + - script: make kmac + - script: make lets_split + - script: make lets_split/rev1 + - script: make lets_split/rev2 + - script: make levinson + - script: make levinson/rev1 + - script: make m10a + - script: make maxipad + - script: make mechmini + - script: make mf68 + - script: make minidox + - script: make minidox/rev1 + - script: make mitosis + - script: make miuni32 + - script: make nyquist + - script: make nyquist/rev1 + - script: make obelus + - script: make org60 + - script: make orthodox + - script: make orthodox/rev1 + - script: make pegasushoof + - script: make phantom + - script: make planck + - script: make planck/rev3 + - script: make planck/rev4 + - script: make preonic + - script: make ps2avrGB + - script: make roadkit + - script: make s60_x + - script: make s60_x/default + - script: make s60_x/rgb + - script: make s65_x + - script: make satan + - script: make sixkeyboard + - script: make subatomic + - script: make sweet16 + - script: make tada68 + - script: make tiger_lily + - script: make tomato + - script: make tv44 + - script: make uk78 + - script: make v60_type_r + - script: make vision_division + - script: make viterbi + - script: make viterbi/rev1 + - script: make whitefox + - script: make xd60 + - script: make xd75 + - script: make ymd96 + # - stage: push to qmk.fm + # script: bash util/travis_compiled_push.sh addons: apt: packages: diff --git a/Makefile b/Makefile index 87a3f4993c..cd06f6008e 100644 --- a/Makefile +++ b/Makefile @@ -91,6 +91,11 @@ $(eval $(call NEXT_PATH_ELEMENT)) # endif # endif +define newline + + +endef + define GET_KEYBOARDS All_RULES_MK := $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/rules.mk)) All_RULES_MK += $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/*/rules.mk)) @@ -103,6 +108,7 @@ define GET_KEYBOARDS KEYMAPS_MK += $$(patsubst $(ROOT_DIR)/keyboards/%/rules.mk,%,$$(wildcard $(ROOT_DIR)/keyboards/*/*/*/*/keymaps/*/rules.mk)) KEYBOARDS := $$(sort $$(filter-out $$(KEYMAPS_MK), $$(All_RULES_MK))) + TRAVIS_KEYBOARDS := $$(patsubst %, "- script: make %\n", $$(KEYBOARDS)) endef $(eval $(call GET_KEYBOARDS)) @@ -114,6 +120,10 @@ list-keyboards: echo $(KEYBOARDS) exit 0 +travis-keyboards: + echo $(TRAVIS_KEYBOARDS) + exit 0 + #Compatibility with the old make variables, anything you specify directly on the command line # always overrides the detected folders ifdef keyboard