Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

[馃悰 Bug]: Can't get variables from /videos/uploadpipe #2007

Closed
Doofus100500 opened this issue Nov 13, 2023 · 9 comments 路 Fixed by #2009
Closed

[馃悰 Bug]: Can't get variables from /videos/uploadpipe #2007

Doofus100500 opened this issue Nov 13, 2023 · 9 comments 路 Fixed by #2009

Comments

@Doofus100500
Copy link
Contributor

What happened?

In the container uploader, it is not possible to retrieve the variables FILE and DESTINATION.

code:

s3:
imageName: my image/s3-uploader
imageTag: "$CI_JOB_STAGE.$CI_PIPELINE_IID"
imagePullPolicy: IfNotPresent
securityContext:
runAsUser: 0
command:
- /bin/bash
args:
- -c
- |
while ! [ -p /videos/uploadpipe ]
do
echo Waiting for /videos/uploadpipe to be created
sleep 1
done
echo Waiting for files to upload
while read FILE DESTINATION < /videos/uploadpipe
do
ls -la /videos/
echo "FILE='$FILE' DEST='$DESTINATION'"
if [ "$FILE" = "exit" ]; then
echo "filname=exit"
break
else
echo "FILE=$FILE DEST=$DESTINATION"
rclone copy $FILE $DESTINATION
fi
done

Command used to start Selenium Grid with Docker

helm chart

Relevant log output

Log from video container:
null
No session in progress
null
No session in progress
8f09cc68282c74cd45989aa02842d4c4
Starting to record video
Video recording started
ffmpeg version 6.0 Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 10.2.1 (Alpine 10.2.1_pre1) 20201203
  configuration: --disable-debug --disable-doc --disable-ffplay --enable-fontconfig --enable-gpl --enable-libaom --enable-libaribb24 --enable-libass --enable-libbluray --enable-libfdk_aac --enable-libfreetype --enable-libkvazaar --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libsrt --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxvid --enable-libzmq --enable-nonfree --enable-openssl --enable-postproc --enable-shared --enable-small --enable-version3 --extra-cflags=-I/opt/ffmpeg/include --extra-ldflags=-L/opt/ffmpeg/lib --extra-libs=-ldl --extra-libs=-lpthread --prefix=/opt/ffmpeg
  libavutil      58.  2.100 / 58.  2.100
  libavcodec     60.  3.100 / 60.  3.100
  libavformat    60.  3.100 / 60.  3.100
  libavdevice    60.  1.100 / 60.  1.100
  libavfilter     9.  3.100 /  9.  3.100
  libswscale      7.  1.100 /  7.  1.100
  libswresample   4. 10.100 /  4. 10.100
  libpostproc    57.  1.100 / 57.  1.100
8f09cc68282c74cd45989aa02842d4c4
Video recording in progress
[x11grab @ 0x7f6bd11d9680] Stream #0: not enough frames to estimate rate; consider increasing probesize
Input #0, x11grab, from 'localhost:99.0':
  Duration: N/A, start: 1699876583.225848, bitrate: 665856 kb/s
  Stream #0:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 1360x1020, 665856 kb/s, 15 fps, 1000k tbr, 1000k tbn
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))
[libx264 @ 0x7f6bcf4e1bc0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 AVX2 LZCNT BMI2
[libx264 @ 0x7f6bcf4e1bc0] profile Constrained Baseline, level 4.0
[libx264 @ 0x7f6bcf4e1bc0] 264 - core 148 - H.264/MPEG-4 AVC codec - Copyleft 2003-2016 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=32 lookahead_threads=5 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=15 scenecut=0 intra_refresh=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0
Output #0, mp4, to '/videos/8f09cc68282c74cd45989aa02842d4c4.mp4':
  Metadata:
    encoder         : Lavf60.3.100
  Stream #0:0: Video: h264 (avc1 / 0x31637661), yuv420p(tv, progressive), 1360x1020, q=2-31, 15 fps, 15360 tbn
    Metadata:
      encoder         : Lavc60.3.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
frame=    0 fps=0.0 q=0.0 size=       0kB time=-577014:32:22.77 bitrate=  -0.0kbits/s speed=N/A    
frame=    0 fps=0.0 q=0.0 size=       0kB time=-577014:32:22.77 bitrate=  -0.0kbits/s speed=N/A    
8f09cc68282c74cd45989aa02842d4c4
Video recording in progress
frame=    0 fps=0.0 q=0.0 size=       0kB time=-577014:32:22.77 bitrate=  -0.0kbits/s speed=N/A    
frame=    0 fps=0.0 q=0.0 size=       0kB time=-577014:32:22.77 bitrate=  -0.0kbits/s speed=N/A    
8f09cc68282c74cd45989aa02842d4c4
Video recording in progress
frame=    0 fps=0.0 q=11.0 size=       0kB time=00:00:00.00 bitrate=N/A speed=   0x    
frame=    8 fps=3.0 q=11.0 size=       0kB time=00:00:00.53 bitrate=   0.7kbits/s speed=0.199x    
frame=   16 fps=5.0 q=12.0 size=       0kB time=00:00:01.06 bitrate=   0.4kbits/s speed=0.333x    
8f09cc68282c74cd45989aa02842d4c4
Video recording in progress
frame=   24 fps=6.4 q=11.0 size=       0kB time=00:00:01.60 bitrate=   0.2kbits/s speed=0.429x    
frame=   32 fps=7.5 q=11.0 size=       0kB time=00:00:02.13 bitrate=   0.2kbits/s speed=0.499x    
8f09cc68282c74cd45989aa02842d4c4
Video recording in progress
frame=   39 fps=8.2 q=11.0 size=       0kB time=00:00:02.60 bitrate=   0.1kbits/s speed=0.544x    
frame=   48 fps=8.9 q=11.0 size=       0kB time=00:00:03.20 bitrate=   0.1kbits/s speed=0.595x    
8f09cc68282c74cd45989aa02842d4c4
Video recording in progress
frame=   57 fps=9.5 q=11.0 size=       0kB time=00:00:03.80 bitrate=   0.1kbits/s speed=0.636x    
frame=   65 fps= 10 q=11.0 size=       0kB time=00:00:04.33 bitrate=   0.1kbits/s speed=0.669x    
8f09cc68282c74cd45989aa02842d4c4
Video recording in progress
frame=   73 fps= 10 q=11.0 size=       0kB time=00:00:04.86 bitrate=   0.1kbits/s speed=0.696x    
frame=   81 fps= 11 q=11.0 size=       0kB time=00:00:05.40 bitrate=   0.1kbits/s speed=0.717x    
8f09cc68282c74cd45989aa02842d4c4
Video recording in progress
frame=   89 fps= 11 q=11.0 size=       0kB time=00:00:05.93 bitrate=   0.1kbits/s speed=0.736x    
frame=   97 fps= 11 q=11.0 size=       0kB time=00:00:06.46 bitrate=   0.1kbits/s speed=0.752x    
8f09cc68282c74cd45989aa02842d4c4
Video recording in progress
frame=  105 fps= 12 q=11.0 size=       0kB time=00:00:07.00 bitrate=   0.1kbits/s speed=0.767x    
frame=  113 fps= 12 q=11.0 size=       0kB time=00:00:07.53 bitrate=   0.1kbits/s speed=0.78x    
8f09cc68282c74cd45989aa02842d4c4
Video recording in progress
frame=  121 fps= 12 q=11.0 size=       0kB time=00:00:08.06 bitrate=   0.0kbits/s speed=0.791x    
frame=  129 fps= 12 q=11.0 size=       0kB time=00:00:08.60 bitrate=   0.0kbits/s speed=0.802x    
8f09cc68282c74cd45989aa02842d4c4
Video recording in progress
frame=  137 fps= 12 q=11.0 size=       0kB time=00:00:09.13 bitrate=   0.0kbits/s speed=0.811x    
frame=  145 fps= 12 q=11.0 size=       0kB time=00:00:09.66 bitrate=   0.0kbits/s speed=0.82x    
8f09cc68282c74cd45989aa02842d4c4
Video recording in progress
frame=  153 fps= 12 q=11.0 size=       0kB time=00:00:10.20 bitrate=   0.0kbits/s speed=0.827x    
frame=  161 fps= 13 q=11.0 size=       0kB time=00:00:10.73 bitrate=   0.0kbits/s speed=0.834x    
8f09cc68282c74cd45989aa02842d4c4
Video recording in progress
frame=  169 fps= 13 q=11.0 size=       0kB time=00:00:11.26 bitrate=   0.0kbits/s speed=0.841x    
frame=  177 fps= 13 q=11.0 size=       0kB time=00:00:11.80 bitrate=   0.0kbits/s speed=0.847x    
8f09cc68282c74cd45989aa02842d4c4
Video recording in progress
frame=  185 fps= 13 q=11.0 size=       0kB time=00:00:12.33 bitrate=   0.0kbits/s speed=0.852x    
frame=  193 fps= 13 q=12.0 size=       0kB time=00:00:12.86 bitrate=   0.0kbits/s speed=0.858x    
8f09cc68282c74cd45989aa02842d4c4
Video recording in progress
frame=  201 fps= 13 q=11.0 size=       0kB time=00:00:13.40 bitrate=   0.0kbits/s speed=0.863x    
frame=  209 fps= 13 q=11.0 size=       0kB time=00:00:13.93 bitrate=   0.0kbits/s speed=0.867x    
8f09cc68282c74cd45989aa02842d4c4
Video recording in progress
frame=  217 fps= 13 q=11.0 size=       0kB time=00:00:14.46 bitrate=   0.0kbits/s speed=0.872x    
frame=  225 fps= 13 q=11.0 size=     256kB time=00:00:15.00 bitrate= 139.8kbits/s speed=0.876x    
8f09cc68282c74cd45989aa02842d4c4
Video recording in progress
frame=  233 fps= 13 q=11.0 size=     256kB time=00:00:15.53 bitrate= 135.0kbits/s speed=0.879x    
frame=  241 fps= 13 q=11.0 size=     256kB time=00:00:16.06 bitrate= 130.6kbits/s speed=0.883x    
8f09cc68282c74cd45989aa02842d4c4
Video recording in progress
frame=  249 fps= 13 q=11.0 size=     256kB time=00:00:16.60 bitrate= 126.4kbits/s speed=0.886x    
frame=  257 fps= 13 q=11.0 size=     256kB time=00:00:17.13 bitrate= 122.4kbits/s speed=0.89x    
8f09cc68282c74cd45989aa02842d4c4
Video recording in progress
frame=  265 fps= 13 q=11.0 size=     256kB time=00:00:17.66 bitrate= 118.7kbits/s speed=0.892x    
frame=  273 fps= 13 q=11.0 size=     256kB time=00:00:18.20 bitrate= 115.2kbits/s speed=0.895x    
8f09cc68282c74cd45989aa02842d4c4
Video recording in progress
frame=  281 fps= 13 q=11.0 size=     256kB time=00:00:18.73 bitrate= 112.0kbits/s speed=0.898x    
frame=  289 fps= 14 q=11.0 size=     256kB time=00:00:19.26 bitrate= 108.9kbits/s speed=0.901x    
8f09cc68282c74cd45989aa02842d4c4
Video recording in progress
frame=  297 fps= 14 q=11.0 size=     256kB time=00:00:19.80 bitrate= 105.9kbits/s speed=0.903x    
frame=  305 fps= 14 q=11.0 size=     256kB time=00:00:20.33 bitrate= 103.2kbits/s speed=0.905x    
8f09cc68282c74cd45989aa02842d4c4
Video recording in progress
frame=  313 fps= 14 q=11.0 size=     256kB time=00:00:20.86 bitrate= 100.5kbits/s speed=0.907x    
frame=  321 fps= 14 q=11.0 size=     256kB time=00:00:21.40 bitrate=  98.0kbits/s speed=0.91x    
8f09cc68282c74cd45989aa02842d4c4
Video recording in progress
frame=  329 fps= 14 q=11.0 size=     256kB time=00:00:21.93 bitrate=  95.6kbits/s speed=0.911x    
frame=  337 fps= 14 q=11.0 size=     256kB time=00:00:22.46 bitrate=  93.4kbits/s speed=0.913x    
8f09cc68282c74cd45989aa02842d4c4
Video recording in progress
frame=  345 fps= 14 q=11.0 size=     256kB time=00:00:23.00 bitrate=  91.2kbits/s speed=0.915x    
frame=  353 fps= 14 q=11.0 size=     256kB time=00:00:23.53 bitrate=  89.1kbits/s speed=0.917x    
8f09cc68282c74cd45989aa02842d4c4
Video recording in progress
frame=  361 fps= 14 q=11.0 size=     256kB time=00:00:24.06 bitrate=  87.2kbits/s speed=0.919x    
frame=  369 fps= 14 q=11.0 size=     256kB time=00:00:24.60 bitrate=  85.3kbits/s speed=0.92x    
8f09cc68282c74cd45989aa02842d4c4
Video recording in progress
frame=  377 fps= 14 q=11.0 size=     256kB time=00:00:25.13 bitrate=  83.5kbits/s speed=0.922x    
frame=  385 fps= 14 q=13.0 size=     256kB time=00:00:25.66 bitrate=  81.7kbits/s speed=0.923x    
8f09cc68282c74cd45989aa02842d4c4
Video recording in progress
frame=  393 fps= 14 q=15.0 size=     256kB time=00:00:26.20 bitrate=  80.1kbits/s speed=0.923x    
frame=  401 fps= 14 q=11.0 size=     256kB time=00:00:26.73 bitrate=  78.5kbits/s speed=0.926x    
frame=  408 fps= 14 q=13.0 size=     256kB time=00:00:27.20 bitrate=  77.1kbits/s speed=0.926x    
8f09cc68282c74cd45989aa02842d4c4
Video recording in progress
frame=  416 fps= 14 q=13.0 size=     256kB time=00:00:27.73 bitrate=  75.6kbits/s speed=0.928x    
frame=  424 fps= 14 q=11.0 size=     256kB time=00:00:28.26 bitrate=  74.2kbits/s speed=0.93x    
8f09cc68282c74cd45989aa02842d4c4
Video recording in progress
frame=  432 fps= 14 q=12.0 size=     256kB time=00:00:28.80 bitrate=  72.8kbits/s speed=0.93x    
frame=  440 fps= 14 q=12.0 size=     512kB time=00:00:29.33 bitrate= 143.0kbits/s speed=0.932x    
8f09cc68282c74cd45989aa02842d4c4
Video recording in progress
frame=  447 fps= 14 q=11.0 size=     512kB time=00:00:29.80 bitrate= 140.8kbits/s speed=0.932x    
frame=  456 fps= 14 q=14.0 size=     512kB time=00:00:30.40 bitrate= 138.0kbits/s speed=0.935x    
8f09cc68282c74cd45989aa02842d4c4
Video recording in progress
frame=  464 fps= 14 q=11.0 size=     512kB time=00:00:30.93 bitrate= 135.6kbits/s speed=0.936x    
frame=  472 fps= 14 q=16.0 size=     512kB time=00:00:31.46 bitrate= 133.3kbits/s speed=0.937x    
8f09cc68282c74cd45989aa02842d4c4
Video recording in progress
frame=  480 fps= 14 q=11.0 size=     512kB time=00:00:32.00 bitrate= 131.1kbits/s speed=0.938x    
frame=  488 fps= 14 q=11.0 size=     512kB time=00:00:32.53 bitrate= 128.9kbits/s speed=0.939x    
8f09cc68282c74cd45989aa02842d4c4
Video recording in progress
frame=  496 fps= 14 q=11.0 size=     512kB time=00:00:33.06 bitrate= 126.9kbits/s speed=0.94x    
frame=  504 fps= 14 q=11.0 size=     768kB time=00:00:33.60 bitrate= 187.3kbits/s speed=0.94x    
null
Stopping to record video
ffmpeg -nostdin -y -f x11grab -video_size ${VIDEO_SIZE} -r ${FRAME_RATE} -i ${DISPLAY} -codec:v ${CODEC} ${PRESET} -pix_fmt yuv420p $video_file
frame=  542 fps= 15 q=-1.0 Lsize=     937kB time=00:00:36.06 bitrate= 212.9kbits/s speed=   1x    
video:934kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.314705%
[libx264 @ 0x7f6bcf4e1bc0] frame I:3     Avg QP:12.33  size: 77735
[libx264 @ 0x7f6bcf4e1bc0] frame P:539   Avg QP:11.50  size:  1341
[libx264 @ 0x7f6bcf4e1bc0] mb I  I16..4: 100.0%  0.0%  0.0%
[libx264 @ 0x7f6bcf4e1bc0] mb P  I16..4:  1.2%  0.0%  0.0%  P16..4:  2.5%  0.0%  0.0%  0.0%  0.0%    skip:96.3%
[libx264 @ 0x7f6bcf4e1bc0] coded y,uvDC,uvAC intra: 8.8% 4.2% 4.0% inter: 0.6% 1.4% 0.1%
[libx264 @ 0x7f6bcf4e1bc0] i16 v,h,dc,p: 82% 16%  1%  0%
[libx264 @ 0x7f6bcf4e1bc0] i8c dc,h,v,p: 91%  7%  2%  0%
[libx264 @ 0x7f6bcf4e1bc0] kb/s:211.70
Exiting normally, received signal 2.
ffmpeg exited with code 255
Uploading video to s3:selenium-video/8f09cc68282c74cd45989aa02842d4c4.mp4
null
No session in progress
null
No session in progress
null
No session in progress

Log from uploader container:
Waiting for files to upload
total 868
drwxrwxrwx    2 root     root          4096 Nov 13 11:37 .
drwxr-xr-x    1 root     root          4096 Nov 13 11:36 ..
-rw-r--r--    1 root     root        878734 Nov 13 11:38 f63ec03eb7dfb2d53fabdfd5cdb8e00b.mp4
prw-r--r--    1 root     root             0 Nov 13 11:38 uploadpipe
FILE='' DEST=''
FILE= DEST=
Usage:
  rclone copy source:path dest:path [flags]

Flags:
      --create-empty-src-dirs   Create empty source dirs on destination after copy
  -h, --help                    help for copy

Use "rclone [command] --help" for more information about a command.
Use "rclone help flags" for to see the global flags.
Use "rclone help backends" for a list of supported services.
Command copy needs 2 arguments minimum: you provided 0 non flag arguments: []

Operating System

k8s

Docker Selenium version (tag)

4.15.0-20231102

Copy link

@Doofus100500, thank you for creating this issue. We will troubleshoot it as soon as we can.


Info for maintainers

Triage this issue by using labels.

If information is missing, add a helpful comment and then I-issue-template label.

If the issue is a question, add the I-question label.

If the issue is valid but there is no time to troubleshoot it, consider adding the help wanted label.

If the issue requires changes or fixes from an external project (e.g., ChromeDriver, GeckoDriver, MSEdgeDriver, W3C), add the applicable G-* label, and it will provide the correct link and auto-close the issue.

After troubleshooting the issue, please add the R-awaiting answer label.

Thank you!

@diemol
Copy link
Member

diemol commented Nov 13, 2023

You need to add it here https://github.com/SeleniumHQ/docker-selenium/blob/trunk/Video/Dockerfile, so it is available. Right now they are only in the process.

Copy link

This issue is looking for contributors.

Please comment below or reach out to us through our IRC/Slack/Matrix channels if you are interested.

@VietND96
Copy link
Member

Hi @Doofus100500 , looks like you defined your own container for video uploader and its config script, right?

@Doofus100500
Copy link
Contributor Author

Doofus100500 commented Nov 14, 2023

Hi @VietND96, yes, that's true:
Dockerfile:

FROM docker-proxy.kontur.host/alpine:3.18.0

ARG CONFIG

SHELL ["/bin/ash", "-eo", "pipefail", "-c"]
RUN apk add --update --no-cache bash rclone && \
    mkdir -p ~/.config/rclone/ && \
    echo ${CONFIG} | base64 -d >> ~/.config/rclone/rclone.conf

and here's the workaround solution I found:

s3:
    imageName: my image/s3-uploader
    imageTag: "$CI_JOB_STAGE.$CI_PIPELINE_IID"
    imagePullPolicy: IfNotPresent
    securityContext:
      runAsUser: 0
    command:
    - /bin/sh
    args:
    - -c
    - |
      while ! [ -p /videos/uploadpipe ]
      do
          echo Waiting for /videos/uploadpipe to be created
          sleep 1
      done
      echo Waiting for files to upload
      while read FILE DESTINATION < /videos/uploadpipe
      do
          if [ "$FILE" = "exit" ]
          then
              break
          else
              rclone copy /videos/ s3:selenium-video/ --include "*.mp4"
              if [ $? -eq 0 ]; then
                find /videos/ -name "*.mp4" -exec rm -rf {} +
              fi
          fi
      done

I also tried using the image provided in the chart, but it doesn't work to retrieve the variables either.

VietND96 added a commit to NDViet/docker-selenium that referenced this issue Nov 14, 2023
Signed-off-by: Viet Nguyen Duc <nguyenducviet4496@gmail.com>
@VietND96
Copy link
Member

Hi @Doofus100500, for the image provided in the chart, probably I found the issue and updated it. Content seems not append to pipe file properly due to & at the end (script for video container in ConfigMap). After updating, I have tested and able to see this result from uploader

k logs selenium-chrome-node-nh2t9-n9g6q -c uploader --follow
Waiting for /videos/uploadpipe to be created
Waiting for /videos/uploadpipe to be created
Waiting for files to upload
Uploading /videos/fe2e79d8a3e977c45c7cbc07091e699a.mp4 to http://localhost:9090/selenium-video/fe2e79d8a3e977c45c7cbc07091e699a.mp4

Provided region_name 'vn-dc-os-hcm-84_' doesn't match a supported format.
exit

You can take a look on this commit and confirm NDViet@caedddd via #2009
Testing chart can be downloaded from https://github.com/ndviet/docker-selenium/releases/download/selenium-grid-0.24.1/selenium-grid-0.24.1.tgz

@Doofus100500
Copy link
Contributor Author

@VietND96 Thank you very much for finding a solution so quickly. Unfortunately, due to difficulties, I am unable to quickly test the new chart until the new release is ready. I believe that if it worked for you, it should work for others as well.

diemol pushed a commit that referenced this issue Nov 14, 2023
* Bug: Error setting name in helm release #2006

Signed-off-by: Viet Nguyen Duc <nguyenducviet4496@gmail.com>

* Add workflow to test chart

Signed-off-by: Viet Nguyen Duc <nguyenducviet4496@gmail.com>

* Update workflow to test chart

Signed-off-by: Viet Nguyen Duc <nguyenducviet4496@gmail.com>

* Update workflow to test helm chart

Signed-off-by: Viet Nguyen Duc <nguyenducviet4496@gmail.com>

* Update workflow to test chart

Signed-off-by: Viet Nguyen Duc <nguyenducviet4496@gmail.com>

* Update ConfigMap for video recorder #2007

Signed-off-by: Viet Nguyen Duc <nguyenducviet4496@gmail.com>

* Test indidividual node to reduce unstable Insufficient cpu

Signed-off-by: Viet Nguyen Duc <nguyenducviet4496@gmail.com>

* Fix lint in test values yaml

Signed-off-by: Viet Nguyen Duc <nguyenducviet4496@gmail.com>

---------

Signed-off-by: Viet Nguyen Duc <nguyenducviet4496@gmail.com>
@diemol
Copy link
Member

diemol commented Nov 14, 2023

This was already released. Thank you, @VietND96!

@diemol diemol closed this as completed Nov 14, 2023
@VietND96 VietND96 linked a pull request Nov 28, 2023 that will close this issue
8 tasks
Copy link

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked and limited conversation to collaborators Dec 15, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants