From 99d8280fbf0803302fde4dba1164a44e0f3098bc Mon Sep 17 00:00:00 2001 From: Igor Gnatyuk Date: Wed, 26 Jan 2022 14:20:11 +0200 Subject: [PATCH 1/4] bk + release --- .buildkite/pipeline.yaml | 39 +++++++++++++++++++++++++++++++++++++++ scripts/release.js | 24 ++++++++++++++---------- 2 files changed, 53 insertions(+), 10 deletions(-) create mode 100644 .buildkite/pipeline.yaml diff --git a/.buildkite/pipeline.yaml b/.buildkite/pipeline.yaml new file mode 100644 index 000000000..4d6b15909 --- /dev/null +++ b/.buildkite/pipeline.yaml @@ -0,0 +1,39 @@ +steps: + - block: ":rocket: Release!" + prompt: "Fill out the details for release" + if: 'build.message =~ /^release\$/i' + fields: + - text: "VERSION" + key: "version" + - text: "NPM_TAG" + key: "npm-tag" + default: 'null' + hint: 'Leave NULL if no version is specified' + required: false + + - label: "Android" + command: + - "nvm install" + - "npm install" + - "npm run test-js" + - "npm run clean" + - "npm run test-unit-android -- --release" + key: android + + - label: "iOS" + command: + - "nvm install" + - "npm install" + - "npm run test-unit-ios -- --release" + - "npm run test-e2e-ios -- --release --multi" + key: ios + + - label: ":package: Publish" + if: "build.pull_request.id == null" + command: + - "nvm install" + - "npm install" + - "npm run release" + depends_on: + - "android" + - "ios" diff --git a/scripts/release.js b/scripts/release.js index 60ab727c9..86c5cb0ee 100644 --- a/scripts/release.js +++ b/scripts/release.js @@ -6,10 +6,20 @@ const _ = require('lodash'); const grenrc = require('../.grenrc'); // Workaround JS -const isRelease = process.env.RELEASE_BUILD === 'true'; +const isRelease = process.env.BUILDKITE_MESSAGE.match(/^release$/i); +const BRANCH = process.env.BUILDKITE_BRANCH; -const BRANCH = process.env.BRANCH; -const VERSION_TAG = process.env.NPM_TAG || isRelease ? 'latest' : 'snapshot'; +let VERSION, VERSION_TAG; +if (isRelease) { + VERSION = cp.execSync(`buildkite-agent meta-data get version`).toString(); + VERSION_TAG = cp.execSync(`buildkite-agent meta-data get npm-tag`).toString(); +} +// const VERSION_TAG = process.env.NPM_TAG || isRelease ? 'latest' : 'snapshot'; +// const VERSION_INC = 'patch'; + +if (VERSION_TAG == 'null') { + VERSION_TAG = isRelease ? 'latest' : 'snapshot'; + } const VERSION_INC = 'patch'; function run() { @@ -22,15 +32,9 @@ function run() { } function validateEnv() { - if (!process.env.JENKINS_CI) { + if (!process.env.CI) { throw new Error(`releasing is only available from CI`); } - - if (!process.env.JENKINS_MASTER) { - console.log(`not publishing on a different build`); - return false; - } - return true; } From f90dfdae34be8c9ee245a1d69c2d3555635b4b57 Mon Sep 17 00:00:00 2001 From: Igor Gnatyuk Date: Wed, 26 Jan 2022 14:28:56 +0200 Subject: [PATCH 2/4] cp --- scripts/release.js | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/release.js b/scripts/release.js index 86c5cb0ee..fd7a71e2d 100644 --- a/scripts/release.js +++ b/scripts/release.js @@ -4,6 +4,7 @@ const semver = require('semver'); const fs = require('fs'); const _ = require('lodash'); const grenrc = require('../.grenrc'); +const cp = require('child_process'); // Workaround JS const isRelease = process.env.BUILDKITE_MESSAGE.match(/^release$/i); From 35442a4f93dc01e2661b4eaf791718d451f0ae10 Mon Sep 17 00:00:00 2001 From: Igor Gnatyuk Date: Wed, 26 Jan 2022 14:43:03 +0200 Subject: [PATCH 3/4] fix --- scripts/release.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/release.js b/scripts/release.js index fd7a71e2d..48d985ada 100644 --- a/scripts/release.js +++ b/scripts/release.js @@ -65,10 +65,10 @@ function versionTagAndPublish() { console.log(`current published version: ${currentPublished}`); const version = isRelease - ? process.env.VERSION + ? VERSION : semver.gt(packageVersion, currentPublished) - ? `${packageVersion}-snapshot.${process.env.BUILD_ID}` - : `${currentPublished}-snapshot.${process.env.BUILD_ID}`; + ? `${packageVersion}-snapshot.${process.env.BUILDKITE_BUILD_NUMBER}` + : `${currentPublished}-snapshot.${process.env.BUILDKITE_BUILD_NUMBER}`; console.log(`Publishing version: ${version}`); From dc17443254239f097f178e7d6c7cdedbd087f6d7 Mon Sep 17 00:00:00 2001 From: Igor Gnatyuk Date: Wed, 26 Jan 2022 17:39:24 +0200 Subject: [PATCH 4/4] polish --- scripts/release.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/scripts/release.js b/scripts/release.js index 48d985ada..be23358be 100644 --- a/scripts/release.js +++ b/scripts/release.js @@ -15,8 +15,6 @@ if (isRelease) { VERSION = cp.execSync(`buildkite-agent meta-data get version`).toString(); VERSION_TAG = cp.execSync(`buildkite-agent meta-data get npm-tag`).toString(); } -// const VERSION_TAG = process.env.NPM_TAG || isRelease ? 'latest' : 'snapshot'; -// const VERSION_INC = 'patch'; if (VERSION_TAG == 'null') { VERSION_TAG = isRelease ? 'latest' : 'snapshot';