From e4888f779ca16106f8305e1d61d83f7102164b7b Mon Sep 17 00:00:00 2001 From: Jakub Date: Wed, 2 Feb 2022 01:35:28 +0100 Subject: [PATCH] ci: build examples and deply in a subfolder (#432) --- ci/Jenkinsfile.gh-pages | 35 +++++++++++++++---- .../package-lock.json | 2 +- .../eth-pm-wallet-encryption/package.json | 4 +-- examples/eth-pm/package-lock.json | 2 +- examples/eth-pm/package.json | 4 +-- examples/relay-reactjs-chat/package-lock.json | 2 +- examples/relay-reactjs-chat/package.json | 2 +- examples/store-reactjs-chat/package-lock.json | 2 +- examples/store-reactjs-chat/package.json | 2 +- examples/web-chat/package-lock.json | 2 +- examples/web-chat/package.json | 4 +-- package.json | 1 + 12 files changed, 43 insertions(+), 19 deletions(-) diff --git a/ci/Jenkinsfile.gh-pages b/ci/Jenkinsfile.gh-pages index 46e3948cbf..8b29da7ee6 100644 --- a/ci/Jenkinsfile.gh-pages +++ b/ci/Jenkinsfile.gh-pages @@ -13,28 +13,51 @@ pipeline { environment { GIT_AUTHOR_NAME = 'status-im-auto' GIT_AUTHOR_EMAIL = 'auto@status.im' + PUPPETEER_SKIP_DOWNLOAD = 'true' } stages { - stage('Install Deps') { + stage('Deps') { steps { - sh 'yarn install' + sh 'npm install' } } stage('Build') { steps { - sh 'yarn run doc' + sh 'npm run build' + sh 'npm run doc' } } - stage('Publish Prod') { - when { expression { GIT_BRANCH.endsWith('docs-build') } } + stage('Examples') { + parallel { + stage('web-chat') { steps { script { buildExample() } } } + stage('eth-pm') { steps { script { buildExample() } } } + stage('eth-pm-wallet-encryption') { steps { script { buildExample() } } } + } + } + + stage('Publish') { + when { expression { GIT_BRANCH.endsWith('build-examples') } } steps { script { sshagent(credentials: ['status-im-auto-ssh']) { - sh 'yarn run deploy' + sh 'npm run deploy' } } } } } + post { + always { cleanWs() } + } +} + +def buildExample(example=STAGE_NAME) { + def dest = "${WORKSPACE}/build/docs/examples/${example}" + dir("examples/${example}") { + sh 'npm install' + sh 'npm run build' + sh "mkdir -p ${dest}" + sh "cp -r build/. ${dest}" + } } diff --git a/examples/eth-pm-wallet-encryption/package-lock.json b/examples/eth-pm-wallet-encryption/package-lock.json index 467c0f16e1..800f886a1b 100644 --- a/examples/eth-pm-wallet-encryption/package-lock.json +++ b/examples/eth-pm-wallet-encryption/package-lock.json @@ -19,7 +19,7 @@ "eth-sig-util": "^3.0.1", "ethers": "^5.5.3", "fontsource-roboto": "^4.0.0", - "js-waku": "../../build/main", + "js-waku": "file:../../build/main", "protobufjs": "^6.11.2", "react": "^17.0.2", "react-dom": "^17.0.2" diff --git a/examples/eth-pm-wallet-encryption/package.json b/examples/eth-pm-wallet-encryption/package.json index 8fc1e65846..0d35711c36 100644 --- a/examples/eth-pm-wallet-encryption/package.json +++ b/examples/eth-pm-wallet-encryption/package.json @@ -2,7 +2,7 @@ "name": "eth-pm-wallet-encryption", "version": "0.1.0", "private": true, - "homepage": "/js-waku/eth-pm-wallet", + "homepage": "/examples/eth-pm-wallet-encryption", "dependencies": { "@material-ui/core": "^4.12.3", "@material-ui/icons": "^4.11.2", @@ -15,7 +15,7 @@ "eth-sig-util": "^3.0.1", "ethers": "^5.5.3", "fontsource-roboto": "^4.0.0", - "js-waku": "../../build/main", + "js-waku": "file:../../build/main", "protobufjs": "^6.11.2", "react": "^17.0.2", "react-dom": "^17.0.2" diff --git a/examples/eth-pm/package-lock.json b/examples/eth-pm/package-lock.json index 27fb278575..74d0654e76 100644 --- a/examples/eth-pm/package-lock.json +++ b/examples/eth-pm/package-lock.json @@ -19,7 +19,7 @@ "eth-sig-util": "^3.0.1", "ethers": "^5.5.3", "fontsource-roboto": "^4.0.0", - "js-waku": "../../build/main", + "js-waku": "file:../../build/main", "protobufjs": "^6.11.2", "react": "^17.0.2", "react-dom": "^17.0.2" diff --git a/examples/eth-pm/package.json b/examples/eth-pm/package.json index be7574ecdb..7bb3886267 100644 --- a/examples/eth-pm/package.json +++ b/examples/eth-pm/package.json @@ -2,7 +2,7 @@ "name": "eth-pm", "version": "0.1.0", "private": true, - "homepage": "/js-waku/eth-pm", + "homepage": "/examples/eth-pm", "dependencies": { "@material-ui/core": "^4.12.3", "@material-ui/icons": "^4.11.2", @@ -15,7 +15,7 @@ "eth-sig-util": "^3.0.1", "ethers": "^5.5.3", "fontsource-roboto": "^4.0.0", - "js-waku": "../../build/main", + "js-waku": "file:../../build/main", "protobufjs": "^6.11.2", "react": "^17.0.2", "react-dom": "^17.0.2" diff --git a/examples/relay-reactjs-chat/package-lock.json b/examples/relay-reactjs-chat/package-lock.json index 6917b5304e..7a014c73e5 100644 --- a/examples/relay-reactjs-chat/package-lock.json +++ b/examples/relay-reactjs-chat/package-lock.json @@ -11,7 +11,7 @@ "@testing-library/jest-dom": "^5.16.1", "@testing-library/react": "^12.1.2", "@testing-library/user-event": "^13.5.0", - "js-waku": "../../build/esm", + "js-waku": "file:../../build/esm", "protons": "^2.0.3", "react": "^17.0.2", "react-dom": "^17.0.2", diff --git a/examples/relay-reactjs-chat/package.json b/examples/relay-reactjs-chat/package.json index bbd03ed592..5b9dbb42a7 100644 --- a/examples/relay-reactjs-chat/package.json +++ b/examples/relay-reactjs-chat/package.json @@ -6,7 +6,7 @@ "@testing-library/jest-dom": "^5.16.1", "@testing-library/react": "^12.1.2", "@testing-library/user-event": "^13.5.0", - "js-waku": "../../build/esm", + "js-waku": "file:../../build/esm", "protons": "^2.0.3", "react": "^17.0.2", "react-dom": "^17.0.2", diff --git a/examples/store-reactjs-chat/package-lock.json b/examples/store-reactjs-chat/package-lock.json index df305193a6..f701663cb2 100644 --- a/examples/store-reactjs-chat/package-lock.json +++ b/examples/store-reactjs-chat/package-lock.json @@ -14,7 +14,7 @@ "assert": "^2.0.0", "buffer": "^6.0.3", "crypto-browserify": "^3.12.0", - "js-waku": "../../build/esm", + "js-waku": "file:../../build/esm", "protons": "^2.0.3", "react": "^17.0.2", "react-dom": "^17.0.2", diff --git a/examples/store-reactjs-chat/package.json b/examples/store-reactjs-chat/package.json index 174ead5b53..cbf838382c 100644 --- a/examples/store-reactjs-chat/package.json +++ b/examples/store-reactjs-chat/package.json @@ -9,7 +9,7 @@ "assert": "^2.0.0", "buffer": "^6.0.3", "crypto-browserify": "^3.12.0", - "js-waku": "../../build/esm", + "js-waku": "file:../../build/esm", "protons": "^2.0.3", "react": "^17.0.2", "react-dom": "^17.0.2", diff --git a/examples/web-chat/package-lock.json b/examples/web-chat/package-lock.json index 4fa53e5971..5d7efa3fa6 100644 --- a/examples/web-chat/package-lock.json +++ b/examples/web-chat/package-lock.json @@ -11,7 +11,7 @@ "@livechat/ui-kit": "^0.5.0-20", "buffer": "^6.0.3", "crypto-browserify": "^3.12.0", - "js-waku": "../../build/main", + "js-waku": "file:../../build/main", "process": "^0.11.10", "react": "^17.0.2", "react-dom": "^17.0.2", diff --git a/examples/web-chat/package.json b/examples/web-chat/package.json index b5be470190..329352c3c1 100644 --- a/examples/web-chat/package.json +++ b/examples/web-chat/package.json @@ -2,12 +2,12 @@ "name": "web-chat", "version": "0.1.0", "private": true, - "homepage": "/js-waku", + "homepage": "/examples/web-chat", "dependencies": { "@livechat/ui-kit": "^0.5.0-20", "buffer": "^6.0.3", "crypto-browserify": "^3.12.0", - "js-waku": "../../build/main", + "js-waku": "file:../../build/main", "process": "^0.11.10", "react": "^17.0.2", "react-dom": "^17.0.2", diff --git a/package.json b/package.json index 27d1f5b777..234da1bc32 100644 --- a/package.json +++ b/package.json @@ -48,6 +48,7 @@ "doc": "run-s doc:*", "doc:html": "typedoc --excludeInternal --listInvalidSymbolLinks --exclude **/*.spec.ts --out build/docs src/", "doc:cname": "echo 'js-waku.wakuconnect.dev' > build/docs/CNAME", + "doc:examples": "mkdir -p build/docs/examples", "deploy": "node ci/deploy.js", "reset-hard": "git clean -dfx && git reset --hard && npm i && npm run build && for d in examples/*; do (cd $d; npm i); done" },