Merge pull request #2092 from xodio/chore-merge-0.37.x

Merge 0.37.x into master
This commit is contained in:
Evgeny Kochetkov
2021-01-26 13:54:53 +03:00
committed by GitHub
41 changed files with 116 additions and 134 deletions

View File

@@ -58,6 +58,30 @@ defs:
&& mkdir "/tmp/arduino-cli" \
&& cp "$HOME/arduino-cli" "/tmp/arduino-cli/arduino-cli"
step-install-arduino-cli-on-windows: &step-install-arduino-cli-on-windows
name: Install arduino-cli
command: |
curl -L -s --create-dirs -o "$HOME/arduino-cli.zip" "https://github.com/arduino/arduino-cli/releases/download/0.12.0/arduino-cli_0.12.0_Windows_64bit.zip" \
&& unzip "$HOME/arduino-cli.zip" -d "$HOME" \
&& cp "$HOME/arduino-cli.exe" "./packages/xod-client-electron/arduino-cli.exe"
shell: bash
step-configure-git-on-windows: &step-configure-git-on-windows
name: Configure git
command: |
git config --global core.autocrlf input
git config --system core.longpaths true
step-install-node-on-windows: &step-install-node-on-windows
name: Install node
command: |
nvm install 12.12.0
nvm use 12.12.0
step-install-yarn-on-windows: &step-install-yarn-on-windows
name: Install yarn
command: npm install yarn@1.22.10 -g
step-install: &step-install
name: Install Node modules
# to always instal some essential tools(electron-builder etc)
@@ -69,6 +93,7 @@ defs:
if [[ $CIRCLE_BRANCH =~ ^prerelease-(patch|minor)- ]]; then
yarn lerna publish --skip-git --skip-npm --canary --cd-version ${BASH_REMATCH[1]} --yes
fi
shell: bash
step-build: &step-build
name: Build
@@ -77,6 +102,7 @@ defs:
step-verify-git-clean: &step-verify-git-clean
name: Verify that previous step made no side-effects
command: ./tools/verify-git-clean.sh
shell: bash
step-build-electron: &step-build-electron
name: Build electron IDE app
@@ -101,7 +127,7 @@ defs:
no_output_timeout: 30m
orbs:
node: circleci/node@4.1.0
win: circleci/windows@2.4.0
jobs:
#--------------------------------------------------------------------
@@ -148,6 +174,20 @@ jobs:
- run: *step-test-func
- run: *step-verify-git-clean
verify-windows:
executor:
name: win/default
steps:
- run: *step-configure-git-on-windows
- run: *step-install-node-on-windows
- run: *step-install-yarn-on-windows
- checkout
- run:
name: Install Node modules
command: yarn
- run: *step-build
- run: *step-verify-git-clean
test-cpp:
docker: *docker-custom-nodejs
environment:
@@ -233,6 +273,33 @@ jobs:
- "*.dmg"
- "*.zip"
dist-windows:
executor:
name: win/default
steps:
- run: *step-configure-git-on-windows
- run: *step-install-node-on-windows
- run: *step-install-yarn-on-windows
- checkout
- run: *step-install-arduino-cli-on-windows
- run:
name: Install Node modules
command: yarn
- run: *step-bump-version
- run:
name: Build electron IDE distro
command: |
$env:NODE_ENV="production"
yarn build:electron
yarn dist:electron
no_output_timeout: 30m
- persist_to_workspace:
root: packages/xod-client-electron/dist
paths:
- latest.yml
- "*.exe"
- "*.blockmap"
#--------------------------------------------------------------------
# Upload distros job
#--------------------------------------------------------------------
@@ -331,6 +398,7 @@ workflows:
jobs:
- verify-linux
- verify-macos
- verify-windows
- test-cpp
- dockerize-ide:
filters: *release-filters
@@ -341,11 +409,15 @@ workflows:
filters: *release-filters
- dist-macos:
filters: *release-filters
- dist-windows:
filters: *release-filters
- upload-distros:
filters: *release-filters
requires:
- verify-linux
- verify-macos
- verify-windows
- test-cpp
- dist-linux
- dist-macos
- dist-windows

View File

@@ -2,6 +2,14 @@
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
<a name="0.37.2"></a>
## 0.37.2 (2021-01-25)
### Bug fixes
* [infra] Fix a bug in the release process that resulted in a bad windows build (#2090)
<a name="0.37.1"></a>
## 0.37.1 (2021-01-20)

View File

@@ -1,29 +0,0 @@
image: Visual Studio 2017
version: '{build}'
platform:
- x64
clone_depth: 5
cache:
- '%LOCALAPPDATA%\Yarn'
- '%USERPROFILE%\.electron'
- node_modules
init:
- git config --global core.autocrlf input
- git config --system core.longpaths true
install:
- ps: Install-Product node 12 x64
- npm install yarn@1.22.10 -g
- yarn cache clean
- yarn install --force
- ps: . .\tools\install-arduinocli.ps1
build_script:
- yarn run build
- ps: . .\tools\appveyor.ps1
test: off

View File

@@ -6,5 +6,5 @@
"packages": [
"packages/*"
],
"version": "0.37.1"
"version": "0.37.2"
}

View File

@@ -5,7 +5,7 @@
"license": "AGPL-3.0",
"main": "src-babel/app/main.js",
"name": "xod-client-electron",
"version": "0.37.1",
"version": "0.37.2",
"scripts": {
"build:workspace": "cpx \"../../workspace/**/*\" \"src-babel/workspace\"",
"build:gui": "webpack --colors",

View File

@@ -1,33 +0,0 @@
function Upload-Dist-To-GCS($tag) {
$config = New-TemporaryFile
echo $env:GOOGLE_CLOUD_STORAGE_CONFIG | node -e "console.log(new Buffer ('$env:GOOGLE_CLOUD_STORAGE_CONFIG', 'base64').toString('utf8').trim())" > $config
(Get-Content -Path $config) | %{ $_.Replace("\xEF\xBB\xBF", "") } | Set-Content -Path $config
foreach ($file in (Get-ChildItem -Path packages/xod-client-electron/dist -File)) {
node tools/electron-upload.js --config=$($config.FullName) --file=$($file.FullName) --tag=$tag
}
}
function Build-Dist() {
# Build again with production settings for the UI part of the IDE
$env:NODE_ENV="production"
yarn run build:electron
yarn run dist:electron
}
$tags=(git tag --points-at $env:APPVEYOR_REPO_COMMIT)
if ($tags) {
Build-Dist
foreach ($tag in $tags) {
Upload-Dist-To-GCS $tag
}
}
if ($env:APPVEYOR_REPO_BRANCH -match '^prerelease-(patch|minor)-') {
Write-Host 'Building prerelease distributive...' -ForegroundColor Yellow
yarn lerna publish --skip-git --skip-npm --canary --cd-version $Matches[1] --yes
$tag=(node -e "console.log('v' + require('./packages/xod-client-electron/package.json').version)")
Build-Dist
Upload-Dist-To-GCS $tag
}

View File

@@ -1,29 +0,0 @@
// eslint-disable-next-line import/no-extraneous-dependencies
const docopt = require('docopt');
const path = require('path');
const storage = require('@google-cloud/storage');
const options = docopt.docopt(`
Uploads a release file to 'releases.xod.io' GCS bucket under tag directory.
Usage: electron-upload --config=<path-to-config> --file=<path-to-file> --tag=<tag>
`);
const resolve = path.resolve.bind(path, process.cwd());
const keyFilename = resolve(options['--config']);
const file = resolve(options['--file']);
const tag = options['--tag'];
const basename = path.basename(file);
storage({ keyFilename })
.bucket('releases.xod.io')
.upload(file, {
destination: `${tag}/${basename}`,
metadata: {
contentDisposition: `attachment; filename="${basename}"`,
},
public: true,
})
.catch(error => {
// eslint-disable-next-line no-console
console.error(error);
process.exit(1);
});

View File

@@ -1,7 +0,0 @@
# Install arduino-cli
Invoke-RestMethod -Uri "https://github.com/arduino/arduino-cli/releases/download/0.12.0/arduino-cli_0.12.0_Windows_64bit.zip" -Method GET -OutFile "$env:HOME/arduino-cli.zip"
unzip "$env:HOME/arduino-cli.zip" -d "$env:HOME"
copy "$env:HOME/arduino-cli.exe" "./packages/xod-client-electron/arduino-cli.exe"
$env:XOD_ARDUINO_CLI="$env:HOME/arduino-cli.exe"

View File

@@ -5,5 +5,5 @@
"description": "Nodes to get some basic data from the XOD Cloud API",
"license": "AGPL-3.0",
"name": "basics",
"version": "0.37.1"
"version": "0.37.2"
}

View File

@@ -5,5 +5,5 @@
"description": "Nodes for communicating with the XOD Cloud Feeds service",
"license": "AGPL-3.0",
"name": "feeds",
"version": "0.37.1"
"version": "0.37.2"
}

View File

@@ -2,5 +2,5 @@
"description": "Nodes to work with DHT11 or DHT21 sensors, or compatible sensors: RHT01, DHT22, DHT33, DHT44, AM2301, HM2301, AM2302, AM2303, RHT02, RHT03, RHT04, RHT05.",
"license": "AGPL-3.0",
"name": "dht",
"version": "0.37.1"
"version": "0.37.2"
}

View File

@@ -5,5 +5,5 @@
"description": "This library operates DS1302/DS1307/DS3231 based breakout RTC boards",
"license": "AGPL-3.0",
"name": "ds-rtc",
"version": "0.37.1"
"version": "0.37.2"
}

View File

@@ -5,5 +5,5 @@
"description": "Support for ESP8266-based MCUs.",
"license": "AGPL-3.0",
"name": "esp8266-mcu",
"version": "0.37.1"
"version": "0.37.2"
}

View File

@@ -5,5 +5,5 @@
"description": "Support for ESP8266 as a slave module",
"license": "AGPL-3.0",
"name": "esp8266",
"version": "0.37.1"
"version": "0.37.2"
}

View File

@@ -2,5 +2,5 @@
"description": "Nodes to work with the HC-SR04 ultrasonic range meters.",
"license": "AGPL-3.0",
"name": "hc-sr04",
"version": "0.37.1"
"version": "0.37.2"
}

View File

@@ -2,5 +2,5 @@
"description": "Support for RFID/NFC modules based on a PN532 chip.",
"license": "MIT",
"name": "pn532-nfc",
"version": "0.37.1"
"version": "0.37.2"
}

View File

@@ -5,5 +5,5 @@
"description": "Nodes to control RC hobby servos",
"license": "AGPL-3.0",
"name": "servo",
"version": "0.37.1"
"version": "0.37.2"
}

View File

@@ -5,5 +5,5 @@
"description": "Nodes to read analog infrared range meters by Sharp (GP2Y0A) and convert the signal to distance values.",
"license": "AGPL-3.0",
"name": "sharp-irm",
"version": "0.37.1"
"version": "0.37.2"
}

View File

@@ -2,5 +2,5 @@
"description": "Nodes to drive SD1306-based monochrome LCDs with I2C interface.",
"license": "AGPL-3.0",
"name": "ssd1306-display",
"version": "0.37.1"
"version": "0.37.2"
}

View File

@@ -2,5 +2,5 @@
"description": "Nodes to work with gyroscopes, accelerometers and barometers based on chips by STMicroelectronics: L3G4200, L3GD20H, LIS331DLH, LIS331HH, LIS3DH, LPS331.",
"license": "AGPL-3.0",
"name": "st-mems",
"version": "0.37.1"
"version": "0.37.2"
}

View File

@@ -2,5 +2,5 @@
"description": "Nodes to drive ST7735 based TFT LCD displays. This library supports 128x160 resolution displays which are connected through the hardware SPI interface. Physically, some displays based on the 7735 chip may differ from each other and have different sets of instructions for initialization. To solve this, the library contains several device nodes for different types of displays. These nodes are labeled \"B\", \"G\", \"RG\", and \"RR\".",
"license": "AGPL-3.0",
"name": "st7735-display",
"version": "0.37.1"
"version": "0.37.2"
}

View File

@@ -2,5 +2,5 @@
"description": "Nodes to drive a common text liquid crystal displays with I²C or parallel interfaces.",
"license": "AGPL-3.0",
"name": "text-lcd",
"version": "0.37.1"
"version": "0.37.2"
}

View File

@@ -5,5 +5,5 @@
"description": "Support for ethernet shields that use Wiznet W5500 chipset.",
"license": "AGPL-3.0",
"name": "w5500",
"version": "0.37.1"
"version": "0.37.2"
}

View File

@@ -2,5 +2,5 @@
"description": "Nodes to work with WS2812 (NeoPixel). The main difference from the other libraries that this library does not use a buffer to light up the LEDs. So it gives a possibility to light up a really long LED strip with a small microcontroller without a huge amount of RAM.",
"license": "AGPL-3.0",
"name": "ws2812",
"version": "0.37.1"
"version": "0.37.2"
}

View File

@@ -5,5 +5,5 @@
"description": "Low-level bits and bytes operations",
"license": "AGPL-3.0",
"name": "bits",
"version": "0.37.1"
"version": "0.37.2"
}

View File

@@ -5,5 +5,5 @@
"description": "Library to work with color",
"license": "AGPL-3.0",
"name": "color",
"version": "0.37.1"
"version": "0.37.2"
}

View File

@@ -5,5 +5,5 @@
"description": "Hardware drivers for popular and simple peripherals",
"license": "AGPL-3.0",
"name": "common-hardware",
"version": "0.37.1"
"version": "0.37.2"
}

View File

@@ -5,5 +5,5 @@
"description": "The very basic nodes of XOD",
"license": "AGPL-3.0",
"name": "core",
"version": "0.37.1"
"version": "0.37.2"
}

View File

@@ -5,5 +5,5 @@
"description": "Date and timestamp operations",
"license": "AGPL-3.0",
"name": "datetime",
"version": "0.37.1"
"version": "0.37.2"
}

View File

@@ -5,5 +5,5 @@
"description": "Debug nodes for XOD",
"license": "AGPL-3.0",
"name": "debug",
"version": "0.37.1"
"version": "0.37.2"
}

View File

@@ -5,5 +5,5 @@
"description": "Nodes of XOD to deal with GPIO (hardware pins)",
"license": "AGPL-3.0",
"name": "gpio",
"version": "0.37.1"
"version": "0.37.2"
}

View File

@@ -5,5 +5,5 @@
"description": "Nodes to work with graphics in XOD",
"license": "AGPL-3.0",
"name": "graphics",
"version": "0.37.1"
"version": "0.37.2"
}

View File

@@ -1,5 +1,5 @@
{
"description": "My fork of \"xod/i2c\"",
"name": "i2c",
"version": "0.37.1"
"version": "0.37.2"
}

View File

@@ -2,5 +2,5 @@
"description": "Nodes for parsing JSON from a stream of characters",
"license": "AGPL-3.0",
"name": "json",
"version": "0.37.1"
"version": "0.37.2"
}

View File

@@ -5,5 +5,5 @@
"description": "Nodes of XOD for basic mathematical operations",
"license": "AGPL-3.0",
"name": "math",
"version": "0.37.1"
"version": "0.37.2"
}

View File

@@ -5,5 +5,5 @@
"description": "Library to work with mutually exclusive resources. Useful to avoid conflicts between nodes controlling long-running processes.",
"license": "AGPL-3.0",
"name": "mutex",
"version": "0.37.1"
"version": "0.37.2"
}

View File

@@ -5,5 +5,5 @@
"description": "General types and operations to manage network connections",
"license": "AGPL-3.0",
"name": "net",
"version": "0.37.1"
"version": "0.37.2"
}

View File

@@ -5,5 +5,5 @@
"description": "Nodes to process sequences of bytes one by one",
"license": "AGPL-3.0",
"name": "stream",
"version": "0.37.1"
"version": "0.37.2"
}

View File

@@ -5,5 +5,5 @@
"description": "Provides constructors and Nodes to interact with UARTs (Software, Hardware, USB) in XOD.",
"license": "AGPL-3.0",
"name": "uart",
"version": "0.37.1"
"version": "0.37.2"
}

View File

@@ -5,5 +5,5 @@
"description": "Units of measurement conversions",
"license": "AGPL-3.0",
"name": "units",
"version": "0.37.1"
"version": "0.37.2"
}

View File

@@ -5,5 +5,5 @@
"description": "A collection of nodes that generate wave signals",
"license": "AGPL",
"name": "waves",
"version": "0.37.1"
"version": "0.37.2"
}