]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
Remove AUTOGEN and fix Travis Compiled Push scripts (#5077)
authorDrashna Jaelre <drashna@live.com>
Wed, 13 Feb 2019 00:46:04 +0000 (16:46 -0800)
committerGitHub <noreply@github.com>
Wed, 13 Feb 2019 00:46:04 +0000 (16:46 -0800)
* Grab HEX and BIN files from autogen

And push them to qmk.fm/compiled

* Make autogen copy extension agnostic

This way, when travis cl scrpit looks for hex files, it will actually grab bin files, and not hex files for ARM boards

* Handle the AUTOGEN in :bin target to properly handle edge cases

Both the TADA68 and ATSAM boards generate the hex file and then convert it to a bin file. The changes I made does not handle this well, at all.  This removes the hex and replaces it with a bin, if a bin is normally generated.

* Revert hex target to original copy command

* Check hex and bin separately in compile push script

Since I don't know how to script this, well

* Simplify push to compiled folder

* Further simplify compiled push script

* Move AUTOGEN parsing to a more sane location to prevent tech debt

Thanks to skully!

* Remove AUTOGEN completely, as it's not needed

This has the benefit of making everything super simple, since we can pull every hex and bin from the root of the qmk_firmware folder, and move that to th compiled folder.  This also removes old and unneeded code, and removes some tech debt that has been accrued, without adding more, in theory.

.travis.yml
tmk_core/rules.mk
util/travis_build.sh
util/travis_compiled_push.sh

index 6cfc9e067ec88a38c8d946fdedf03e644c9d93af..41a1019978ad1a9b2b59c8a32ce4456568a7a37c 100644 (file)
@@ -20,7 +20,7 @@ before_script:
   - avr-gcc --version
 script:
 - git rev-parse --short HEAD
-- make test:all AUTOGEN=false
+- make test:all
 - bash util/travis_build.sh
 - bash util/travis_docs.sh
 addons:
index 2e419dd667d4fc82bf2fc72c79d4b1fb5b27ac83..c43f14292aaf39e26d044b65ebea308c9fcaed82 100644 (file)
@@ -48,9 +48,6 @@ FORMAT = ihex
 #     (Note: 3 is not always the best optimization level. See avr-libc FAQ.)
 OPT = s
 
-AUTOGEN ?= false
-
-
 # Compiler flag to set the C Standard level.
 #     c89   = "ANSI" C
 #     gnu89 = c89 plus GCC extensions
@@ -142,7 +139,7 @@ CPPFLAGS += -Wa,-adhlns=$(@:%.o=%.lst)
 #             files -- see avr-libc docs [FIXME: not yet described there]
 #  -listing-cont-lines: Sets the maximum number of continuation lines of hex
 #       dump that will be displayed for a given single line of source input.
-ASFLAGS += $(ADEFS) 
+ASFLAGS += $(ADEFS)
 ifndef SKIP_DEBUG_INFO
   ASFLAGS += -Wa,-adhlns=$(@:%.o=%.lst),-gstabs,--listing-cont-lines=100
 else
@@ -260,10 +257,6 @@ gccversion :
        @$(SILENT) || printf "$(MSG_FLASH) $@" | $(AWK_CMD)
        $(eval CMD=$(HEX) $< $@)
        @$(BUILD_CMD)
-       @if $(AUTOGEN); then \
-               $(SILENT) || printf "Copying $(TARGET).hex to keymaps/$(KEYMAP)/$(TARGET).hex\n"; \
-               $(COPY) $@ $(KEYMAP_PATH)/$(TARGET).hex; \
-       fi
 
 %.eep: %.elf
        @$(SILENT) || printf "$(MSG_EEPROM) $@" | $(AWK_CMD)
@@ -297,7 +290,7 @@ BEGIN = gccversion sizebefore
        @$(SILENT) || printf "$(MSG_LINKING) $@" | $(AWK_CMD)
        $(eval CMD=$(CC) $(ALL_CFLAGS) $(filter-out %.txt,$^) --output $@ $(LDFLAGS))
        @$(BUILD_CMD)
-       
+
 
 define GEN_OBJRULE
 $1_INCFLAGS := $$(patsubst %,-I%,$$($1_INC))
@@ -371,7 +364,7 @@ DEPS = $(patsubst %.o,%.d,$(patsubst %.a,%.o,$(OBJ)))
 .PRECIOUS: $(DEPS)
 # Empty rule to force recompilation if the .d file is missing
 $(DEPS):
-       
+
 
 $(foreach OUTPUT,$(OUTPUTS),$(eval $(call GEN_OBJRULE,$(OUTPUT))))
 
index d12a87a942c351dc85657222e23f5b9eecbb32ee..a25d871e2df8fe416b3009821154733c0e7a56a2 100755 (executable)
@@ -5,9 +5,9 @@
 
 TRAVIS_COMMIT_MESSAGE="${TRAVIS_COMMIT_MESSAGE:-none}"
 TRAVIS_COMMIT_RANGE="${TRAVIS_COMMIT_RANGE:-HEAD~1..HEAD}"
-MAKE_ALL="make all:default AUTOGEN=\"true\""
+MAKE_ALL="make all:default"
 
-if [[ "$TRAVIS_COMMIT_MESSAGE" != *"[skip build]"* ]] ; then 
+if [[ "$TRAVIS_COMMIT_MESSAGE" != *"[skip build]"* ]] ; then
        exit_code=0
        git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE}
        if [ $? -eq 128 ]; then
@@ -30,15 +30,15 @@ if [[ "$TRAVIS_COMMIT_MESSAGE" != *"[skip build]"* ]] ; then
                                KEYMAP_ONLY=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -Ev '^(keyboards/'${KB}'/keymaps/)' | wc -l)
                                if [[ $KEYMAP_ONLY -gt 0 ]]; then
                                        echo "Making all keymaps for $KB"
-                                       make ${KB}:all AUTOGEN=true
+                                       make ${KB}:all
                                        : $((exit_code = $exit_code + $?))
                                else
                                        MKM=$(git diff --name-only -n 1 ${TRAVIS_COMMIT_RANGE} | grep -oP '(?<=keyboards/'${KB}'/keymaps/)([a-zA-Z0-9_]+)(?=\/)' | sort -u)
                                        for KM in $MKM ; do
-                                               echo "Making $KM for $KB"       
-                                               make ${KB}:${KM} AUTOGEN=true
+                                               echo "Making $KM for $KB"
+                                               make ${KB}:${KM}
                                                : $((exit_code = $exit_code + $?))
-                                       done            
+                                       done
                                fi
                        done
                fi
index 66b3beb6cef539d931a0665fe87aadb26156d3de..155a9a8d2bb5c4e5c7c1463cc123a00d64124c46 100755 (executable)
@@ -69,10 +69,9 @@ if [[ "$TRAVIS_COMMIT_MESSAGE" != *"[skip build]"* ]] ; then
        # rm -f compiled/*.hex
 
        # ignore errors here
-       for file in ../qmk_firmware/keyboards/*/keymaps/*/*_default.hex; do mv -v "$file" "compiled/${file##*/}" || true; done
-       for file in ../qmk_firmware/keyboards/*/*/keymaps/*/*_default.hex; do mv -v "$file" "compiled/${file##*/}" || true; done
-       for file in ../qmk_firmware/keyboards/*/*/*/keymaps/*/*_default.hex; do mv -v "$file" "compiled/${file##*/}" || true; done
-       for file in ../qmk_firmware/keyboards/*/*/*/*/keymaps/*/*_default.hex; do mv -v "$file" "compiled/${file##*/}" || true; done
+  # In theory, this is more flexible, and will allow for additional expansion of additional types of files and other names
+  mv -t compiled ../qmk_firmware/*_default.*(hex|bin) || true
+
        bash _util/generate_keyboard_page.sh
        git add -A
        git commit -m "generated from qmk/qmk_firmware@${rev}"