From d0f642c016fd675c304630ac0e1199de876b1a64 Mon Sep 17 00:00:00 2001 From: Timor Gruber Date: Sat, 15 Sep 2018 14:09:59 +0300 Subject: [PATCH 1/8] Added build cache in 'AppVeyor' for the Arduino SDK. SDK won't be downloaded from the web if its' cache exists. --- appveyor.yml | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 72c6d36..d968467 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -5,13 +5,19 @@ environment: matrix: - ARDUINO_SDK_VERSION: 1.8.2 - ARDUINO_SDK_VERSION: 1.8.6 +cache: +- '%ARDUINO_SDK_PATH% -> %ARDUINO_SDK_VERSION%' install: - ps: cinst unzip -- ps: $env:ARDUINO_SDK_FILE = "arduino-$env:ARDUINO_SDK_VERSION-windows.zip" -- ps: $env:ARDUINO_SDK_URI = "https://downloads.arduino.cc/$env:ARDUINO_SDK_FILE" -- ps: wget "$env:ARDUINO_SDK_URI" -O "$env:ARDUINO_SDK_FILE" -- ps: unzip "$env:ARDUINO_SDK_FILE" -d "arduino-sdk" - ps: $env:ARDUINO_SDK_PATH = "$pwd\arduino-sdk\arduino-$env:ARDUINO_SDK_VERSION" +- ps: $env:ARDUINO_SDK_FILE = "arduino-$env:ARDUINO_SDK_VERSION-windows.zip" +- ps: | + if ( -Not (Test-Path -Path $env:ARDUINO_SDK_PATH) ) + { + $env:ARDUINO_SDK_URI = "https://downloads.arduino.cc/$env:ARDUINO_SDK_FILE" + wget "$env:ARDUINO_SDK_URI" -O "$env:ARDUINO_SDK_FILE" + unzip "$env:ARDUINO_SDK_FILE" -d "arduino-sdk" + } - ps: $env:ARDUINO_SDK_PATH = ($env:ARDUINO_SDK_PATH -replace "\\","/") before_build: - ps: Copy-Item -Path $env:MINGW_PATH\mingw32-make.exe -Destination $env:MINGW_PATH\make.exe From 7424d338bd4029c18ef58e60e28d34d50527ddd6 Mon Sep 17 00:00:00 2001 From: Timor Gruber Date: Sat, 15 Sep 2018 14:28:57 +0300 Subject: [PATCH 2/8] Refactored 'ARDUINO_SDK_PATH' env variable to 'environment' section in 'AppVeyor'. Also refactored some env variables defined during the 'install' phase to be standard variables as they're not required to be environmental. At last removed cache dependency from SDK path to version, at least for now. --- appveyor.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index d968467..1ecce69 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -5,18 +5,18 @@ environment: matrix: - ARDUINO_SDK_VERSION: 1.8.2 - ARDUINO_SDK_VERSION: 1.8.6 + ARDUINO_SDK_PATH: $pwd\arduino-sdk\arduino-$env:ARDUINO_SDK_VERSION cache: -- '%ARDUINO_SDK_PATH% -> %ARDUINO_SDK_VERSION%' +- '%ARDUINO_SDK_PATH%' install: - ps: cinst unzip -- ps: $env:ARDUINO_SDK_PATH = "$pwd\arduino-sdk\arduino-$env:ARDUINO_SDK_VERSION" -- ps: $env:ARDUINO_SDK_FILE = "arduino-$env:ARDUINO_SDK_VERSION-windows.zip" +- ps: $sdk_file = "arduino-$env:ARDUINO_SDK_VERSION-windows.zip" - ps: | if ( -Not (Test-Path -Path $env:ARDUINO_SDK_PATH) ) { - $env:ARDUINO_SDK_URI = "https://downloads.arduino.cc/$env:ARDUINO_SDK_FILE" - wget "$env:ARDUINO_SDK_URI" -O "$env:ARDUINO_SDK_FILE" - unzip "$env:ARDUINO_SDK_FILE" -d "arduino-sdk" + $arduino_sdk_uri = "https://downloads.arduino.cc/$sdk_file" + wget "$arduino_sdk_uri" -O "$sdk_file" + unzip "$sdk_file" -d "arduino-sdk" } - ps: $env:ARDUINO_SDK_PATH = ($env:ARDUINO_SDK_PATH -replace "\\","/") before_build: From f924b9d2115db3d67ee657b9e653e250eb6aab6f Mon Sep 17 00:00:00 2001 From: Timor Gruber Date: Sat, 15 Sep 2018 14:32:52 +0300 Subject: [PATCH 3/8] Fixed a problem with the 'ARDUINO_SDK_PATH' env variable format. Bumped latest SDK version to 1.8.7 (Accidentally reverted back to 1.8.6 a few commits back). --- appveyor.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 1ecce69..bef56d2 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -4,8 +4,9 @@ environment: MINGW_PATH: C:\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\bin matrix: - ARDUINO_SDK_VERSION: 1.8.2 - - ARDUINO_SDK_VERSION: 1.8.6 - ARDUINO_SDK_PATH: $pwd\arduino-sdk\arduino-$env:ARDUINO_SDK_VERSION + ARDUINO_SDK_PATH: $pwd\arduino-sdk\arduino-1.8.2 + - ARDUINO_SDK_VERSION: 1.8.7 + ARDUINO_SDK_PATH: $pwd\arduino-sdk\arduino-1.8.7 cache: - '%ARDUINO_SDK_PATH%' install: From 8990b7889cb8bbb7db04d2292dc8144322a6e790 Mon Sep 17 00:00:00 2001 From: Timor Gruber Date: Sat, 15 Sep 2018 15:54:35 +0300 Subject: [PATCH 4/8] Modified 'ARDUINO_SDK_PATH' entirely - Now resides directly under 'C:\'. --- appveyor.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index bef56d2..0c20f4a 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -4,14 +4,15 @@ environment: MINGW_PATH: C:\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\bin matrix: - ARDUINO_SDK_VERSION: 1.8.2 - ARDUINO_SDK_PATH: $pwd\arduino-sdk\arduino-1.8.2 + ARDUINO_SDK_PATH: C:\arduino-sdk\arduino-1.8.2 - ARDUINO_SDK_VERSION: 1.8.7 - ARDUINO_SDK_PATH: $pwd\arduino-sdk\arduino-1.8.7 + ARDUINO_SDK_PATH: C:\arduino-sdk\arduino-1.8.7 cache: - '%ARDUINO_SDK_PATH%' install: - ps: cinst unzip - ps: $sdk_file = "arduino-$env:ARDUINO_SDK_VERSION-windows.zip" +- ps: cd C:\ - ps: | if ( -Not (Test-Path -Path $env:ARDUINO_SDK_PATH) ) { @@ -25,6 +26,7 @@ before_build: build_script: # Add the MinGW Path to the system PATH temporarily for this session - ps: $env:Path += ";$env:MINGW_PATH" +- ps: cd $env:APPVEYOR_BUILD_FOLDER - ps: mkdir build - ps: cd build - ps: echo "$env:ARDUINO_SDK_PATH" From 851a4875e1777cfbeb5f3489bc60d519d770541e Mon Sep 17 00:00:00 2001 From: Timor Gruber Date: Sat, 15 Sep 2018 16:33:01 +0300 Subject: [PATCH 5/8] Moved instruction appending MinGW's path to systems Path's to 'install' section. Also removed instruction to copy 'mingw32-make' to 'make', calling 'ming32-make' directly later in the build phase. --- appveyor.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 0c20f4a..2d1f840 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -21,11 +21,9 @@ install: unzip "$sdk_file" -d "arduino-sdk" } - ps: $env:ARDUINO_SDK_PATH = ($env:ARDUINO_SDK_PATH -replace "\\","/") -before_build: -- ps: Copy-Item -Path $env:MINGW_PATH\mingw32-make.exe -Destination $env:MINGW_PATH\make.exe +- ps: $env:Path += ";$env:MINGW_PATH" build_script: # Add the MinGW Path to the system PATH temporarily for this session -- ps: $env:Path += ";$env:MINGW_PATH" - ps: cd $env:APPVEYOR_BUILD_FOLDER - ps: mkdir build - ps: cd build @@ -37,7 +35,7 @@ build_script: --no-warn-unused-cli ..\examples - ps: | - make.exe 2>&1 3>&1 + mingw32-make.exe 2>&1 3>&1 if ($LastExitCode -eq 0) { $host.SetShouldExit(0) } artifacts: - path: cmake From 2748f8f7ce74726a9c56ccc61c5693e71fd4697a Mon Sep 17 00:00:00 2001 From: Timor Gruber Date: Sat, 15 Sep 2018 16:47:17 +0300 Subject: [PATCH 6/8] Refactored 'AppVeyor' config, 'ARDUINO_SDK_PATH' is no longer hardcoded. --- appveyor.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 2d1f840..5a0d158 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -2,23 +2,24 @@ version: '{build}' image: Visual Studio 2017 environment: MINGW_PATH: C:\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\bin + ARDUINO_SDK_BASE_PATH: C:\arduino-sdk\arduino matrix: - ARDUINO_SDK_VERSION: 1.8.2 - ARDUINO_SDK_PATH: C:\arduino-sdk\arduino-1.8.2 - ARDUINO_SDK_VERSION: 1.8.7 - ARDUINO_SDK_PATH: C:\arduino-sdk\arduino-1.8.7 cache: -- '%ARDUINO_SDK_PATH%' +- '%ARDUINO_SDK_BASE_PATH%-%ARDUINO_SDK_VERSION%' install: - ps: cinst unzip - ps: $sdk_file = "arduino-$env:ARDUINO_SDK_VERSION-windows.zip" +# Append SDK's version to SDK's base path +- ps: $env:ARDUINO_SDK_PATH = "$env:ARDUINO_SDK_BASE_PATH-$env:ARDUINO_SDK_VERSION" - ps: cd C:\ - ps: | if ( -Not (Test-Path -Path $env:ARDUINO_SDK_PATH) ) { - $arduino_sdk_uri = "https://downloads.arduino.cc/$sdk_file" - wget "$arduino_sdk_uri" -O "$sdk_file" - unzip "$sdk_file" -d "arduino-sdk" + $arduino_sdk_uri = "https://downloads.arduino.cc/$sdk_file" + wget "$arduino_sdk_uri" -O "$sdk_file" + unzip "$sdk_file" -d "arduino-sdk" } - ps: $env:ARDUINO_SDK_PATH = ($env:ARDUINO_SDK_PATH -replace "\\","/") - ps: $env:Path += ";$env:MINGW_PATH" From 10ffdd7d53719d985b7090eb4982800355c1604f Mon Sep 17 00:00:00 2001 From: Timor Gruber Date: Sat, 15 Sep 2018 17:03:18 +0300 Subject: [PATCH 7/8] Restored cache dependency on the SDK version. --- appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index 5a0d158..489d315 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -7,7 +7,7 @@ environment: - ARDUINO_SDK_VERSION: 1.8.2 - ARDUINO_SDK_VERSION: 1.8.7 cache: -- '%ARDUINO_SDK_BASE_PATH%-%ARDUINO_SDK_VERSION%' +- '%ARDUINO_SDK_BASE_PATH%-%ARDUINO_SDK_VERSION% -> %ARDUINO_SDK_VERSION%' install: - ps: cinst unzip - ps: $sdk_file = "arduino-$env:ARDUINO_SDK_VERSION-windows.zip" From 714a58d8b57c2c633aaae3767088e6a724b7a7e7 Mon Sep 17 00:00:00 2001 From: Timor Gruber Date: Sat, 15 Sep 2018 19:59:58 +0300 Subject: [PATCH 8/8] Added check to ignore builds triggered by the 'feature/travis-ci' branch in 'AppVeyor'. --- appveyor.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/appveyor.yml b/appveyor.yml index 489d315..197e2f0 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,4 +1,7 @@ version: '{build}' +branches: + except: + - feature/travis-ci # Affects only 'Travis-CI' builds, shouldn't be built image: Visual Studio 2017 environment: MINGW_PATH: C:\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\bin