From bf6c577b6d3ea05620dde968093dcdee7295958d Mon Sep 17 00:00:00 2001 From: Jonathan Lui Date: Mon, 10 Dec 2018 13:36:37 -0800 Subject: [PATCH] build: add Kokoro configs for autorelease (#243) * build: add Kokoro configs for autorelease * build: add Kokoro configs for autorelease * chore: remove CircleCI config --- .../.circleci/config.yml | 179 ------------------ .../.circleci/get_workflow_name.py | 67 ------- .../.circleci/key.json.enc | Bin 2368 -> 0 bytes .../.circleci/npm-install-retry.js | 60 ------ 4 files changed, 306 deletions(-) delete mode 100644 packages/google-cloud-dialogflow/.circleci/config.yml delete mode 100644 packages/google-cloud-dialogflow/.circleci/get_workflow_name.py delete mode 100644 packages/google-cloud-dialogflow/.circleci/key.json.enc delete mode 100755 packages/google-cloud-dialogflow/.circleci/npm-install-retry.js diff --git a/packages/google-cloud-dialogflow/.circleci/config.yml b/packages/google-cloud-dialogflow/.circleci/config.yml deleted file mode 100644 index 86c63432242..00000000000 --- a/packages/google-cloud-dialogflow/.circleci/config.yml +++ /dev/null @@ -1,179 +0,0 @@ -version: 2 -workflows: - version: 2 - tests: - jobs: &workflow_jobs - - node6: - filters: &all_commits - tags: - only: /.*/ - - node8: - filters: *all_commits - - node10: - filters: *all_commits - - lint: - requires: - - node6 - - node8 - - node10 - filters: *all_commits - - docs: - requires: - - node6 - - node8 - - node10 - filters: *all_commits - - system_tests: - requires: - - lint - - docs - filters: &master_and_releases - branches: - only: master - tags: &releases - only: '/^v[\d.]+$/' - - sample_tests: - requires: - - lint - - docs - filters: *master_and_releases - - publish_npm: - requires: - - system_tests - - sample_tests - filters: - branches: - ignore: /.*/ - tags: *releases - nightly: - triggers: - - schedule: - cron: 0 7 * * * - filters: - branches: - only: master - jobs: *workflow_jobs -jobs: - node6: - docker: - - image: 'node:6' - user: node - steps: &unit_tests_steps - - checkout - - run: &npm_install_and_link - name: Install and link the module - command: |- - mkdir -p /home/node/.npm-global - ./.circleci/npm-install-retry.js - environment: - NPM_CONFIG_PREFIX: /home/node/.npm-global - - run: npm test - node8: - docker: - - image: 'node:8' - user: node - steps: *unit_tests_steps - node10: - docker: - - image: 'node:10' - user: node - steps: *unit_tests_steps - lint: - docker: - - image: 'node:8' - user: node - steps: - - checkout - - run: *npm_install_and_link - - run: &samples_npm_install_and_link - name: Link the module being tested to the samples. - command: | - cd samples/ - npm link ../ - ./../.circleci/npm-install-retry.js - environment: - NPM_CONFIG_PREFIX: /home/node/.npm-global - - run: - name: Run linting. - command: npm run lint - environment: - NPM_CONFIG_PREFIX: /home/node/.npm-global - docs: - docker: - - image: 'node:8' - user: node - steps: - - checkout - - run: *npm_install_and_link - - run: npm run docs - sample_tests: - docker: - - image: 'node:8' - user: node - steps: - - checkout - - run: - name: Decrypt credentials. - command: | - if ! [[ -z "${SYSTEM_TESTS_ENCRYPTION_KEY}" ]]; then - openssl aes-256-cbc -d -md md5 -in .circleci/key.json.enc \ - -out .circleci/key.json \ - -k "${SYSTEM_TESTS_ENCRYPTION_KEY}" - fi - - run: *npm_install_and_link - - run: *samples_npm_install_and_link - - run: - name: Run sample tests. - command: npm run samples-test - environment: - GCLOUD_PROJECT: long-door-651 - GOOGLE_APPLICATION_CREDENTIALS: /home/node/samples/.circleci/key.json - NPM_CONFIG_PREFIX: /home/node/.npm-global - - run: - name: Remove unencrypted key. - command: | - if ! [[ -z "${SYSTEM_TESTS_ENCRYPTION_KEY}" ]]; then - rm .circleci/key.json - fi - when: always - working_directory: /home/node/samples/ - system_tests: - docker: - - image: 'node:8' - user: node - steps: - - checkout - - run: - name: Decrypt credentials. - command: | - if ! [[ -z "${SYSTEM_TESTS_ENCRYPTION_KEY}" ]]; then - for encrypted_key in .circleci/*.json.enc; do - openssl aes-256-cbc -d -md md5 -in $encrypted_key \ - -out $(echo $encrypted_key | sed 's/\.enc//') \ - -k "${SYSTEM_TESTS_ENCRYPTION_KEY}" - done - fi - - run: *npm_install_and_link - - run: - name: Run system tests. - command: npm run system-test - environment: - GCLOUD_PROJECT: long-door-651 - GOOGLE_APPLICATION_CREDENTIALS: /home/node/project/.circleci/key.json - NPM_CONFIG_PREFIX: /home/node/.npm-global - - run: - name: Remove unencrypted key. - command: | - if ! [[ -z "${SYSTEM_TESTS_ENCRYPTION_KEY}" ]]; then - rm .circleci/*.json - fi - when: always - publish_npm: - docker: - - image: 'node:8' - user: node - steps: - - checkout - - run: ./.circleci/npm-install-retry.js - - run: echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc - - run: npm publish --access=public diff --git a/packages/google-cloud-dialogflow/.circleci/get_workflow_name.py b/packages/google-cloud-dialogflow/.circleci/get_workflow_name.py deleted file mode 100644 index ff6b58fd24f..00000000000 --- a/packages/google-cloud-dialogflow/.circleci/get_workflow_name.py +++ /dev/null @@ -1,67 +0,0 @@ -# Copyright 2018 Google LLC -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -""" -Get workflow name for the current build using CircleCI API. -Would be great if this information is available in one of -CircleCI environment variables, but it's not there. -https://circleci.ideas.aha.io/ideas/CCI-I-295 -""" - -import json -import os -import sys -import urllib2 - - -def main(): - try: - username = os.environ['CIRCLE_PROJECT_USERNAME'] - reponame = os.environ['CIRCLE_PROJECT_REPONAME'] - build_num = os.environ['CIRCLE_BUILD_NUM'] - except: - sys.stderr.write( - 'Looks like we are not inside CircleCI container. Exiting...\n') - return 1 - - try: - request = urllib2.Request( - "https://circleci.com/api/v1.1/project/github/%s/%s/%s" % - (username, reponame, build_num), - headers={"Accept": "application/json"}) - contents = urllib2.urlopen(request).read() - except: - sys.stderr.write('Cannot query CircleCI API. Exiting...\n') - return 1 - - try: - build_info = json.loads(contents) - except: - sys.stderr.write( - 'Cannot parse JSON received from CircleCI API. Exiting...\n') - return 1 - - try: - workflow_name = build_info['workflows']['workflow_name'] - except: - sys.stderr.write( - 'Cannot get workflow name from CircleCI build info. Exiting...\n') - return 1 - - print workflow_name - return 0 - - -retval = main() -exit(retval) diff --git a/packages/google-cloud-dialogflow/.circleci/key.json.enc b/packages/google-cloud-dialogflow/.circleci/key.json.enc deleted file mode 100644 index d5e48382c8c0cf87ee5c9016d5c2dc18d168d4a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2368 zcmV-G3BUGJVQh3|WM5x{&7h_Sd=0Q#zJqabTo?@HZA^5W+`yWL^5dHa}BKB4j4O*3&DX~CS^_YbYS2a5;K4(=O1o+)FUe_?FK;9M+sHkq&IOX7)iS%!? zuVX|m)rQS8?#ei@}=ul!9fe6_qq3lFhBw{F+i$gvZmMLR6=y%uIT zu2;X%0v=_3B!Z{u;3Tu?gC^qEJr@7o*F%3*By--~2OR;aOxySi@lH~Om2E`_#uH_7 z*^c7KYni_dR@Be*GgH4KnHy6T%}1~OzSdU=Lx=f9+=5^;x|=oM>C>>gIkiM`|LT@* zxKiD!d6|z405||}Soh}sT|H;T_2S!Of7knV z4m-M$O~nD?D-qBvx0(rUfSNC~iK78aB*X(%fNlaL(VFwQg?`VdWV&eD(E=f34Ki=p(2h&apgE`v=h6$$v-dzIoVrn zYp{An;tP0hJF1cs3Ne>O$X%#1lw{~K0AU%X{-zy(3$o9F_hd4v3E6-nbD3SfoiBaT z?rLheDl!jVyPeE9E6;F-j~fnDvL>d8pht>ABRpIE#F0tQ8j2~^zvpmyN@p2PhV*@B zjfL8KHa-49T9UbfX9NLD*Z-}az<|l6&%EJ9EL|)=n9SD-+G6rPom$Sngimh(b?$w3A9!sz|!07#3(7fdGlhPZ>f1 z*li9kADcsn@E0p!HnH%1m|=&@9qmYwDIANvt$m)z*t8qiK2hhhQ(fRp_0fr+Yzm%2 zp!XQhxdnUiO>WE4g9=~Ylg~^ zV6=YRy?HF}ZN`Wkm!@5R8)Kl`4Nu*lyq|G6&%&`pBCA|pZ-xXk%^ww@a|zdAdj>*8 zmm5w(*^7+3he3hU9LH&2*n=*UXx=j&m4O#WN0gpo&AAC={vP=)j)#!m47#3w_4D2A zcx6d-Vl@TLGV!9sL{8CqSb;uB#g$YuHx8d-Yyb!1qNbD{at85~QEZfWz=h)O9;<%0 zxao~0nGkSjRW8ym&zk=({8C=SXM!=-J)J2NVg}bV>0e-x0=_Y2WsiMHi27ziA-$v* zYk;ZLtUu*7v1u8wAvYM>49q0@jRNe0DR10T3YYR%9Xo%ML9<(^$0-|nLjiZpE!0s+ zOfV^GR9r=7Unvw4qW)f1#nt(;PsK!PQSZsc+7f~Z1rX>*rlfomxA+(f@G4puqF2NlcdD;tu6Q3fo@&gHK8E-61r;I%c?w_Y@929u|9u-1HPOxfaUJJL`(qs6waHvDQEdB$nOiH#$e0J zU-9l}KTHi-_k%1$WL*I^z#kNBNt%_i+UjbFD(Uw&W~>-0kiDpM677X)f~S+50NBuJ z1qz0(9s)L>%U)F~&Iqq><{u$s7^NcI8<-AZnn6s;mLEX_a@Lk=YWN6-SIV&T%z%s9 z)ahds`i;ys3deIX3Y1KgkxV3GIWhFQIUciI@fWLDI13=oU*a^|GoP7A7|G#g+o7M{ zrL^!)HcFV#nl=x6m2Lb~KuV^KC&AHn*Mlk6hzuI*U8dGggy+i>qKlXt)tu7#0{2wt zqWGDQYG@%d8X-8YE<0_JuP|~mI&Is=i4P|XVjtQ5bP>*YO<;qYtJO7oRK>;z&Y7xU zH!3>fgM%92Y&EMn1)fBOLFdSGk(3Mz+9u5Uw<{2@;-Jx@7zH^9xQu1$2`LY#!Kc!< zRjpBB1aL$Ycv2p=#RXz&icx~0Bx2W&CgQlAzwK#6mKSxYwz)l^27NY7Y6NC)z-&8) z5BvoYt{*~lFL)c>Y^-^pN58`h_->=ZZfMg_a_r74&0xPLhTNYKy`~$1Cq=+IdX3^5 z0Dx7-e--j?Mj_xdIQ`FGgKbgqVJQuT(EGUrNl#v{(9XbNP#N)+8XCXDio#U1A?JJj mqtQ7X0y&bu&e-MmM@Tb7z?ULYzZpn#L#T;LQCRzz=R*}H)rFV< diff --git a/packages/google-cloud-dialogflow/.circleci/npm-install-retry.js b/packages/google-cloud-dialogflow/.circleci/npm-install-retry.js deleted file mode 100755 index 3240aa2cbf2..00000000000 --- a/packages/google-cloud-dialogflow/.circleci/npm-install-retry.js +++ /dev/null @@ -1,60 +0,0 @@ -#!/usr/bin/env node - -let spawn = require('child_process').spawn; - -// -//USE: ./index.js [... NPM ARGS] -// - -let timeout = process.argv[2] || process.env.NPM_INSTALL_TIMEOUT || 60000; -let attempts = process.argv[3] || 3; -let args = process.argv.slice(4); -if (args.length === 0) { - args = ['install']; -} - -(function npm() { - let timer; - args.push('--verbose'); - let proc = spawn('npm', args); - proc.stdout.pipe(process.stdout); - proc.stderr.pipe(process.stderr); - proc.stdin.end(); - proc.stdout.on('data', () => { - setTimer(); - }); - proc.stderr.on('data', () => { - setTimer(); - }); - - // side effect: this also restarts when npm exits with a bad code even if it - // didnt timeout - proc.on('close', (code, signal) => { - clearTimeout(timer); - if (code || signal) { - console.log('[npm-are-you-sleeping] npm exited with code ' + code + ''); - - if (--attempts) { - console.log('[npm-are-you-sleeping] restarting'); - npm(); - } else { - console.log('[npm-are-you-sleeping] i tried lots of times. giving up.'); - throw new Error("npm install fails"); - } - } - }); - - function setTimer() { - clearTimeout(timer); - timer = setTimeout(() => { - console.log('[npm-are-you-sleeping] killing npm with SIGTERM'); - proc.kill('SIGTERM'); - // wait a couple seconds - timer = setTimeout(() => { - // its it's still not closed sigkill - console.log('[npm-are-you-sleeping] killing npm with SIGKILL'); - proc.kill('SIGKILL'); - }, 2000); - }, timeout); - } -})();