Skip to content

Commit 3230ec4

Browse files
Merge branch 'master' into feat/type-improvements
2 parents 3c44ad8 + 4995141 commit 3230ec4

File tree

36 files changed

+1312
-1749
lines changed

36 files changed

+1312
-1749
lines changed

.github/workflows/main.yml

Lines changed: 17 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -242,92 +242,14 @@ jobs:
242242
/sbin/my_init &
243243
node bin/scripts/test.connection.js
244244
npx grunt mochaTest
245-
ui-test-dashboard:
246-
runs-on: ubuntu-latest
247-
248-
services:
249-
mongodb:
250-
image: mongo:8.0
251-
options: >-
252-
--health-cmd mongosh
253-
--health-interval 10s
254-
--health-timeout 5s
255-
--health-retries 5
256-
ports:
257-
- 27017:27017
258-
259-
container:
260-
image: countly/countly-core:pipelines-${{ inputs.custom_tag || github.base_ref || github.ref_name }}
261-
env:
262-
COUNTLY_CONFIG__MONGODB_HOST: mongodb
263-
COUNTLY_CONFIG_API_PREVENT_JOBS: true
264245
265-
steps:
266-
- uses: actions/checkout@v4
267-
268-
- name: Install Chrome
269-
shell: bash
270-
run: |
271-
apt update
272-
apt install -y libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libgconf-2-4 libnss3 libxss1 libasound2 libxtst6 xauth xvfb wget
273-
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb -O /tmp/chrome.deb
274-
apt install -y /tmp/chrome.deb
275-
276-
- name: Copy code
277-
shell: bash
278-
run: cp -rf ./* /opt/countly
279-
280-
- name: Prepare files to use correct MongoDB host
281-
shell: bash
282-
run: "sed -i 's/mongosh --quiet/mongosh --host mongodb --quiet/' /opt/countly/bin/backup/import_events.sh && sed -i 's/mongoimport --db/mongoimport --host mongodb --db/' /opt/countly/bin/backup/import_events.sh"
283-
284-
- name: NPM install
285-
shell: bash
286-
working-directory: /opt/countly
287-
run: npm install
288-
289-
- name: Prepare environment
290-
shell: bash
291-
working-directory: /opt/countly
292-
run: |
293-
sed -i 's/port: 3001,/port: 3001, workers: 1,/' /opt/countly/api/config.js
294-
cp "./plugins/plugins.default.json" "/opt/countly/plugins/plugins.json"
295-
npm install
296-
sudo countly task dist-all
297-
bash bin/backup/import_events.sh
298-
bash bin/scripts/countly.prepare.ce.tests.sh
299-
countly add_user '${{ secrets.CYPRESS_USER_EMAIL }}' '${{ secrets.CYPRESS_USER_PASSWORD }}'
300-
mongosh --host mongodb --eval 'db.getSiblingDB("countly").members.updateOne({username: "${{ secrets.CYPRESS_USER_EMAIL }}"}, {$set: {username: "${{ secrets.CYPRESS_USER_USERNAME }}", subscribe_newsletter: true}});'
301-
mongosh --host mongodb --eval 'db.getSiblingDB("countly").plugins.updateOne({_id: "plugins"}, {$set: {"frontend.countly_tracking": true}});'
302-
cd ui-tests
303-
echo '{"username": "${{ secrets.CYPRESS_USER_USERNAME }}","email": "${{ secrets.CYPRESS_USER_EMAIL }}","password": "${{ secrets.CYPRESS_USER_PASSWORD }}"}' > cypress/fixtures/user.json
304-
sed -i 's/00000000-0000-0000-0000-000000000000/${{ secrets.CYPRESS_KEY }}/g' package.json
305-
cp cypress.config.sample.js cypress.config.js
306-
sed -i 's/000000/${{ secrets.CYPRESS_PROJECT_ID }}/g' cypress.config.js
307-
308-
- name: Run UI tests
309-
shell: bash
310-
working-directory: /opt/countly
311-
run: |
312-
/sbin/my_init &
313-
cd ui-tests
314-
npm install
315-
xvfb-run --auto-servernum --server-args="-screen 0 1280x1024x24" \
316-
npm run cy:run:dashboard
317-
318-
- name: Upload UI tests artifacts
319-
if: ${{ failure() }}
320-
shell: bash
321-
working-directory: /opt/countly/ui-tests/cypress
322-
run: |
323-
ARTIFACT_ARCHIVE_NAME="$(date '+%Y%m%d-%H.%M')_${GITHUB_REPOSITORY#*/}_CI#${{ github.run_number }}.tar.gz"
324-
mkdir -p screenshots videos
325-
tar zcvf "$ARTIFACT_ARCHIVE_NAME" screenshots videos
326-
curl -o /tmp/uploader.log -u "${{ secrets.BOX_UPLOAD_AUTH }}" ${{ secrets.BOX_UPLOAD_PATH }} -T "$ARTIFACT_ARCHIVE_NAME"
327-
328-
ui-test-onboarding:
246+
ui-tests:
329247
runs-on: ubuntu-latest
330248

249+
strategy:
250+
matrix:
251+
test_type: [dashboard, onboarding]
252+
331253
services:
332254
mongodb:
333255
image: mongo:8.0
@@ -377,7 +299,13 @@ jobs:
377299
cp "./plugins/plugins.default.json" "/opt/countly/plugins/plugins.json"
378300
npm install
379301
sudo countly task dist-all
302+
bash bin/backup/import_events.sh
380303
bash bin/scripts/countly.prepare.ce.tests.sh
304+
if [ "${{ matrix.test_type }}" = "dashboard" ]; then
305+
countly add_user '${{ secrets.CYPRESS_USER_EMAIL }}' '${{ secrets.CYPRESS_USER_PASSWORD }}'
306+
mongosh --host mongodb --eval 'db.getSiblingDB("countly").members.updateOne({username: "${{ secrets.CYPRESS_USER_EMAIL }}"}, {$set: {username: "${{ secrets.CYPRESS_USER_USERNAME }}", subscribe_newsletter: true}});'
307+
mongosh --host mongodb --eval 'db.getSiblingDB("countly").plugins.updateOne({_id: "plugins"}, {$set: {"frontend.countly_tracking": true}});'
308+
fi
381309
cd ui-tests
382310
echo '{"username": "${{ secrets.CYPRESS_USER_USERNAME }}","email": "${{ secrets.CYPRESS_USER_EMAIL }}","password": "${{ secrets.CYPRESS_USER_PASSWORD }}"}' > cypress/fixtures/user.json
383311
sed -i 's/00000000-0000-0000-0000-000000000000/${{ secrets.CYPRESS_KEY }}/g' package.json
@@ -391,15 +319,18 @@ jobs:
391319
/sbin/my_init &
392320
cd ui-tests
393321
npm install
394-
xvfb-run --auto-servernum --server-args="-screen 0 1280x1024x24" \
395-
npm run cy:run:onboarding
322+
if [ "${{ matrix.test_type }}" = "dashboard" ]; then
323+
xvfb-run --auto-servernum --server-args="-screen 0 1280x1024x24" npm run cy:run:dashboard
324+
else
325+
xvfb-run --auto-servernum --server-args="-screen 0 1280x1024x24" npm run cy:run:onboarding
326+
fi
396327
397328
- name: Upload UI tests artifacts
398329
if: ${{ failure() }}
399330
shell: bash
400331
working-directory: /opt/countly/ui-tests/cypress
401332
run: |
402-
ARTIFACT_ARCHIVE_NAME="$(date '+%Y%m%d-%H.%M')_${GITHUB_REPOSITORY#*/}_CI#${{ github.run_number }}.tar.gz"
333+
ARTIFACT_ARCHIVE_NAME="$(date '+%Y%m%d-%H.%M')_${GITHUB_REPOSITORY#*/}_CI#${{ github.run_number }}_${{ matrix.test_type }}.tar.gz"
403334
mkdir -p screenshots videos
404335
tar zcvf "$ARTIFACT_ARCHIVE_NAME" screenshots videos
405336
curl -o /tmp/uploader.log -u "${{ secrets.BOX_UPLOAD_AUTH }}" ${{ secrets.BOX_UPLOAD_PATH }} -T "$ARTIFACT_ARCHIVE_NAME"

CHANGELOG.md

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,51 @@
1-
## Version 25.03.x
1+
## Version 25.03.7
22
Enterprise Features:
3+
- [funnels] Added explanatory tooltip for filters section on Funnel Detail page
4+
5+
Fixes:
6+
- [core] Applied some fixes to user-merge, togetExportScripts, sharding, delete_old_drill_events, add_indexes script
7+
- [core] Fix/docker python vulnerabilities
8+
- [core] Allow chrome to launch multiple instances to fix blank dashboard emails
9+
- [formulas] Fix loading state when selecting event count
10+
11+
Enterprise Fixes:
12+
- [active-users] Fixed bug related to selecting calculation ranges. As a result, some dates were previously calculated on incomplete data set
13+
- [journey-engine] Undefined value check for cooldown in Engagement Queue
14+
- [star-rating] Fix consent text limit counter
15+
16+
Dependencies:
17+
- Bump sass from 1.89.1 to 1.89.2
18+
- Bump puppeteer from 24.10.0 to 24.10.1
19+
- Bump countly-sdk-nodejs from 24.10.1 to 24.10.2
20+
- Bump sass-embedded in /plugins/content from 1.89.1 to 1.89.2
21+
- Bump @vue-flow/node-resizer in /plugins/content from 1.4.0 to 1.5.0
22+
- Bump @vue-flow/core in /plugins/content from 1.44.0 to 1.45.0
23+
- Bump vue-i18n in /plugins/content from 11.1.5 to 11.1.6
24+
- Bump terser in /plugins/content from 5.42.0 to 5.43.0
25+
- Bump mockttp in /plugins/crash_symbolication from 3.17.1 to 4.0.0
26+
27+
## Version 25.03.6
28+
Enterprise Features:
29+
- [journey_engine] Publish toggle is converted into button and rearranged
330
- [journey_engine] Record Event block added
431
- [llm interaction] Add LLM interaction event
532
- [oidc] PKCE Flow support added
633

734
Fixes:
35+
- [core] Fix auto refresh frontend component
836
- [core] Unifying alphabetical order for dropdowns with dashboard apps
37+
- [formulas] Fix loading state when selecting event count
938
- [hooks] Added null check for incoming data
10-
- [core] Fix auto refresh frontend component
11-
- [times-of-day] Fix chart component
1239
- [push] Fix external drawer initialization
40+
- [times-of-day] Fix chart component
1341

1442
Enterprise Fixes:
1543
- [content] Asset URL was wrongly constructed when user switches between apps
1644
- [ab-testing] Updates
1745
- Do not wait for result calculation when requesting experiments
1846
- Do not calculate result for completed experiments
1947
- [drill] [license] Shorten warning period from 14 days to 3 days
48+
- [drill] Fix query for users in drill that leads to severe server slowdown
2049
- [license] Fix chart legend
2150

2251
Dependencies:
@@ -4729,4 +4758,4 @@ This version provides several features and bugfixes to both server and SDKs. The
47294758
admin or user. An admin of an application can edit application settings.
47304759
A user of an application can only view analytics for that application
47314760
and cannot edit its settings.
4732-
* Added csfr protection to all methods provided through app.js.
4761+
* Added csfr protection to all methods provided through app.js.

Dockerfile-api

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,15 @@ RUN apt-get update && \
3030
RUN apt-get update && \
3131
apt-get upgrade -y && \
3232
cd /usr/src && \
33-
wget https://www.python.org/ftp/python/3.8.12/Python-3.8.12.tar.xz && \
34-
tar -xf Python-3.8.12.tar.xz && \
33+
wget https://www.python.org/ftp/python/3.8.20/Python-3.8.20.tar.xz && \
34+
tar -xf Python-3.8.20.tar.xz && \
3535
apt-get install -y build-essential sudo zlib1g-dev libssl3 libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev libreadline-dev libffi-dev curl libbz2-dev && \
36-
cd Python-3.8.12 && \
36+
cd Python-3.8.20 && \
3737
./configure --enable-optimizations --enable-shared && \
3838
make && \
3939
make altinstall && \
40-
ldconfig /usr/src/Python-3.8.12 && \
41-
ln -s /usr/local/bin/python3.8 /usr/bin/python3
40+
ldconfig /usr/src/Python-3.8.20 && \
41+
ln -sf /usr/local/bin/python3.8 /usr/bin/python3
4242

4343
RUN curl -s -L -o /tmp/tini.deb "https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini_${TINI_VERSION}.deb" && \
4444
dpkg -i /tmp/tini.deb && \
@@ -55,13 +55,16 @@ RUN curl -s -L -o /tmp/tini.deb "https://github.com/krallin/tini/releases/downlo
5555
HOME=/tmp npm install argon2 --build-from-source --unsafe-perm=true --allow-root && \
5656
./bin/docker/preinstall.sh && \
5757
bash /opt/countly/bin/scripts/detect.init.sh && \
58+
python3.8 -m pip install --upgrade pip setuptools && \
5859
\
5960
# cleanup & chown
6061
npm remove -y --no-save mocha nyc should supertest && \
62+
apt-get purge -y python3 python3-pip python3-distutils python3-setuptools && \
6163
apt-get remove -y git gcc g++ make automake autoconf libtool pkg-config unzip sqlite3 wget && \
6264
apt-get install -y libgbm-dev libgbm1 gconf-service libasound2 libatk1.0-0 libatk-bridge2.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils && \
6365
apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \
64-
rm -rf test /tmp/* /tmp/.??* /var/tmp/* /var/tmp/.??* /var/log/* /root/.npm && \
66+
apt-get autoremove -y && \
67+
rm -rf test /tmp/* /tmp/.??* /var/tmp/* /var/tmp/.??* /var/log/* /root/.npm /usr/local/lib/python3.8/ensurepip/_bundled/*.whl /usr/src/Python* /var/lib/dpkg/info/python3* && \
6568
\
6669
# temporary to remove npm bug message
6770
mkdir /.npm && chown -R 1001:0 /.npm && \
@@ -76,4 +79,4 @@ USER 1001:0
7679

7780
ENTRYPOINT ["/usr/bin/tini", "-v", "--"]
7881

79-
CMD ["/opt/countly/bin/docker/cmd.sh"]
82+
CMD ["/opt/countly/bin/docker/cmd.sh"]

Dockerfile-frontend

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,15 @@ RUN apt-get update && \
2626
RUN apt-get update && \
2727
apt-get upgrade -y && \
2828
cd /usr/src && \
29-
wget https://www.python.org/ftp/python/3.8.12/Python-3.8.12.tar.xz && \
30-
tar -xf Python-3.8.12.tar.xz && \
29+
wget https://www.python.org/ftp/python/3.8.20/Python-3.8.20.tar.xz && \
30+
tar -xf Python-3.8.20.tar.xz && \
3131
apt-get install -y build-essential sudo zlib1g-dev libssl3 libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev libreadline-dev libffi-dev curl libbz2-dev && \
32-
cd Python-3.8.12 && \
32+
cd Python-3.8.20 && \
3333
./configure --enable-optimizations --enable-shared && \
3434
make && \
3535
make altinstall && \
36-
ldconfig /usr/src/Python-3.8.12 && \
37-
ln -s /usr/local/bin/python3.8 /usr/bin/python3
36+
ldconfig /usr/src/Python-3.8.20 && \
37+
ln -sf /usr/local/bin/python3.8 /usr/bin/python3
3838

3939
RUN curl -s -L -o /tmp/tini.deb "https://github.com/krallin/tini/releases/download/v${TINI_VERSION}/tini_${TINI_VERSION}.deb" && \
4040
dpkg -i /tmp/tini.deb && \
@@ -52,14 +52,17 @@ RUN curl -s -L -o /tmp/tini.deb "https://github.com/krallin/tini/releases/downlo
5252
HOME=/tmp npm install argon2 --build-from-source --unsafe-perm=true --allow-root && \
5353
./bin/docker/preinstall.sh && \
5454
bash /opt/countly/bin/scripts/detect.init.sh && \
55-
countly update sdk-web && \
55+
python3.8 -m pip install --upgrade pip setuptools && \
56+
countly update sdk-web && \
5657
\
5758
# cleanup & chown
5859
npm remove -y --no-save mocha nyc should supertest puppeteer && \
59-
apt-get remove -y git gcc g++ make automake autoconf libtool pkg-config unzip sqlite3 wget && \
60+
apt-get purge -y python3 python3-pip python3-distutils python3-setuptools && \
61+
apt-get remove -y git gcc g++ make automake autoconf libtool pkg-config unzip sqlite3 wget && \
6062
apt-get autoremove -y && \
6163
apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && \
62-
rm -rf test /tmp/* /tmp/.??* /var/tmp/* /var/tmp/.??* /var/log/* /root/.npm && \
64+
apt-get autoremove -y && \
65+
rm -rf test /tmp/* /tmp/.??* /var/tmp/* /var/tmp/.??* /var/log/* /root/.npm /usr/local/lib/python3.8/ensurepip/_bundled/*.whl /usr/src/Python* /var/lib/dpkg/info/python3* && \
6366
\
6467
# temporary to remove npm bug message
6568
mkdir /.npm && chown -R 1001:0 /.npm && \

0 commit comments

Comments
 (0)