From a865b8ae45fa26a68491853651e00414934acc96 Mon Sep 17 00:00:00 2001 From: Ivan Nikolaev-Axenov Date: Mon, 22 Jul 2024 19:18:42 +0300 Subject: [PATCH] .gitlab-ci.yml updated v126 --- .gitlab-ci.yml | 12 -------- .../clearing-checker/dbf-swt-checker-1.0.jar | Bin 21014007 -> 21014064 bytes .../swt-dbf-converter-0.0.1.jar | Bin 21059172 -> 21059172 bytes .../clearing-tester/application.properties | 2 +- .../clearing-tester/clearing-tester.jar | Bin 58085985 -> 58092444 bytes clr_test/docker-compose.yml | 8 ++--- clr_test/run_test_docker_containers.py | 28 +----------------- 7 files changed, 6 insertions(+), 44 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 406a207e6..529b0a4d4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -39,12 +39,10 @@ build: test: stage: test variables: - MOUNT_POINT: "/builds/$CI_PROJECT_PATH/mnt" CLEARING_TEST_DIR: "/builds/mfd/clearing/clearing_test" CLR_TEST_DIR: "/builds/mfd/clearing/clr_test" RESULT_FILES_DIR: "/builds/mfd/clearing/clr_test/result-files" script: - - mkdir -p "$MOUNT_POINT" - echo "Installing maven and python" && apk update && apk add maven python3 - echo "Copying jar files to clearing-all/bin" && cp -r /builds/mfd/clearing/z-distr/target/clearing/bin ./clr_test/clearing-all/bin - echo "Copying DDL.sql to db directory" && cp /builds/mfd/clearing/z-distr/target/clearing/db/DDL.sql ./db @@ -52,15 +50,5 @@ test: artifacts: expire_in: 1 day when: always - paths: - - /builds/$CI_PROJECT_PATH/mnt - -collect_results: - stage: collect_results - script: - - cp -a /builds/mfd/clearing/clr_test/mnt/. $CI_PROJECT_DIR/clr_test/mnt/ - artifacts: - name: "$CI_COMMIT_REF_NAME" - expire_in: 1 day paths: - $CI_PROJECT_DIR/clr_test/mnt \ No newline at end of file diff --git a/clr_test/clearing-all/clearing_testing_utils/clearing-checker/dbf-swt-checker-1.0.jar b/clr_test/clearing-all/clearing_testing_utils/clearing-checker/dbf-swt-checker-1.0.jar index d3085c028fa99d4339f28e7e2084c17a55719cd4..095ffed42e3f201d29fec41ab1d08922834c51c1 100644 GIT binary patch delta 5125 zcmZwL2{=^k`v>qjGgBDUC`)6D7Fj~Jk}M;?S4y%}UfC*?J(Ogt2_-2~n3MHTp#>F6 zk+q^y3Ze4G6cQ5h7Df5r&(XhMUDwZbeZJ>@?&moR*EMs_G2Rf#xb`@bF~`cBMi-^< z^Yc^sia*=oH9gugxRKZ{X*xOdw_D4?M|4&TM)=+E!|*B^ba8=dY^4aAru_CJf}gI& zL~*xjOqv$B?gJiGjj5BxjcQDbEC#DFJ+c_C!IX&51U4p!JJw(fvgcWYts{%#8f^9d zuQC*YBmHp}IlQI@lfw6mVEp8jGbj{(%FLBtYi(xX346_$$o?H?$pVtT{2_TEv;Ggf>~|Vks#^Hh?Cx& zma4bJqP=;8^PN{>@+Dj}#&DGcYd8V2>yviMqW(v)*AP#*zJy^iXZj>WMS6Vbj)lbfSaY=q8K>9%_UQ^HO8zSz27hcH<*bku3C`Nl zxb5WHIwAF!ZCQZ=79g-*j}3uz_A^)4DDBl_~7!LHjbR8%;mu&eNrv z+&!;1r&}Z9_29ZV%EJjR%f9cm%cZ^jjh}r>4DRPkhi$3X_*Zbr+OEK;^xo|k3_8jN z<_1~b4_M0%tkaM?Opo@rxvL~|iqk!RzlZvu$g}V(@6XQ5bGJ>^(DeS6*w%WccV5yf=2l0TuGg1}{>$~N*ZDmj#{{V&ew%o@`}QYFPg;h( zJle9f<6%+Yz0*7UbH?qMZmLCrJ?!uSPEZzAC-jD!UUN@!)|#P^_+4d34#%lTz6;cC zHt1+eXT}_JW?2;YzwuNYxW&lrK0UdD8{KH1o2uVIDa57ZgNwZym1>NisGhWSn-cK+ zd?(&JI6lWCI+s7)N3`O}Kz2iBy@YnSbv-_^%l28T*l>P|fC1rUA9J~P(S*O#agP6E zIlH!7MS}eLou8{hJ5A#X!eS3dj}|>{{ZcYyZ^>n7RAs(do3sPp3(1Qu zxLtHYsQA$iA$;v{>X5@WuMKW)vo3B);gpt3GG1k|=5(&P`~7bGyE^LCo`!F?aw@5N zmuVl2JnVF|d`*k6*Qq&FXkkNS~gi&L1-7vU=l_vE0pX3moE-LzwOhB5jN}m9~FO7@MlC$!8V44s2WI zs$)4=RK#gnY4M6zAy&guj!r-HO^8GQN_f}o!%H?0t9Iw4Bl>b%L z>+D}?yxn~an&Icz-bk^M`jI~RkH{*oi8N05mrC=EZPeZ6W1Z<+k2`!_>R7phUGb*k z^nsCS!;-A|4kH@j7S^ItmGOQQFNIcqoy6Eh!KcT#{14C2@7&vdlCSciHP2yUWkJ@g zx575v7o4h2__mZ@KPVR}u_kwOQ^yOPXH&8^73Q3Yi`9HvPArv<$?7{;lI(dxSC^UC zP&r^TXmOwGza+9UDc5w5_a(axYtHItPE9PDJ-j1Wgpl?)#P=}5PB}GJ^=*s!*;rn) zjDAM?@k24${kdDl78RX1o8h=NTVVP~nh@72mgm$tKw&7lT!2OOK8@nctKSnf_f> zcaTMV>U?^8Tu&)XZ;Z4U&2B#{-5~}nL=BzxJ95Ee7J$mG=;eII>1y)tm(KNHy zR%RjDky6Yi>nU5M=?t69o)0qdRd{pKTO-~n$NJkp=5tp0Zw}BI6_^z2JavO7Uf&@- z%(UdJ8>o`8GUwyJ;@cLzkB>sh5TQ{1`$&Rr+pK4p9eJ}Z4Q$3P)5%-8d^>h$rs8#A zmNU0cdTKeI~|58L+JG?xq0I7}}oUEhuM&O8lh^kSyJ)+iAlVU0v- zSsxa|Pd*}?7N%+tl{gy{DLpoV6$}4rmhSn19hmiNNQ9q7Yn16!Hv#e@VaG~g^bB&$ zMv4k(fDUGX*?U;+^^56lOmKn#cj39taLfFzIt(m)2tf`vd1 z$b&^-F<1hY0tK)PC;}y*3{=2!pbFH0I#>ZTfF{ra+CT@a1gn59SPk^R8lVphfFUpf zY+wx50u%5b@E0%z>wpkaEun|~*O~4XZ0c&6bHiIo-E3gHB13Rz{*aHXP2%La3 z*ba7poxlaS0ynS=>;~?@19$>2;0=6$FW3Y8fIkQTd%->s2=;>@Z~z2@5D*H&KsY!E z4gn503?e`zhyq8zQ4kG|ff#Tc#DWvxB!~m?;1oyzr@zf$N|M6oV3Q1Kb3q;1;+I%0M}| z11dlzr~=iX2GoMP;2yXS>Oehs03L!zpaDDvPe3Dh3Z8)`&Mk z1N;MCgHF%|c;F3q3%WrM=mqaUA9xS?!2lQpAHWd!2!_E37zLle82A@_24BE9m;hhF zH!umNz<2NiOrNlk!cGAcR1`E6bQH5t%tpb7f**wd3I+;66hbJ3QOrRx7X=fA2#R?q z=A#frA%;R6g#?NPC|D>YQIMA*jVc)wvM3g!kV7GlViAhPD3+jDib4U!G8Bp^lu#(6 zP(iUAg(?a)6zV8epwK{}i9!p7HVPdSD^aXMp^IWQ3Oy8SQ0SvDKw*f&2&;mx4=mRj zeS=m_`mnLP7%GXHJ#6d_SsnIcW4h#YIaK|!Gq0@EO)io|Z9E%ek&8N^(nl|pgv=>6 zW<*xop)#SPcT3zl)mR*_mNcUi)zDNI`1QhxKW(}zMhL@Os@8AKtjGmogfletXLe6` zuPe^&lb{o~pr=M2ydSDfzwHunUqX!7dYX-`Ag?dY`~)URoQLs30r+)h-fri)FglL9p3t1^8vN2a-=-K_cR}v}E`&$n6oIh^5`~jm-JZTh)@o%r? z7b5<8M!ZR4!#R~9b;!k9E^=Y!bP6RH-kr7oSe(^NE|wz*SiEQNz}Na6@=Eod|w6THvbM2Yy0+BCa76I?&fWC=NB z5Vq;)!rcALaC1L11tJ56idX2!B5=F(ti7ptM(+bLc@YCf! zs)R6kC^rIK#AtdpYDy7VFw~`0#^;bjydpkFf?TLbJKS(-=0XSy*io1E9=}J9#feN9 zucnP&X~N}d;eSUTuQV+n1hdh(^=q3^Pn8@p2w!N*(%y%*{5;Tk7_Y$!i7wb$VqS#$ zIX1SLmZ?7Zb3PTuM%X^$6>K-sl(-aP#Rd2Trp0B#-@xKLd<b(t>_1H}@ubrrR+A)*1c3bQZ67bb=Be~KJVpa1{> delta 5066 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 U9wJD7Ru0cLRkjon#k`>Z1DYzyDF6Tf delta 3229 zcmY+`3tU$99mjG0hX;8;MGYZQ5=b)f!bLy?1w05MIu&N2Cew$zilf=4i`Wto>O=RNF#snOI;musKjp9f^VUhnVo`(MvFJO})@ytXW` z1wr|feO-Nh+-|qe!OEjEt;epONp0)oAO4fy+M`alME3F)l%F`XscvPWueCtuA@;P~zx=lV`*rle)=MTHobUkrm zlggKlf@YO#%}+F3J><3meSF+LK6JM=sX2Pyx+XQj&dfHIpH<(i0(9Ri&8k?|`tMc+ z@;Pg_D%JzrDO?BSp;X#;5msbKOJI9*^{Lbd>y7tRxPJKdtH?aNG0Uy=$PqSjYWJwG z4B0X2N0n)P;!#0%euAk2ocBLek1H7{tuWdLoVt&cuS*uK-={MD`s`;npDzD$E!Cvb zoFSj7#d_AuN7N}Ptb(6Zk<)TQ6?I%_mQ#0H&Ar~5c}6|k*|OhFHkH3q@Qpg$+2=fY zR@Gf^Rh?JsuD9m5se7)s5-)aX*>R&~uWOh2YP=6Q%h`TK&6AeHBggtm!3}Qf7%y_} zGK{j$mc2gBRBk86&zRHM=bZL8X3N6%Cws2DQLM-Gb508~*uXnxuNf=X5AI{k?(B0u z2sYZEUC&<;+O?Gv)^+ug3|Soz-oDzIH_%9M%l+03HUhiJHT0Jj->iB#-w!uZq|1p( zG-_m$MUn4Z9%DQmAg#73#!TmEjuEUkptYm>|7~DT%`#P}6Ew>>B6sSv78_Umr8rY& zR0T@GdoWZ##2q!f5Nn!MPv`Ro43GXf$U9Y`!}3fO z>AbkfSntR0>x%5H27KXyAG*OGZUi6@-O&R*5rkgojXt;m!RU(+gyKf@Lm2vF0K#z- z1|kBHh{DYnglOD?!MGJe5QCu@hT#~2Si~V72^fh)Bq152kb==jMH=1J>b>sKCHhK)NQ6q;ueX)61PeWk%*BPDltrAxWovFScy1^c!>mwkrIg#NfOBtqa;!!MoXkh zq)CjC7%P!3ks*<(8u;^}HWu&)wBcMgQ|(by_BOYv-jQNqfT>btY%@jc!1nV}LfVv2 zYyR2OF8l2vrV5jJ2Po2A9F}ILKZ=>L@NyER~)Grnk66p(iikNK+|8trSb7C?D_r5?U!9 zmY%sBTJ+a)ilRz-igUa}hbUG`Pss#REtleJiYKHf&-E5<6bq#1ZVoB3VZ(8XGS&Xu ca;&gl|Ax{@JVbZ-O*wqKsj{RPP{{lFKUE(tu>b%7 diff --git a/clr_test/clearing-all/clearing_testing_utils/clearing-tester/application.properties b/clr_test/clearing-all/clearing_testing_utils/clearing-tester/application.properties index 9237926b1..45cb2f5b1 100644 --- a/clr_test/clearing-all/clearing_testing_utils/clearing-tester/application.properties +++ b/clr_test/clearing-all/clearing_testing_utils/clearing-tester/application.properties @@ -3,7 +3,7 @@ server.port=9900 clearing-tester.store.root-dir=/opt/clearing/clearing_testing_utils/store #sftp storage settings -clearing-tester.sftp.swt.in-dir=/opt/clearing/files/swt/importer/out +clearing-tester.sftp.swt.in-dir=/opt/clearing/files/swt/importer/in clearing-tester.sftp.swt.out-dir=/opt/clearing/files/swt/exporter/ clearing-tester.sftp.dbf.importer.in-dir=/opt/clearing/files/dbf/importer/in diff --git a/clr_test/clearing-all/clearing_testing_utils/clearing-tester/clearing-tester.jar b/clr_test/clearing-all/clearing_testing_utils/clearing-tester/clearing-tester.jar index aef3bfebb920c57b9ba0501f2efd546376b6799b..5ccec09af6d0a62fdfeddbd0b8204ba00ede86e9 100644 GIT binary patch delta 24045 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 diff --git a/clr_test/docker-compose.yml b/clr_test/docker-compose.yml index b02c3ea4c..98a53e771 100644 --- a/clr_test/docker-compose.yml +++ b/clr_test/docker-compose.yml @@ -34,10 +34,10 @@ services: - "7020:7020" - "8080:8080" volumes: - - /builds/mfd/clearing/clr_test/mnt/results:/opt/clearing/clearing_testing_utils/store/results - - ${MOUNT_POINT}:/opt/clearing/bin/log - - /builds/mfd/clearing/clr_test/mnt/logs/tester:/opt/clearing/clearing_testing_utils/clearing-tester/logs - - /builds/mfd/clearing/clr_test/mnt/logs/converter:/opt/clearing/clearing_testing_utils/clearing-converter/logs + - ./mnt/results:/opt/clearing/clearing_testing_utils/store/results + - ./mnt/logs/clearing:/opt/clearing/bin/log + - ./mnt/logs/tester:/opt/clearing/clearing_testing_utils/clearing-tester/logs + - ./mnt/logs/converter:/opt/clearing/clearing_testing_utils/clearing-converter/logs # restart: always zookeeper: diff --git a/clr_test/run_test_docker_containers.py b/clr_test/run_test_docker_containers.py index af5e121d2..84c6d9e18 100644 --- a/clr_test/run_test_docker_containers.py +++ b/clr_test/run_test_docker_containers.py @@ -52,31 +52,6 @@ def remove_files_with_extensions(extension): os.remove(os.path.join(root, currentFile)) -def run_first(): - logging.info(f"$CI_PROJECT_DIR = {os.environ['CI_PROJECT_DIR']}") - folders = [i for i in sorted(os.listdir(DATA_ROOT_DIR)) if re.search("\\d{1,}.\\d{1,}.*", i)] - logging.info(f"Removing folder {CLR_TEST_DIR}/clearing-all/clearing_testing_utils/store/expected") - shutil.rmtree(f"{CLR_TEST_DIR}/clearing-all/clearing_testing_utils/store/expected") - - logging.info(f"Removing folder {CLR_TEST_DIR}/clearing-all/clearing_testing_utils/store/input") - shutil.rmtree(f"{CLR_TEST_DIR}/clearing-all/clearing_testing_utils/store/input") - - logging.info(f"Removing file {CLR_TEST_DIR}/db/export.sql") - os.remove(f"{CLR_TEST_DIR}/db/export.sql") - - logging.info(f"Removing file {CLR_TEST_DIR}/db/test-data.sql") - os.remove(f"{CLR_TEST_DIR}/db/test-data.sql") - - logging.info(f"Copying files from {DATA_ROOT_DIR}/{folders[0]}/db/ to {CLR_TEST_DIR}/db/") - shutil.copytree(f"{DATA_ROOT_DIR}/{folders[0]}/db/", f"{CLR_TEST_DIR}/db/", dirs_exist_ok=True) - - logging.info(f"Copying files from {DATA_ROOT_DIR}/{folders[0]}/clearing_testing_utils/ to {CLR_TEST_DIR}/clearing-all/clearing_testing_utils/") - shutil.copytree(f"{DATA_ROOT_DIR}/{folders[0]}/clearing_testing_utils/", f"{CLR_TEST_DIR}/clearing-all/clearing_testing_utils/", dirs_exist_ok=True) - remove_files_with_extensions(".xml") - change_date(folders[0]) - run_docker(folders[0]) - - def main(): folders = [i for i in sorted(os.listdir(DATA_ROOT_DIR)) if re.search("\\d{1,}.\\d{1,}.*", i)] @@ -104,5 +79,4 @@ def main(): if __name__=='__main__': - run_first() - # main() + main()