Skip to content

Commit 92b0283

Browse files
committed
issue-214 Refactoring Gitlab CI/CD pipeline
fix: cmd_prefix benchmark-dependencies fix: bash instruction fix: fixing launching dev and storybook inside ci/cd pipeline refactor: deleting unused code ci: making gitlab pages job manual refactor: fixing typo in gitlab-ci.yml fix: disk name in influx query fix: disk-io name delete refactor: refactoring overall file names chore: update to version 1.5.0
1 parent f663bf4 commit 92b0283

16 files changed

+85
-221
lines changed

.gitlab-ci.yml

+59-79
Original file line numberDiff line numberDiff line change
@@ -5,82 +5,8 @@ stages:
55

66
.install-dependencies:
77
before_script:
8-
- apt update -y
9-
- apt install curl -y
10-
- apt install git -y
11-
- git --version
128
- yarn install
139

14-
.install-node-yarn-dependencies:
15-
before_script:
16-
- apt update -y
17-
- apt install git -y
18-
- apt install -y sudo curl
19-
- curl --version
20-
- curl -sL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
21-
- sudo apt install -y nodejs
22-
- node -v
23-
- curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
24-
- echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
25-
- sudo apt update && sudo apt install -y yarn
26-
- yarn install
27-
28-
default:
29-
image: node:18.18-alpine
30-
31-
build-dev:
32-
stage: build
33-
before_script:
34-
- export CI_BENCHMARK=remote_data
35-
- export PALINDROME_TYPE=basic
36-
script:
37-
- yarn install --ignore-scripts
38-
- |
39-
yarn parcel dev/index.html --no-cache &
40-
until curl -s http://localhost:1234 > /dev/null; do
41-
echo "Waiting for Parcel server..."
42-
sleep 1
43-
done
44-
- cd services/tsdbService
45-
- yarn install
46-
- yarn build
47-
artifacts:
48-
paths:
49-
- "dist/"
50-
allow_failure: false
51-
when: manual
52-
53-
build-storybook:
54-
stage: build
55-
before_script:
56-
- apk update
57-
- apk add bash
58-
- apk add git
59-
script:
60-
- yarn install
61-
- 'file_path="stories/oth.stories.js"'
62-
- 'start_pattern="export const localLiveMonitoring"'
63-
- 'end_pattern="fetchFunction: localMonitoring.*};"'
64-
- 'sed -i "/$start_pattern/,/$end_pattern/d" "$file_path"'
65-
- yarn build-storybook
66-
artifacts:
67-
paths:
68-
- "storybook-static/"
69-
allow_failure: false
70-
when: manual
71-
72-
cypress-test:
73-
stage: test
74-
extends: .install-dependencies
75-
dependencies: []
76-
image: cypress/base:latest
77-
script:
78-
- yarn storybook &
79-
- yarn dev &
80-
- rm -rf cypress/match-screenshots/ .cache/
81-
- for i in 1 2; do yarn cypress:run; done
82-
allow_failure: false
83-
8410
.launch-benchmark-remote-data:
8511
stage: test
8612
image: ghcr.io/puppeteer/puppeteer:latest
@@ -112,9 +38,24 @@ cypress-test:
11238
done
11339
- cd ../..
11440
- node "$BENCHMARK_SCRIPT"
41+
allow_failure: true
42+
43+
default:
44+
image: node:18.18-alpine
45+
46+
cypress-test:
47+
stage: test
48+
extends: .install-dependencies
49+
dependencies: []
50+
image: cypress/base:latest
51+
script:
52+
- export NODE_OPTIONS=--openssl-legacy-provider & yarn run start-storybook -p 6006 &
53+
- yarn run cross-env PALINDROME_TYPE=dev parcel dev/index.html --no-cache &
54+
- rm -rf cypress/match-screenshots/ .cache/
55+
- for i in 1 2; do yarn cypress:run; done
11556
allow_failure: false
11657

117-
initial_remote-data-benchmark:
58+
initial-remote-data-benchmark:
11859
extends: .launch-benchmark-remote-data
11960
before_script:
12061
- export CI_BENCHMARK=remote_data
@@ -129,23 +70,61 @@ remote-data-update-multiviewport-benchmark:
12970
- export BENCHMARK_SCRIPT=./scripts/remoteDataBenchmark/multiViewportBenchmark.js
13071

13172
benchmark:
132-
image: ubuntu:20.04
73+
image: cimg/node:18.0
13374
stage: test
13475
dependencies: []
135-
extends: .install-node-yarn-dependencies
76+
before_script:
77+
- sudo chown -R $(whoami):$(whoami) .
78+
- !reference [.install-dependencies, before_script]
13679
script:
13780
- /bin/bash ./scripts/benchmark.sh "classic"
13881
allow_failure: false
13982

14083
benchmark-test:
141-
image: ubuntu:20.04
84+
image: cimg/node:18.0
14285
stage: test
14386
dependencies: []
144-
extends: .install-node-yarn-dependencies
87+
before_script:
88+
- sudo chown -R $(whoami):$(whoami) .
89+
- !reference [.install-dependencies, before_script]
14590
script:
14691
- /bin/bash ./scripts/benchmark.sh "evaluation"
14792
allow_failure: false
14893

94+
build-dev:
95+
stage: build
96+
before_script:
97+
- apk update
98+
- apk add bash
99+
- apk add git
100+
script:
101+
- yarn install
102+
- yarn build
103+
artifacts:
104+
paths:
105+
- "dist/"
106+
allow_failure: false
107+
108+
build-storybook:
109+
stage: build
110+
before_script:
111+
- apk update
112+
- apk add bash
113+
- apk add git
114+
script:
115+
- yarn install
116+
- rm -rf stories/remote.stories.js
117+
- file_path="stories/oth.stories.js"
118+
- sed -i '/export const localLiveMonitoring = createPalindrome.bind({});/,/};/d' $file_path
119+
- file_path="stories/mvp.stories.js"
120+
- sed -i "/export const hybridMultiviewport = createMultipleViewPorts.bind({});/,/};/d" "$file_path"
121+
- sed -i "/export const benchmarkMultiviewport = createMultipleViewPorts.bind({});/,/};/d" "$file_path"
122+
- yarn build-storybook
123+
artifacts:
124+
paths:
125+
- "storybook-static/"
126+
allow_failure: false
127+
149128
pages:
150129
stage: deploy
151130
image: busybox
@@ -157,6 +136,7 @@ pages:
157136
paths:
158137
- "public/"
159138
allow_failure: false
139+
when: manual
160140

161141
gh-pages:
162142
stage: deploy

cypress/e2e/dev/remote_data_sources.cy.js

-60
This file was deleted.

data-examples/mvpBenchGenerator.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { heavyRemoteSchema } from "./heavy_remote_data"
2-
import { remoteSchema } from "./remote_data"
1+
import { heavyRemoteSchema } from "./remote_heavyRemoteData"
2+
import { remoteSchema } from "./remote_remoteData"
33

44
const remoteData = {
55
title: 'Remote Data',

data-examples/mvp_benchmarkGridRemoteData.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { heavyRemoteSchema } from "./heavy_remote_data"
2-
import { remoteSchema } from "./remote_data"
1+
import { heavyRemoteSchema } from "./remote_heavyRemoteData"
2+
import { remoteSchema } from "./remote_remoteData"
33

44
export const benchmarkRemoteData = () => {
55
return {

data-examples/mvp_hybridMultiplePalindromes.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ import { dcEnergeticEfficiency } from "./dc_EnergeticEfficiency"
33
import { dcFullMap } from "./dc_FullMap"
44
import { debugTwoLayersFourPoints } from "./debug_TwoLayersFourPoints"
55
import { debugTwoLayersThreePoints } from "./debug_TwoLayersThreePoints"
6-
import { heavyRemoteSchema } from "./heavy_remote_data"
7-
import { remoteSchema } from "./remote_data"
6+
import { heavyRemoteSchema } from "./remote_heavyRemoteData"
7+
import { remoteSchema } from "./remote_remoteData"
88

99
export const hybridMultiplePalindromes = () => {
1010
return {

data-examples/heavy_remote_data.js data-examples/remote_heavyRemoteData.js

+8-8
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ export function heavyRemoteSchema() {
4343
label: 'Disk Weighted IO Time',
4444
unit: 'MS',
4545
id: 'diskWIOT-id',
46-
query: 'from(bucket: "Palindrome.js") |> range(start:-1m) |> filter(fn: (r) => r["_measurement"] == "diskio") |> filter(fn: (r) => r["_field"] == "weighted_io_time") |> filter(fn: (r) => r["name"] == "sda")',
46+
query: 'from(bucket: "Palindrome.js") |> range(start:-1m) |> filter(fn: (r) => r["_measurement"] == "diskio") |> filter(fn: (r) => r["_field"] == "weighted_io_time") ',
4747
ranges: [0, 500, 1000],
4848
dataProviderId: "influxdb-1",
4949
remoteDataFetchPace: 6000
@@ -52,7 +52,7 @@ export function heavyRemoteSchema() {
5252
label: 'Disk Write Time',
5353
unit: 'MS',
5454
id: 'diskWT-id',
55-
query: 'from(bucket: "Palindrome.js") |> range(start:-1m) |> filter(fn: (r) => r["_measurement"] == "diskio") |> filter(fn: (r) => r["_field"] == "write_time") |> filter(fn: (r) => r["name"] == "sda")',
55+
query: 'from(bucket: "Palindrome.js") |> range(start:-1m) |> filter(fn: (r) => r["_measurement"] == "diskio") |> filter(fn: (r) => r["_field"] == "write_time") ',
5656
ranges: [0, 500, 1000],
5757
dataProviderId: "influxdb-1"
5858
},
@@ -148,7 +148,7 @@ export function heavyRemoteSchema() {
148148
label: 'Disk Weighted IO Time',
149149
unit: 'MS',
150150
id: 'diskWIOT-id2',
151-
query: 'from(bucket: "Palindrome.js") |> range(start:-1m) |> filter(fn: (r) => r["_measurement"] == "diskio") |> filter(fn: (r) => r["_field"] == "weighted_io_time") |> filter(fn: (r) => r["name"] == "sda")',
151+
query: 'from(bucket: "Palindrome.js") |> range(start:-1m) |> filter(fn: (r) => r["_measurement"] == "diskio") |> filter(fn: (r) => r["_field"] == "weighted_io_time") ',
152152
ranges: [0, 500, 1000],
153153
dataProviderId: "influxdb-1",
154154
remoteDataFetchPace: 6000
@@ -157,7 +157,7 @@ export function heavyRemoteSchema() {
157157
label: 'Disk Write Time',
158158
unit: 'MS',
159159
id: 'diskWT-id2',
160-
query: 'from(bucket: "Palindrome.js") |> range(start:-1m) |> filter(fn: (r) => r["_measurement"] == "diskio") |> filter(fn: (r) => r["_field"] == "write_time") |> filter(fn: (r) => r["name"] == "sda")',
160+
query: 'from(bucket: "Palindrome.js") |> range(start:-1m) |> filter(fn: (r) => r["_measurement"] == "diskio") |> filter(fn: (r) => r["_field"] == "write_time") ',
161161
ranges: [0, 500, 1000],
162162
dataProviderId: "influxdb-1"
163163
},
@@ -253,7 +253,7 @@ export function heavyRemoteSchema() {
253253
label: 'Disk Weighted IO Time',
254254
unit: 'MS',
255255
id: 'diskWIOT-id3',
256-
query: 'from(bucket: "Palindrome.js") |> range(start:-1m) |> filter(fn: (r) => r["_measurement"] == "diskio") |> filter(fn: (r) => r["_field"] == "weighted_io_time") |> filter(fn: (r) => r["name"] == "sda")',
256+
query: 'from(bucket: "Palindrome.js") |> range(start:-1m) |> filter(fn: (r) => r["_measurement"] == "diskio") |> filter(fn: (r) => r["_field"] == "weighted_io_time") ',
257257
ranges: [0, 500, 1000],
258258
dataProviderId: "influxdb-1",
259259
remoteDataFetchPace: 6000
@@ -262,7 +262,7 @@ export function heavyRemoteSchema() {
262262
label: 'Disk Write Time',
263263
unit: 'MS',
264264
id: 'diskWT-id3',
265-
query: 'from(bucket: "Palindrome.js") |> range(start:-1m) |> filter(fn: (r) => r["_measurement"] == "diskio") |> filter(fn: (r) => r["_field"] == "write_time") |> filter(fn: (r) => r["name"] == "sda")',
265+
query: 'from(bucket: "Palindrome.js") |> range(start:-1m) |> filter(fn: (r) => r["_measurement"] == "diskio") |> filter(fn: (r) => r["_field"] == "write_time") ',
266266
ranges: [0, 500, 1000],
267267
dataProviderId: "influxdb-1"
268268
},
@@ -358,7 +358,7 @@ export function heavyRemoteSchema() {
358358
label: 'Disk Weighted IO Time',
359359
unit: 'MS',
360360
id: 'diskWIOT-id4',
361-
query: 'from(bucket: "Palindrome.js") |> range(start:-1m) |> filter(fn: (r) => r["_measurement"] == "diskio") |> filter(fn: (r) => r["_field"] == "weighted_io_time") |> filter(fn: (r) => r["name"] == "sda")',
361+
query: 'from(bucket: "Palindrome.js") |> range(start:-1m) |> filter(fn: (r) => r["_measurement"] == "diskio") |> filter(fn: (r) => r["_field"] == "weighted_io_time") ',
362362
ranges: [0, 500, 1000],
363363
dataProviderId: "influxdb-1",
364364
remoteDataFetchPace: 6000
@@ -367,7 +367,7 @@ export function heavyRemoteSchema() {
367367
label: 'Disk Write Time',
368368
unit: 'MS',
369369
id: 'diskWT-id4',
370-
query: 'from(bucket: "Palindrome.js") |> range(start:-1m) |> filter(fn: (r) => r["_measurement"] == "diskio") |> filter(fn: (r) => r["_field"] == "write_time") |> filter(fn: (r) => r["name"] == "sda")',
370+
query: 'from(bucket: "Palindrome.js") |> range(start:-1m) |> filter(fn: (r) => r["_measurement"] == "diskio") |> filter(fn: (r) => r["_field"] == "write_time") ',
371371
ranges: [0, 500, 1000],
372372
dataProviderId: "influxdb-1"
373373
},

data-examples/remote_data.js data-examples/remote_remoteData.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ export function remoteSchema() {
4343
label: 'Disk Weighted IO Time',
4444
unit: 'MS',
4545
id: 'diskWIOT-id',
46-
query: 'from(bucket: "Palindrome.js") |> range(start:-1m) |> filter(fn: (r) => r["_measurement"] == "diskio") |> filter(fn: (r) => r["_field"] == "weighted_io_time") |> filter(fn: (r) => r["name"] == "sda")',
46+
query: 'from(bucket: "Palindrome.js") |> range(start:-1m) |> filter(fn: (r) => r["_measurement"] == "diskio") |> filter(fn: (r) => r["_field"] == "weighted_io_time") ',
4747
ranges: [0, 500, 1000],
4848
dataProviderId: "influxdb-1",
4949
remoteDataFetchPace: 6000
@@ -52,7 +52,7 @@ export function remoteSchema() {
5252
label: 'Disk Write Time',
5353
unit: 'MS',
5454
id: 'diskWT-id',
55-
query: 'from(bucket: "Palindrome.js") |> range(start:-1m) |> filter(fn: (r) => r["_measurement"] == "diskio") |> filter(fn: (r) => r["_field"] == "write_time") |> filter(fn: (r) => r["name"] == "sda")',
55+
query: 'from(bucket: "Palindrome.js") |> range(start:-1m) |> filter(fn: (r) => r["_measurement"] == "diskio") |> filter(fn: (r) => r["_field"] == "write_time")',
5656
ranges: [0, 500, 1000],
5757
dataProviderId: "influxdb-1"
5858
},

dev/utils/controls.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ import { logicFiveThreeTwo } from "../../data-examples/logic_FiveThreeTwo";
1111
import { logicFourValued } from "../../data-examples/logic_FourValued";
1212
import { logicTernary } from "../../data-examples/logic_Ternary";
1313
import { pyramidOfMaslows } from "../../data-examples/oth_pyramid_of_maslows";
14-
import { remoteSchema } from "../../data-examples/remote_data";
15-
import { heavyRemoteSchema } from "../../data-examples/heavy_remote_data";
14+
import { remoteSchema } from "../../data-examples/remote_remoteData";
15+
import { heavyRemoteSchema } from "../../data-examples/remote_heavyRemoteData";
1616
import { remoteSchemaValidator } from "../../src/utils/dataStructureValidationUtils";
1717
import { hybridMultiplePalindromes } from "../../data-examples/mvp_hybridMultiplePalindromes";
1818
import { openMeteo } from "../../data-examples/oth_api_open_meteo_com";

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@smile/palindrome.js",
3-
"version": "1.0.9",
3+
"version": "1.5.0",
44
"homepage": "https://Smile-SA.github.io/palindrome.js",
55
"description": "3D monitoring for metrics and KPIs",
66
"default": "index.html",

scripts/benchmark/benchmark-dependencies.sh

+2-5
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,8 @@
22

33
# Set sudo prefix depending on situation
44
declare -g cmd_prefix
5-
if [[ -n "${GITLAB_CI}" ]]; then
6-
cmd_prefix=""
7-
else
8-
cmd_prefix="sudo"
9-
fi
5+
6+
cmd_prefix="sudo"
107

118
# Update the package manager
129
${cmd_prefix} apt update -y

scripts/generateStaticDataStructure.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { remoteSchema } from "../data-examples/remote_data.js";
1+
import { remoteSchema } from "../data-examples/remote_remoteData.js";
22
import { fetchFromDataProviders } from "../src/utils/fetchUtils.js";
33
import { writeFile } from 'fs/promises';
44

0 commit comments

Comments
 (0)