Compare commits
877 Commits
v2.1.0
...
add-gnuplo
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2f81d4d092 | ||
|
|
27d99b620d | ||
|
|
a2ce9c4396 | ||
|
|
3b0d531343 | ||
|
|
a17010ed16 | ||
|
|
74f53369c0 | ||
|
|
2b3141879b | ||
|
|
53f95ed1a7 | ||
|
|
b678e6a63b | ||
|
|
563035645c | ||
|
|
12bc78ca2d | ||
|
|
a9a388ce44 | ||
|
|
6bc2e6d8b6 | ||
|
|
a02abc8f79 | ||
|
|
096d1ce5f4 | ||
|
|
657279949a | ||
|
|
25226cca92 | ||
|
|
292a55f4ff | ||
|
|
37f19867b0 | ||
|
|
b26c7d09ef | ||
|
|
4bad8c0d1e | ||
|
|
2b01f2280c | ||
|
|
ac59e7f7e0 | ||
|
|
7e99f32adb | ||
|
|
a1a612899c | ||
|
|
2219dee6f6 | ||
|
|
7bf8550c86 | ||
|
|
8b392ecc97 | ||
|
|
8e315875f2 | ||
|
|
41183b328b | ||
|
|
c9a0c15c16 | ||
|
|
50327254e0 | ||
|
|
24ae6069f0 | ||
|
|
7be66f0c54 | ||
|
|
b136cd71d2 | ||
|
|
a38401130e | ||
|
|
bf93b53e7d | ||
|
|
4be4a86d0a | ||
|
|
9a805bff8b | ||
|
|
7d63236f87 | ||
|
|
4f8c241934 | ||
|
|
60b71cc2c1 | ||
|
|
da28a29c7f | ||
|
|
303362d41c | ||
|
|
272e710510 | ||
|
|
0e3229756f | ||
|
|
e96eed81b1 | ||
|
|
7fa7586940 | ||
|
|
436e41f71f | ||
|
|
fd047e7303 | ||
|
|
9214c715e2 | ||
|
|
44fc2d01c7 | ||
|
|
d36c0cc424 | ||
|
|
2ecf580ae7 | ||
|
|
c12a5a9019 | ||
|
|
883922dba5 | ||
|
|
c7591887a8 | ||
|
|
33454c7d8e | ||
|
|
f67422f8b9 | ||
|
|
23297c2afb | ||
|
|
3d35a10783 | ||
|
|
999015a250 | ||
|
|
7d3d52c067 | ||
|
|
6d4401dc92 | ||
|
|
0d00ae74dd | ||
|
|
16b78e4eb3 | ||
|
|
d44910bc9a | ||
|
|
54c1efab7f | ||
|
|
7a0c9beba5 | ||
|
|
e13faf41e9 | ||
|
|
e24a6a86e4 | ||
|
|
3bc9c571a0 | ||
|
|
7972b3af43 | ||
|
|
e2a1029120 | ||
|
|
7cb07672ff | ||
|
|
36fccc32c2 | ||
|
|
4908af5a18 | ||
|
|
fa8eee2043 | ||
|
|
b4ae8aea95 | ||
|
|
27ff18733c | ||
|
|
0aa7daf002 | ||
|
|
b341a8d7dd | ||
|
|
b7dbc7267b | ||
|
|
1951d781d0 | ||
|
|
e65f585fc6 | ||
|
|
fa86d4c989 | ||
|
|
fcbacdc80d | ||
|
|
69fa4e8c8d | ||
|
|
ea646e1803 | ||
|
|
89d26c36c9 | ||
|
|
cf76e0e19b | ||
|
|
900ece8109 | ||
|
|
544c75c212 | ||
|
|
0285b56915 | ||
|
|
515a52130e | ||
|
|
55b5d76092 | ||
|
|
0eee3ad7b7 | ||
|
|
c9299a6c72 | ||
|
|
de99025c39 | ||
|
|
be39fac72e | ||
|
|
5eea3ceee4 | ||
|
|
cc643aac69 | ||
|
|
e7f10ec8f4 | ||
|
|
6fe244b209 | ||
|
|
ede6281e00 | ||
|
|
70c8ed9180 | ||
|
|
59b39e03cb | ||
|
|
96ea113a69 | ||
|
|
a31c7cce08 | ||
|
|
8f6fac3cde | ||
|
|
a0ada914ab | ||
|
|
ca62fa5123 | ||
|
|
d1548c9253 | ||
|
|
52baaf8030 | ||
|
|
a0274bbdd9 | ||
|
|
c5c6fd9b86 | ||
|
|
586999475b | ||
|
|
e888464de2 | ||
|
|
94a536a2b9 | ||
|
|
e42c60d555 | ||
|
|
00d6b42c37 | ||
|
|
f39a937323 | ||
|
|
575361827e | ||
|
|
901da4c9b3 | ||
|
|
81675106fd | ||
|
|
7fb828bca3 | ||
|
|
c04cfc5596 | ||
|
|
a3b1676c42 | ||
|
|
b38a9b9c90 | ||
|
|
57690c5390 | ||
|
|
d11d5c3fa9 | ||
|
|
36891c119b | ||
|
|
b91b16de96 | ||
|
|
cfdc728d64 | ||
|
|
40835b8c9c | ||
|
|
d1fe73c987 | ||
|
|
3257d46d18 | ||
|
|
9be5ee1ae9 | ||
|
|
fdd89e0e81 | ||
|
|
82203fa1ca | ||
|
|
775e950dba | ||
|
|
920ad277a5 | ||
|
|
392f6e2b73 | ||
|
|
e40f7f507b | ||
|
|
c139856b2a | ||
|
|
b30137ab7a | ||
|
|
b2b9b1d5cb | ||
|
|
ace1eb401f | ||
|
|
668f7857b1 | ||
|
|
d22c962af4 | ||
|
|
4c25a4dfbd | ||
|
|
61d84bd622 | ||
|
|
3b06db5a02 | ||
|
|
afde0c6926 | ||
|
|
41bb988fe9 | ||
|
|
d7bd2cc754 | ||
|
|
599b133a55 | ||
|
|
c38a80ccd7 | ||
|
|
dee33b2072 | ||
|
|
c283c6e6ea | ||
|
|
65113bc55b | ||
|
|
32ea124d4b | ||
|
|
68175bc97c | ||
|
|
9589dd97b6 | ||
|
|
41f5c00f5f | ||
|
|
e82955895a | ||
|
|
751c27f792 | ||
|
|
7e217e94b3 | ||
|
|
1ebde8be74 | ||
|
|
32231fe49a | ||
|
|
fa39c6740b | ||
|
|
1aa40e5e3f | ||
|
|
ae57fa3199 | ||
|
|
a0e0791aa1 | ||
|
|
311994a36d | ||
|
|
54ce79baa0 | ||
|
|
83306d21de | ||
|
|
ac16348fff | ||
|
|
af812d1311 | ||
|
|
f36b96744c | ||
|
|
14000d727f | ||
|
|
a9eca651df | ||
|
|
3604046f68 | ||
|
|
817433d342 | ||
|
|
76dcf3ad0f | ||
|
|
04450dada7 | ||
|
|
8c2b2f4be2 | ||
|
|
70200919cd | ||
|
|
f04ed3c137 | ||
|
|
2e4e975102 | ||
|
|
c24c699c78 | ||
|
|
070225df28 | ||
|
|
1170e6762f | ||
|
|
d6f1505582 | ||
|
|
edb122cb33 | ||
|
|
b0c4544287 | ||
|
|
0d856bee45 | ||
|
|
c3e19498da | ||
|
|
03d994318e | ||
|
|
4888605972 | ||
|
|
a90a2d86c9 | ||
|
|
0cf440519e | ||
|
|
9c41e702e6 | ||
|
|
50f76b926b | ||
|
|
0353262cc2 | ||
|
|
4ed20f0247 | ||
|
|
50fb8fe3c7 | ||
|
|
32322d39b8 | ||
|
|
89f42ef73e | ||
|
|
0d19d347f8 | ||
|
|
a5520f5eae | ||
|
|
eb154d1310 | ||
|
|
59c94c90e6 | ||
|
|
a7f5212c6e | ||
|
|
b4d6ca2233 | ||
|
|
5d3d67cbd0 | ||
|
|
675c2fe24a | ||
|
|
b288f06cb7 | ||
|
|
5beb7c0966 | ||
|
|
e0b7d7abeb | ||
|
|
9bab26fb10 | ||
|
|
c39f264684 | ||
|
|
2488895362 | ||
|
|
a20edf2b74 | ||
|
|
25713405df | ||
|
|
2a81ce5640 | ||
|
|
747b8a21cd | ||
|
|
65e9ceb779 | ||
|
|
6338690b00 | ||
|
|
ca3f748325 | ||
|
|
1b458ebc41 | ||
|
|
6efe074313 | ||
|
|
3c72af0c10 | ||
|
|
6d3f9ab695 | ||
|
|
e8240df29e | ||
|
|
ec73ee666c | ||
|
|
1d7f61dd0b | ||
|
|
7f9eceadb3 | ||
|
|
f4428af210 | ||
|
|
9f5af97044 | ||
|
|
c7c0234889 | ||
|
|
68ae729b07 | ||
|
|
2e33f8275b | ||
|
|
9a62503803 | ||
|
|
75b598d014 | ||
|
|
98ae30d861 | ||
|
|
6b8a5fd41d | ||
|
|
4a3f950cf9 | ||
|
|
146ed5756c | ||
|
|
438b519703 | ||
|
|
0ad702175f | ||
|
|
be3797e0a1 | ||
|
|
cdde7ca670 | ||
|
|
d0e1d86df3 | ||
|
|
366a4e2b9a | ||
|
|
439eae3a72 | ||
|
|
c15e75b48c | ||
|
|
2120645d6a | ||
|
|
616b79ce6c | ||
|
|
13cabcaab5 | ||
|
|
f1ea76a3d7 | ||
|
|
18b3c1e8b1 | ||
|
|
db45845619 | ||
|
|
4bbf3c95ca | ||
|
|
e11856acf8 | ||
|
|
5cd0d5137e | ||
|
|
8eec8399a3 | ||
|
|
d18d4f198e | ||
|
|
29347c83e7 | ||
|
|
452722f4f8 | ||
|
|
730bac6b74 | ||
|
|
6c441b80ec | ||
|
|
ee9ba1a7f8 | ||
|
|
d0c960e900 | ||
|
|
00fd69c170 | ||
|
|
54907d2a1a | ||
|
|
23bfd7f4fc | ||
|
|
f8cbaaf362 | ||
|
|
4e7d8c3ba2 | ||
|
|
e5d892683c | ||
|
|
d4bdedd9e8 | ||
|
|
9f9a81455f | ||
|
|
b0b8c0a5c9 | ||
|
|
8af635c8d7 | ||
|
|
5e64b19745 | ||
|
|
38f3a4cacb | ||
|
|
3f3d6c52a3 | ||
|
|
94ef57c459 | ||
|
|
56556f7c2d | ||
|
|
a2027fc6ac | ||
|
|
deb31e4b77 | ||
|
|
072bc58b1e | ||
|
|
31f907cb53 | ||
|
|
9af20c295c | ||
|
|
969b8f0da7 | ||
|
|
55008a2927 | ||
|
|
494f6ac25f | ||
|
|
02ca6734c1 | ||
|
|
976e6ff0a6 | ||
|
|
9621532d3d | ||
|
|
7e8b4921b4 | ||
|
|
a10c254caa | ||
|
|
9c0c0a2d1c | ||
|
|
0450163c5e | ||
|
|
62ee6f0e05 | ||
|
|
00a4127e4e | ||
|
|
53040c6758 | ||
|
|
04124a1e9b | ||
|
|
f107ef8aea | ||
|
|
b3605c9ab1 | ||
|
|
7df3a743b9 | ||
|
|
f8215306e8 | ||
|
|
8f08d986cb | ||
|
|
cc3bcf1dc2 | ||
|
|
9144d2dccd | ||
|
|
9faa206f95 | ||
|
|
1b97bb0856 | ||
|
|
f54701cc96 | ||
|
|
1f98d33fa6 | ||
|
|
86f7b82bdc | ||
|
|
8c5edaaeb9 | ||
|
|
632db4175a | ||
|
|
3c0e38aacb | ||
|
|
aace5db8cc | ||
|
|
bc32a3d305 | ||
|
|
cead1bcb21 | ||
|
|
ec529da8d2 | ||
|
|
ce5f1c2f17 | ||
|
|
1b77e029ca | ||
|
|
16c30d61aa | ||
|
|
b8de2c9c7a | ||
|
|
cd0aaeb5e9 | ||
|
|
cf388d80fc | ||
|
|
a308ee501a | ||
|
|
884831ece5 | ||
|
|
aa7d362296 | ||
|
|
e946eb50d2 | ||
|
|
8f19ce88d9 | ||
|
|
7c37ed2313 | ||
|
|
11119e5406 | ||
|
|
7d52eedb21 | ||
|
|
4f18fa7431 | ||
|
|
9f10c3ea06 | ||
|
|
18b3550dbe | ||
|
|
b244c4d6ee | ||
|
|
4dc639a05a | ||
|
|
50df0d4d53 | ||
|
|
5f5d839f0c | ||
|
|
22e3164e60 | ||
|
|
8fd7327fbd | ||
|
|
500691318a | ||
|
|
9fc7f9dced | ||
|
|
82db1d4ad8 | ||
|
|
ed0b67dfdb | ||
|
|
0f34c49e21 | ||
|
|
f4d0c7769e | ||
|
|
6d3c04bd61 | ||
|
|
a8dc6fd41e | ||
|
|
de84d4d6ea | ||
|
|
36a7abb170 | ||
|
|
41b06a0a37 | ||
|
|
cceab46a7c | ||
|
|
243fa5e4b2 | ||
|
|
0220e9b4f7 | ||
|
|
6f4996de0e | ||
|
|
01d5953bb6 | ||
|
|
6b64fd5ce5 | ||
|
|
c5138c8d58 | ||
|
|
8fe1b8d7fc | ||
|
|
7a3caa320c | ||
|
|
07a8ac0db8 | ||
|
|
3b798ab313 | ||
|
|
d44c1836c7 | ||
|
|
c4327cfb00 | ||
|
|
a65ea4fe01 | ||
|
|
d820d0a9e5 | ||
|
|
7aa68164f0 | ||
|
|
d6b444c38b | ||
|
|
c647134916 | ||
|
|
b3eec92525 | ||
|
|
1b73ca4860 | ||
|
|
ab5fc05fd7 | ||
|
|
814c5eb397 | ||
|
|
e77843f2ec | ||
|
|
40e145e7d0 | ||
|
|
2ff81ebf04 | ||
|
|
c3c68cc2ce | ||
|
|
6d86801be0 | ||
|
|
407418e8f5 | ||
|
|
6d544e4fc0 | ||
|
|
56e2ad4546 | ||
|
|
9b19dd57d3 | ||
|
|
5045323b1d | ||
|
|
aa146d28f8 | ||
|
|
1cd10ab409 | ||
|
|
36390608aa | ||
|
|
e565fc6e3a | ||
|
|
ce0f1a09f7 | ||
|
|
accf015dcf | ||
|
|
84800cff76 | ||
|
|
9fade5ebac | ||
|
|
75606dfeb0 | ||
|
|
9c36d8928a | ||
|
|
d926c4c4a4 | ||
|
|
9ec72bd969 | ||
|
|
85034ddcbe | ||
|
|
ea533f43fc | ||
|
|
e0086e5666 | ||
|
|
c0a103e851 | ||
|
|
3a171376d7 | ||
|
|
cd7b33f23f | ||
|
|
d82cfb349e | ||
|
|
6801d6ff09 | ||
|
|
f1e360469a | ||
|
|
307cce9e21 | ||
|
|
662fa2e6d2 | ||
|
|
c0cb53e156 | ||
|
|
742017548f | ||
|
|
bbbd722eeb | ||
|
|
f463d9f59f | ||
|
|
a6f3937692 | ||
|
|
5717dfb165 | ||
|
|
1101c2444c | ||
|
|
2a6dc7bb93 | ||
|
|
d080e260e6 | ||
|
|
37f5fb29ea | ||
|
|
c8c72de6ac | ||
|
|
0b19b62b12 | ||
|
|
bffef1a653 | ||
|
|
66f39f2681 | ||
|
|
081c3e5bed | ||
|
|
ce8bc522d0 | ||
|
|
0f66ae31dd | ||
|
|
e9e42a0614 | ||
|
|
1a67dec302 | ||
|
|
4eb673c7b9 | ||
|
|
71dcba331e | ||
|
|
e43f4e2181 | ||
|
|
b2050d55ce | ||
|
|
2fc1aeb087 | ||
|
|
86e5b44c1c | ||
|
|
1b0db5289d | ||
|
|
45badbe21f | ||
|
|
04420a84c7 | ||
|
|
ce45a548c7 | ||
|
|
3ad8489735 | ||
|
|
7115a7e75b | ||
|
|
0f32407bdc | ||
|
|
a37e7e4aff | ||
|
|
6b9a617df0 | ||
|
|
923325b8fa | ||
|
|
f6017697d6 | ||
|
|
9c3d683942 | ||
|
|
cf73ed529d | ||
|
|
262df5c6a2 | ||
|
|
098084314e | ||
|
|
12880fc71a | ||
|
|
80d6776210 | ||
|
|
3840c14846 | ||
|
|
fe03f5b206 | ||
|
|
5f88e75571 | ||
|
|
27495ef43a | ||
|
|
a499bf6dfd | ||
|
|
49652d0a61 | ||
|
|
6e44c2295d | ||
|
|
d482f7da90 | ||
|
|
77ab07d991 | ||
|
|
38b0b308ce | ||
|
|
2f55491271 | ||
|
|
68e51e73ba | ||
|
|
a17a6aea5a | ||
|
|
ec4804b72a | ||
|
|
e98ef634de | ||
|
|
c4e22ffde3 | ||
|
|
b3ef0ccd71 | ||
|
|
15fc3c0834 | ||
|
|
9261fabe60 | ||
|
|
7bdcd8f9f4 | ||
|
|
bd11225d23 | ||
|
|
1f159b5a80 | ||
|
|
14ddd7254d | ||
|
|
8629ee5ebc | ||
|
|
1c94c59a24 | ||
|
|
631d18465b | ||
|
|
3f97a13493 | ||
|
|
5656a24c96 | ||
|
|
9c05910e68 | ||
|
|
3d66bbd988 | ||
|
|
07032887a4 | ||
|
|
9e81fe791c | ||
|
|
cca4e97bcf | ||
|
|
213583f916 | ||
|
|
94bc671551 | ||
|
|
02ef954e51 | ||
|
|
131d7f2a74 | ||
|
|
618237cc96 | ||
|
|
ef755e466c | ||
|
|
a9c5d40721 | ||
|
|
b4c24f4506 | ||
|
|
0462b8fc8f | ||
|
|
6eabceca4a | ||
|
|
2045f54577 | ||
|
|
18009c06b6 | ||
|
|
db7b2aa59a | ||
|
|
5c0e41ed44 | ||
|
|
12e9c1a739 | ||
|
|
a030419565 | ||
|
|
6df2db0d19 | ||
|
|
968584a8fc | ||
|
|
8636788ab2 | ||
|
|
691f6af36d | ||
|
|
23f1536eac | ||
|
|
33add3ecd0 | ||
|
|
91b5092c71 | ||
|
|
c0f576c187 | ||
|
|
a2735c8953 | ||
|
|
51fb4a6e7a | ||
|
|
cba183898a | ||
|
|
5f5fe7eb29 | ||
|
|
2087877df2 | ||
|
|
efa4378fb4 | ||
|
|
cad0e80d00 | ||
|
|
3c07a5dc04 | ||
|
|
e442963466 | ||
|
|
32fe4d94d9 | ||
|
|
94b66a4e81 | ||
|
|
b2f3fab693 | ||
|
|
d7ce7cea13 | ||
|
|
61b9457718 | ||
|
|
159b30ba5f | ||
|
|
b67e5b9a6c | ||
|
|
79756ae6fb | ||
|
|
a54bcb9819 | ||
|
|
c16f948de9 | ||
|
|
2a7ed1ad82 | ||
|
|
5201db46d2 | ||
|
|
91550128a5 | ||
|
|
d5966101ad | ||
|
|
88487e2513 | ||
|
|
b10b1eb239 | ||
|
|
dca94f42bb | ||
|
|
39b40ecf00 | ||
|
|
baacc52a65 | ||
|
|
5273d319e2 | ||
|
|
23838b50ea | ||
|
|
d85fb94bc7 | ||
|
|
4d2036249e | ||
|
|
d23643d4ff | ||
|
|
e52ce1e363 | ||
|
|
1abfe28806 | ||
|
|
d17970f6d9 | ||
|
|
9e72c7cb54 | ||
|
|
528e30a9be | ||
|
|
bb7c7f7627 | ||
|
|
bab5e1386a | ||
|
|
3d954e7abc | ||
|
|
fa5c9a2568 | ||
|
|
c745f8c877 | ||
|
|
486231b1b9 | ||
|
|
43ad5855c4 | ||
|
|
24864ff7d2 | ||
|
|
8598f6edf4 | ||
|
|
e41073bc2c | ||
|
|
14e3e72565 | ||
|
|
1cee7ecb8a | ||
|
|
690a389563 | ||
|
|
9203616283 | ||
|
|
d198819bf1 | ||
|
|
3a8f01af79 | ||
|
|
7e6ec8bb26 | ||
|
|
6138d76690 | ||
|
|
25fdb1a1f0 | ||
|
|
2de1d6c359 | ||
|
|
0364311dd0 | ||
|
|
9235515dab | ||
|
|
b83fb287ad | ||
|
|
70dc19dfdb | ||
|
|
b685a21171 | ||
|
|
4db83b8159 | ||
|
|
dd8dd4f6c4 | ||
|
|
fa1ddfea12 | ||
|
|
a815ec9617 | ||
|
|
78528bd609 | ||
|
|
6239f4fc3e | ||
|
|
c5eb3ff2c0 | ||
|
|
9f71ce0f78 | ||
|
|
589dd36bf2 | ||
|
|
57e7169203 | ||
|
|
bb3b053375 | ||
|
|
a96f489756 | ||
|
|
e909e7d2d8 | ||
|
|
2d91a7fd1e | ||
|
|
1d18f1197f | ||
|
|
edeebf46ec | ||
|
|
1148fe9aad | ||
|
|
c92c795b1a | ||
|
|
0fee412f92 | ||
|
|
7596e85358 | ||
|
|
014836ca3c | ||
|
|
68654b5a19 | ||
|
|
4d96bf5006 | ||
|
|
9bb70eb0b9 | ||
|
|
0ff389ffc4 | ||
|
|
7076788dd5 | ||
|
|
ee4be9aa5b | ||
|
|
96a2ad4b63 | ||
|
|
84509fa477 | ||
|
|
19b5fe3caf | ||
|
|
74db669e23 | ||
|
|
599802033f | ||
|
|
6dd57426f8 | ||
|
|
3c9f0c48e9 | ||
|
|
9a1258a708 | ||
|
|
c55ca836a4 | ||
|
|
5674ef4016 | ||
|
|
77c2afc9e7 | ||
|
|
27292dd921 | ||
|
|
e4f1fd8647 | ||
|
|
4608af9d00 | ||
|
|
50e72a7c28 | ||
|
|
17a104677d | ||
|
|
a6add80fc9 | ||
|
|
5d3eaf6a55 | ||
|
|
a13f260236 | ||
|
|
1f778ba5f3 | ||
|
|
787987168c | ||
|
|
7b4b1ba8ed | ||
|
|
bb1e8aa164 | ||
|
|
27a1311966 | ||
|
|
30ff6487f2 | ||
|
|
119da2d7a7 | ||
|
|
fa972813d2 | ||
|
|
951b058116 | ||
|
|
d0cad6e6ba | ||
|
|
6138277972 | ||
|
|
2f77eb96ff | ||
|
|
d7bc93c55f | ||
|
|
039d5f51d3 | ||
|
|
cebe6f62fa | ||
|
|
6834ce01fe | ||
|
|
4c5cd1f847 | ||
|
|
f9e2a66961 | ||
|
|
d5700ab5ff | ||
|
|
b0aaba6765 | ||
|
|
e1f18f3733 | ||
|
|
c90b38faf0 | ||
|
|
acbf3c764c | ||
|
|
37df41796f | ||
|
|
f04e1cda4b | ||
|
|
f28ba89584 | ||
|
|
60485311c8 | ||
|
|
36a1c43851 | ||
|
|
bae8c084b1 | ||
|
|
2898120eeb | ||
|
|
d62a45752a | ||
|
|
c5ee6ffbc2 | ||
|
|
5ef08f841a | ||
|
|
59c7d81ae8 | ||
|
|
03c095e780 | ||
|
|
b542e49b3e | ||
|
|
ddb30f49ea | ||
|
|
d920d7c293 | ||
|
|
b2e9717ec3 | ||
|
|
e0f6c951c1 | ||
|
|
7e35c71c58 | ||
|
|
b6814b7a49 | ||
|
|
903e29a081 | ||
|
|
1c17692a26 | ||
|
|
34fbaa0aee | ||
|
|
476e2670d5 | ||
|
|
be7aa55686 | ||
|
|
46388ad35c | ||
|
|
0d5ee49e19 | ||
|
|
74181114c2 | ||
|
|
009c1b4074 | ||
|
|
d0b8b27c29 | ||
|
|
79c2ae206f | ||
|
|
6b0168cb3d | ||
|
|
03cf264b76 | ||
|
|
9448e23dc9 | ||
|
|
fa6129dc2b | ||
|
|
eafccaea84 | ||
|
|
0c4f591b3c | ||
|
|
aeed7c32f9 | ||
|
|
534e365271 | ||
|
|
281ae158ec | ||
|
|
39c9c215b1 | ||
|
|
f6e78ce6da | ||
|
|
8e7118efde | ||
|
|
3cf79f5bbf | ||
|
|
6a31c49432 | ||
|
|
fea92f4829 | ||
|
|
1703cd039d | ||
|
|
ca2351124b | ||
|
|
5784c0d473 | ||
|
|
8ebc704819 | ||
|
|
5939fb2b0c | ||
|
|
ee64684b0b | ||
|
|
1e4c02f8a5 | ||
|
|
8353228ba7 | ||
|
|
cdab8828e4 | ||
|
|
c1d0fddaac | ||
|
|
18423ce34d | ||
|
|
b4f68e7a60 | ||
|
|
e901c1fdb7 | ||
|
|
016b3ee0d2 | ||
|
|
332afadf21 | ||
|
|
acc655f4fd | ||
|
|
862af55266 | ||
|
|
33c9ccee66 | ||
|
|
8b9e7e2c65 | ||
|
|
51e6802aa7 | ||
|
|
386a0c5686 | ||
|
|
994aab8774 | ||
|
|
8112957a35 | ||
|
|
b82e8748ad | ||
|
|
cb00b43ca7 | ||
|
|
55e0dbca80 | ||
|
|
12e7a261aa | ||
|
|
1c3bb969e9 | ||
|
|
e5437080c5 | ||
|
|
17090dd8ac | ||
|
|
281cebd386 | ||
|
|
f89a2bbf42 | ||
|
|
85b8ce9101 | ||
|
|
6bb40a7f49 | ||
|
|
1707ee648e | ||
|
|
07f34838bd | ||
|
|
b6f8b5e130 | ||
|
|
58243f4a26 | ||
|
|
d06132cb33 | ||
|
|
f063c1b1ad | ||
|
|
5347c06d76 | ||
|
|
4634ac484a | ||
|
|
a5dc818e19 | ||
|
|
4cb3b064c4 | ||
|
|
23171e76b6 | ||
|
|
6fd64d31f2 | ||
|
|
87111b2f89 | ||
|
|
b5c7078c7d | ||
|
|
925835b080 | ||
|
|
ce788f5f65 | ||
|
|
b8186bea2e | ||
|
|
3c4856dcb7 | ||
|
|
b4d6dc0930 | ||
|
|
817161a915 | ||
|
|
58eb2caf0f | ||
|
|
ecda71168c | ||
|
|
8e1f83acc9 | ||
|
|
f910cb770c | ||
|
|
38d0b89b04 | ||
|
|
a2a6a3855b | ||
|
|
e9f0360fb3 | ||
|
|
fe4955447e | ||
|
|
1631c20df2 | ||
|
|
947baedbe6 | ||
|
|
c6447eb48b | ||
|
|
7e84744d07 | ||
|
|
c0d03888f4 | ||
|
|
efb3c8d03d | ||
|
|
95dbc022c0 | ||
|
|
a40403e3ce | ||
|
|
14c9e68456 | ||
|
|
68b26275a3 | ||
|
|
5012824e05 | ||
|
|
a12a1ea358 | ||
|
|
2891041468 | ||
|
|
cc5ee6a496 | ||
|
|
f57f30c8cf | ||
|
|
462daf3a2b | ||
|
|
2009fefc8a | ||
|
|
eb3f96d1f6 | ||
|
|
80e0e439b7 | ||
|
|
351258ace8 | ||
|
|
74d3663821 | ||
|
|
264b233053 | ||
|
|
2ceaf59767 | ||
|
|
eb0b3141d5 | ||
|
|
c0bee760bf | ||
|
|
ff2f8031a9 | ||
|
|
094d4f282d | ||
|
|
3dd2657320 | ||
|
|
6fe474282a | ||
|
|
7fc0fb6520 | ||
|
|
3f4f66b57f | ||
|
|
063e297e1e | ||
|
|
2998f92595 | ||
|
|
86b1688192 | ||
|
|
f629de7e60 | ||
|
|
b737e53456 | ||
|
|
1bdc32ba5d | ||
|
|
10ca68bb2a | ||
|
|
bfbd8538d4 | ||
|
|
3e0e17d469 | ||
|
|
b57f91fcfc | ||
|
|
066a96c0ae | ||
|
|
1ae6b71c5f | ||
|
|
21870a0e7e | ||
|
|
cbe15e7f44 | ||
|
|
65a7ba01da | ||
|
|
7a2bbd4bb3 | ||
|
|
589e0e098b | ||
|
|
41d4185156 | ||
|
|
599c0a641f | ||
|
|
1fb49c4865 | ||
|
|
df1485aeec | ||
|
|
b2e1056389 | ||
|
|
e4c9411e63 | ||
|
|
a0bc1371dd | ||
|
|
21ad5d4328 | ||
|
|
8e3ab1ad0f | ||
|
|
cccf32e79d | ||
|
|
22bd60c613 | ||
|
|
8059a3e653 | ||
|
|
a7f4c98bea | ||
|
|
483f4d04bd | ||
|
|
3e7aef432f | ||
|
|
10ea9c773e | ||
|
|
b782271be8 | ||
|
|
a8ffcfa046 | ||
|
|
7b78665cd8 | ||
|
|
4abaf27765 | ||
|
|
ea2806bd57 | ||
|
|
c8dbaf5979 | ||
|
|
17049ada09 | ||
|
|
1b619f51b2 | ||
|
|
537855a0b2 | ||
|
|
5822b44b15 | ||
|
|
bf01c58ed9 | ||
|
|
89a5566f3f | ||
|
|
29452f8774 | ||
|
|
60ad05acff | ||
|
|
4f593c7fca | ||
|
|
770ea1189a | ||
|
|
695bb343f1 | ||
|
|
12b4ec1589 | ||
|
|
b33d2c3940 | ||
|
|
477acad1f6 | ||
|
|
ddca2b40f5 | ||
|
|
4817be0add | ||
|
|
3fb7e5378d | ||
|
|
1d88893715 | ||
|
|
bd2c30fddc | ||
|
|
06e6ead4d2 | ||
|
|
728b37080d | ||
|
|
48a531aac1 | ||
|
|
914fc1a656 | ||
|
|
1d1c182c2d | ||
|
|
c6e19ec09f | ||
|
|
693dab78d2 | ||
|
|
69eca9b043 | ||
|
|
5aeaad198b | ||
|
|
b23f88c607 | ||
|
|
4fd8bdce4c | ||
|
|
265b203b00 | ||
|
|
661e5185d8 | ||
|
|
7348ad6800 | ||
|
|
6c00d146f2 | ||
|
|
ced84e17b6 | ||
|
|
834ce5f51a | ||
|
|
bb1308acc7 | ||
|
|
e1f31d3d02 | ||
|
|
339cd9b84e | ||
|
|
7deac4ac8b | ||
|
|
fec887a67c | ||
|
|
f3a3a4ed87 | ||
|
|
ec65187442 | ||
|
|
079c0495c3 | ||
|
|
90cfed2ada | ||
|
|
8716b8e992 | ||
|
|
a277541354 | ||
|
|
b01564f179 | ||
|
|
d9bb4e2e46 | ||
|
|
05d0aee494 | ||
|
|
aabec99a8e | ||
|
|
d277dd49a3 | ||
|
|
18f9d19b18 |
@@ -1,9 +1,12 @@
|
|||||||
---
|
---
|
||||||
Checks: '*,
|
Checks: '*,
|
||||||
-abseil-string-find-str-contains,
|
-abseil-string-find-str-contains,
|
||||||
|
-altera-id-dependent-backward-branch,
|
||||||
-altera-struct-pack-align,
|
-altera-struct-pack-align,
|
||||||
|
-altera-unroll-loops,
|
||||||
-android-*,
|
-android-*,
|
||||||
-cert-err58-cpp,
|
-cert-err58-cpp,
|
||||||
|
-cert-str34-c,
|
||||||
-cppcoreguidelines-avoid-c-arrays,
|
-cppcoreguidelines-avoid-c-arrays,
|
||||||
-cppcoreguidelines-avoid-goto,
|
-cppcoreguidelines-avoid-goto,
|
||||||
-cppcoreguidelines-avoid-magic-numbers,
|
-cppcoreguidelines-avoid-magic-numbers,
|
||||||
@@ -47,6 +50,7 @@ Checks: '*,
|
|||||||
-misc-non-private-member-variables-in-classes,
|
-misc-non-private-member-variables-in-classes,
|
||||||
-modernize-avoid-c-arrays,
|
-modernize-avoid-c-arrays,
|
||||||
-modernize-concat-nested-namespaces,
|
-modernize-concat-nested-namespaces,
|
||||||
|
-modernize-loop-convert,
|
||||||
-modernize-pass-by-value,
|
-modernize-pass-by-value,
|
||||||
-modernize-use-equals-default,
|
-modernize-use-equals-default,
|
||||||
-modernize-use-nodiscard,
|
-modernize-use-nodiscard,
|
||||||
@@ -59,7 +63,9 @@ Checks: '*,
|
|||||||
-readability-magic-numbers,
|
-readability-magic-numbers,
|
||||||
-readability-named-parameter,
|
-readability-named-parameter,
|
||||||
-misc-no-recursion,
|
-misc-no-recursion,
|
||||||
-concurrency-mt-unsafe'
|
-concurrency-mt-unsafe,
|
||||||
|
-bugprone-easily-swappable-parameters'
|
||||||
|
|
||||||
WarningsAsErrors: ''
|
WarningsAsErrors: ''
|
||||||
HeaderFilterRegex: 'src/.*'
|
HeaderFilterRegex: 'src/.*'
|
||||||
AnalyzeTemporaryDtors: false
|
AnalyzeTemporaryDtors: false
|
||||||
@@ -86,4 +92,3 @@ CheckOptions:
|
|||||||
- key: modernize-use-nullptr.NullMacros
|
- key: modernize-use-nullptr.NullMacros
|
||||||
value: 'NULL'
|
value: 'NULL'
|
||||||
...
|
...
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ tmpdir=$(mktemp -d repo-XXXXXXXX)
|
|||||||
trap "rm -rf $tmpdir" EXIT INT
|
trap "rm -rf $tmpdir" EXIT INT
|
||||||
|
|
||||||
modified_files=$(git diff --cached --name-only --diff-filter=AM $against | sed -nE "/.*\.(cpp|cc|cxx|c|h|hpp)$/p")
|
modified_files=$(git diff --cached --name-only --diff-filter=AM $against | sed -nE "/.*\.(cpp|cc|cxx|c|h|hpp)$/p")
|
||||||
|
FAIL=0
|
||||||
for file in $modified_files; do
|
for file in $modified_files; do
|
||||||
echo "Checking $file..."
|
echo "Checking $file..."
|
||||||
|
|
||||||
@@ -23,21 +24,13 @@ for file in $modified_files; do
|
|||||||
|
|
||||||
git checkout-index --prefix="$tmpdir/" -- $file
|
git checkout-index --prefix="$tmpdir/" -- $file
|
||||||
|
|
||||||
echo "Running clang-format..."
|
# Do not break header checker
|
||||||
$project_folder/tools/git-clang-format $tmpdir/$file
|
|
||||||
code=$?
|
|
||||||
|
|
||||||
if [ $code -ne 0 ]; then
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Running header checker..."
|
echo "Running header checker..."
|
||||||
$project_folder/tools/header-checker.py $tmpdir/$file
|
$project_folder/tools/header-checker.py $tmpdir/$file $file --amend-year
|
||||||
code=$?
|
CODE=$?
|
||||||
|
if [ $CODE -ne 0 ]; then
|
||||||
if [ $code -ne 0 ]; then
|
FAIL=1
|
||||||
break
|
|
||||||
fi
|
fi
|
||||||
done;
|
done;
|
||||||
|
|
||||||
return $code
|
return ${FAIL}
|
||||||
|
|||||||
2
.github/pull_request_template.md
vendored
2
.github/pull_request_template.md
vendored
@@ -3,7 +3,9 @@
|
|||||||
- [ ] Update [changelog](https://docs.memgraph.com/memgraph/changelog)
|
- [ ] Update [changelog](https://docs.memgraph.com/memgraph/changelog)
|
||||||
- [ ] Write E2E tests
|
- [ ] Write E2E tests
|
||||||
- [ ] Compare the [benchmarking results](https://bench-graph.memgraph.com/) between the master branch and the Epic branch
|
- [ ] Compare the [benchmarking results](https://bench-graph.memgraph.com/) between the master branch and the Epic branch
|
||||||
|
- [ ] Provide the full content or a guide for the final git message
|
||||||
|
|
||||||
[master < Task] PR
|
[master < Task] PR
|
||||||
- [ ] Check, and update documentation if necessary
|
- [ ] Check, and update documentation if necessary
|
||||||
- [ ] Update [changelog](https://docs.memgraph.com/memgraph/changelog)
|
- [ ] Update [changelog](https://docs.memgraph.com/memgraph/changelog)
|
||||||
|
- [ ] Provide the full content or a guide for the final git message
|
||||||
|
|||||||
4
.github/workflows/daily_benchmark.yaml
vendored
4
.github/workflows/daily_benchmark.yaml
vendored
@@ -16,7 +16,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Set up repository
|
- name: Set up repository
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
# Number of commits to fetch. `0` indicates all history for all
|
# Number of commits to fetch. `0` indicates all history for all
|
||||||
# branches and tags. (default: 1)
|
# branches and tags. (default: 1)
|
||||||
@@ -25,7 +25,7 @@ jobs:
|
|||||||
- name: Build release binaries
|
- name: Build release binaries
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Initialize dependencies.
|
# Initialize dependencies.
|
||||||
./init
|
./init
|
||||||
|
|||||||
322
.github/workflows/diff.yaml
vendored
322
.github/workflows/diff.yaml
vendored
@@ -1,4 +1,7 @@
|
|||||||
name: Diff
|
name: Diff
|
||||||
|
concurrency:
|
||||||
|
group: ${{ github.head_ref || github.sha }}
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
@@ -23,7 +26,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Set up repository
|
- name: Set up repository
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
# Number of commits to fetch. `0` indicates all history for all
|
# Number of commits to fetch. `0` indicates all history for all
|
||||||
# branches and tags. (default: 1)
|
# branches and tags. (default: 1)
|
||||||
@@ -32,7 +35,7 @@ jobs:
|
|||||||
- name: Build community binaries
|
- name: Build community binaries
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Initialize dependencies.
|
# Initialize dependencies.
|
||||||
./init
|
./init
|
||||||
@@ -45,7 +48,7 @@ jobs:
|
|||||||
- name: Run unit tests
|
- name: Run unit tests
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Run unit tests.
|
# Run unit tests.
|
||||||
cd build
|
cd build
|
||||||
@@ -61,19 +64,49 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Set up repository
|
- name: Set up repository
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
# Number of commits to fetch. `0` indicates all history for all
|
# Number of commits to fetch. `0` indicates all history for all
|
||||||
# branches and tags. (default: 1)
|
# branches and tags. (default: 1)
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
|
# This is also needed if we want do to comparison against other branches
|
||||||
|
# See https://github.community/t/checkout-code-fails-when-it-runs-lerna-run-test-since-master/17920
|
||||||
|
- name: Fetch all history for all tags and branches
|
||||||
|
run: git fetch
|
||||||
|
|
||||||
|
- name: Initialize deps
|
||||||
|
run: |
|
||||||
|
# Activate toolchain.
|
||||||
|
source /opt/toolchain-v4/activate
|
||||||
|
# Initialize dependencies.
|
||||||
|
./init
|
||||||
|
|
||||||
|
- name: Set base branch
|
||||||
|
if: ${{ github.event_name == 'pull_request' }}
|
||||||
|
run: |
|
||||||
|
echo "BASE_BRANCH=origin/${{ github.base_ref }}" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Set base branch # if we manually dispatch or push to master
|
||||||
|
if: ${{ github.event_name != 'pull_request' }}
|
||||||
|
run: |
|
||||||
|
echo "BASE_BRANCH=origin/master" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Python code analysis
|
||||||
|
run: |
|
||||||
|
CHANGED_FILES=$(git diff -U0 ${{ env.BASE_BRANCH }}... --name-only)
|
||||||
|
for file in ${CHANGED_FILES}; do
|
||||||
|
echo ${file}
|
||||||
|
if [[ ${file} == *.py ]]; then
|
||||||
|
python3 -m black --check --diff ${file}
|
||||||
|
python3 -m isort --check-only --profile "black" --diff ${file}
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
- name: Build combined ASAN, UBSAN and coverage binaries
|
- name: Build combined ASAN, UBSAN and coverage binaries
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Initialize dependencies.
|
|
||||||
./init
|
|
||||||
|
|
||||||
cd build
|
cd build
|
||||||
cmake -DTEST_COVERAGE=ON -DASAN=ON -DUBSAN=ON ..
|
cmake -DTEST_COVERAGE=ON -DASAN=ON -DUBSAN=ON ..
|
||||||
@@ -82,7 +115,7 @@ jobs:
|
|||||||
- name: Run unit tests
|
- name: Run unit tests
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Run unit tests. It is restricted to 2 threads intentionally, because higher concurrency makes the timing related tests unstable.
|
# Run unit tests. It is restricted to 2 threads intentionally, because higher concurrency makes the timing related tests unstable.
|
||||||
cd build
|
cd build
|
||||||
@@ -91,7 +124,7 @@ jobs:
|
|||||||
- name: Compute code coverage
|
- name: Compute code coverage
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Compute code coverage.
|
# Compute code coverage.
|
||||||
cd tools/github
|
cd tools/github
|
||||||
@@ -102,17 +135,27 @@ jobs:
|
|||||||
tar -czf code_coverage.tar.gz coverage.json html report.json summary.rmu
|
tar -czf code_coverage.tar.gz coverage.json html report.json summary.rmu
|
||||||
|
|
||||||
- name: Save code coverage
|
- name: Save code coverage
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: "Code coverage"
|
name: "Code coverage"
|
||||||
path: tools/github/generated/code_coverage.tar.gz
|
path: tools/github/generated/code_coverage.tar.gz
|
||||||
|
|
||||||
|
- name: Set base branch
|
||||||
|
if: ${{ github.event_name == 'pull_request' }}
|
||||||
|
run: |
|
||||||
|
echo "BASE_BRANCH=origin/${{ github.base_ref }}" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Set base branch # if we manually dispatch or push to master
|
||||||
|
if: ${{ github.event_name != 'pull_request' }}
|
||||||
|
run: |
|
||||||
|
echo "BASE_BRANCH=origin/master" >> $GITHUB_ENV
|
||||||
|
|
||||||
- name: Run clang-tidy
|
- name: Run clang-tidy
|
||||||
run: |
|
run: |
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Restrict clang-tidy results only to the modified parts
|
# Restrict clang-tidy results only to the modified parts
|
||||||
git diff -U0 master... -- src ':!*.hpp' | ./tools/github/clang-tidy/clang-tidy-diff.py -p 1 -j $THREADS -path build | tee ./build/clang_tidy_output.txt
|
git diff -U0 ${{ env.BASE_BRANCH }}... -- src | ./tools/github/clang-tidy/clang-tidy-diff.py -p 1 -j $THREADS -extra-arg="-DMG_CLANG_TIDY_CHECK" -path build | tee ./build/clang_tidy_output.txt
|
||||||
|
|
||||||
# Fail if any warning is reported
|
# Fail if any warning is reported
|
||||||
! cat ./build/clang_tidy_output.txt | ./tools/github/clang-tidy/grep_error_lines.sh > /dev/null
|
! cat ./build/clang_tidy_output.txt | ./tools/github/clang-tidy/grep_error_lines.sh > /dev/null
|
||||||
@@ -127,7 +170,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Set up repository
|
- name: Set up repository
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
# Number of commits to fetch. `0` indicates all history for all
|
# Number of commits to fetch. `0` indicates all history for all
|
||||||
# branches and tags. (default: 1)
|
# branches and tags. (default: 1)
|
||||||
@@ -136,7 +179,7 @@ jobs:
|
|||||||
- name: Build debug binaries
|
- name: Build debug binaries
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Initialize dependencies.
|
# Initialize dependencies.
|
||||||
./init
|
./init
|
||||||
@@ -146,52 +189,23 @@ jobs:
|
|||||||
cmake ..
|
cmake ..
|
||||||
make -j$THREADS
|
make -j$THREADS
|
||||||
|
|
||||||
- name: Run leftover CTest tests
|
- name: Run simulation tests
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Run leftover CTest tests (all except unit and benchmark tests).
|
# Run simulation tests.
|
||||||
cd build
|
cd build
|
||||||
ctest -E "(memgraph__unit|memgraph__benchmark)" --output-on-failure
|
ctest -R memgraph__simulation --output-on-failure -j$THREADS
|
||||||
|
|
||||||
- name: Run drivers tests
|
- name: Run single benchmark test
|
||||||
run: |
|
|
||||||
./tests/drivers/run.sh
|
|
||||||
|
|
||||||
- name: Run integration tests
|
|
||||||
run: |
|
|
||||||
cd tests/integration
|
|
||||||
for name in *; do
|
|
||||||
if [ ! -d $name ]; then continue; fi
|
|
||||||
pushd $name >/dev/null
|
|
||||||
echo "Running: $name"
|
|
||||||
if [ -x prepare.sh ]; then
|
|
||||||
./prepare.sh
|
|
||||||
fi
|
|
||||||
if [ -x runner.py ]; then
|
|
||||||
./runner.py
|
|
||||||
elif [ -x runner.sh ]; then
|
|
||||||
./runner.sh
|
|
||||||
fi
|
|
||||||
echo
|
|
||||||
popd >/dev/null
|
|
||||||
done
|
|
||||||
|
|
||||||
- name: Run cppcheck and clang-format
|
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Run cppcheck and clang-format.
|
# Run simulation tests.
|
||||||
cd tools/github
|
cd tests/mgbench
|
||||||
./cppcheck_and_clang_format diff
|
./benchmark.py accesscontrol/small --num-workers-for-import 1 --test-system-arg "split-file splitfiles/accesscontrol_small.shard_configuration bolt-num-workers 1"
|
||||||
|
|
||||||
- name: Save cppcheck and clang-format errors
|
|
||||||
uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: "Code coverage"
|
|
||||||
path: tools/github/cppcheck_and_clang_format.txt
|
|
||||||
|
|
||||||
release_build:
|
release_build:
|
||||||
name: "Release build"
|
name: "Release build"
|
||||||
@@ -203,7 +217,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Set up repository
|
- name: Set up repository
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
# Number of commits to fetch. `0` indicates all history for all
|
# Number of commits to fetch. `0` indicates all history for all
|
||||||
# branches and tags. (default: 1)
|
# branches and tags. (default: 1)
|
||||||
@@ -212,7 +226,7 @@ jobs:
|
|||||||
- name: Build release binaries
|
- name: Build release binaries
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Initialize dependencies.
|
# Initialize dependencies.
|
||||||
./init
|
./init
|
||||||
@@ -222,28 +236,33 @@ jobs:
|
|||||||
cmake -DCMAKE_BUILD_TYPE=release ..
|
cmake -DCMAKE_BUILD_TYPE=release ..
|
||||||
make -j$THREADS
|
make -j$THREADS
|
||||||
|
|
||||||
- name: Run GQL Behave tests
|
|
||||||
run: |
|
|
||||||
cd tests/gql_behave
|
|
||||||
./continuous_integration
|
|
||||||
|
|
||||||
- name: Save quality assurance status
|
|
||||||
uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: "GQL Behave Status"
|
|
||||||
path: |
|
|
||||||
tests/gql_behave/gql_behave_status.csv
|
|
||||||
tests/gql_behave/gql_behave_status.html
|
|
||||||
|
|
||||||
- name: Run unit tests
|
- name: Run unit tests
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Run unit tests.
|
# Run unit tests.
|
||||||
cd build
|
cd build
|
||||||
ctest -R memgraph__unit --output-on-failure -j$THREADS
|
ctest -R memgraph__unit --output-on-failure -j$THREADS
|
||||||
|
|
||||||
|
- name: Run simulation tests
|
||||||
|
run: |
|
||||||
|
# Activate toolchain.
|
||||||
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
|
# Run simulation tests.
|
||||||
|
cd build
|
||||||
|
ctest -R memgraph__simulation --output-on-failure -j$THREADS
|
||||||
|
|
||||||
|
- name: Run single benchmark test
|
||||||
|
run: |
|
||||||
|
# Activate toolchain.
|
||||||
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
|
# Run simulation tests.
|
||||||
|
cd tests/mgbench
|
||||||
|
./benchmark.py accesscontrol/small --num-workers-for-import 1 --test-system-arg "split-file splitfiles/accesscontrol_small.shard_configuration bolt-num-workers 1"
|
||||||
|
|
||||||
- name: Run e2e tests
|
- name: Run e2e tests
|
||||||
run: |
|
run: |
|
||||||
# TODO(gitbuda): Setup mgclient and pymgclient properly.
|
# TODO(gitbuda): Setup mgclient and pymgclient properly.
|
||||||
@@ -251,167 +270,4 @@ jobs:
|
|||||||
./setup.sh
|
./setup.sh
|
||||||
source ve3/bin/activate
|
source ve3/bin/activate
|
||||||
cd e2e
|
cd e2e
|
||||||
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../libs/mgclient/lib python runner.py --workloads-root-directory .
|
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../../libs/mgclient/lib python runner.py --workloads-root-directory ./distributed_queries
|
||||||
|
|
||||||
- name: Run stress test (plain)
|
|
||||||
run: |
|
|
||||||
cd tests/stress
|
|
||||||
./continuous_integration
|
|
||||||
|
|
||||||
- name: Run stress test (SSL)
|
|
||||||
run: |
|
|
||||||
cd tests/stress
|
|
||||||
./continuous_integration --use-ssl
|
|
||||||
|
|
||||||
- name: Run durability test
|
|
||||||
run: |
|
|
||||||
cd tests/stress
|
|
||||||
source ve3/bin/activate
|
|
||||||
python3 durability --num-steps 5
|
|
||||||
|
|
||||||
- name: Create enterprise DEB package
|
|
||||||
run: |
|
|
||||||
# Activate toolchain.
|
|
||||||
source /opt/toolchain-v3/activate
|
|
||||||
|
|
||||||
cd build
|
|
||||||
|
|
||||||
# create mgconsole
|
|
||||||
# we use the -B to force the build
|
|
||||||
make -j$THREADS -B mgconsole
|
|
||||||
|
|
||||||
# Create enterprise DEB package.
|
|
||||||
mkdir output && cd output
|
|
||||||
cpack -G DEB --config ../CPackConfig.cmake
|
|
||||||
|
|
||||||
- name: Save enterprise DEB package
|
|
||||||
uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: "Enterprise DEB package"
|
|
||||||
path: build/output/memgraph*.deb
|
|
||||||
|
|
||||||
- name: Save test data
|
|
||||||
uses: actions/upload-artifact@v2
|
|
||||||
if: always()
|
|
||||||
with:
|
|
||||||
name: "Test data"
|
|
||||||
path: |
|
|
||||||
# multiple paths could be defined
|
|
||||||
build/logs
|
|
||||||
|
|
||||||
release_jepsen_test:
|
|
||||||
name: "Release Jepsen Test"
|
|
||||||
runs-on: [self-hosted, Linux, X64, Debian10, JepsenControl]
|
|
||||||
#continue-on-error: true
|
|
||||||
env:
|
|
||||||
THREADS: 24
|
|
||||||
MEMGRAPH_ENTERPRISE_LICENSE: ${{ secrets.MEMGRAPH_ENTERPRISE_LICENSE }}
|
|
||||||
MEMGRAPH_ORGANIZATION_NAME: ${{ secrets.MEMGRAPH_ORGANIZATION_NAME }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Set up repository
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
# Number of commits to fetch. `0` indicates all history for all
|
|
||||||
# branches and tags. (default: 1)
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Build release binaries
|
|
||||||
run: |
|
|
||||||
# Activate toolchain.
|
|
||||||
source /opt/toolchain-v3/activate
|
|
||||||
|
|
||||||
# Initialize dependencies.
|
|
||||||
./init
|
|
||||||
|
|
||||||
# Build only memgraph release binarie.
|
|
||||||
cd build
|
|
||||||
cmake -DCMAKE_BUILD_TYPE=release ..
|
|
||||||
make -j$THREADS memgraph
|
|
||||||
|
|
||||||
- name: Run Jepsen tests
|
|
||||||
run: |
|
|
||||||
cd tests/jepsen
|
|
||||||
./run.sh test --binary ../../build/memgraph --run-args "test-all --node-configs resources/node-config.edn" --ignore-run-stdout-logs --ignore-run-stderr-logs
|
|
||||||
|
|
||||||
- name: Save Jepsen report
|
|
||||||
uses: actions/upload-artifact@v2
|
|
||||||
if: ${{ always() }}
|
|
||||||
with:
|
|
||||||
name: "Jepsen Report"
|
|
||||||
path: tests/jepsen/Jepsen.tar.gz
|
|
||||||
|
|
||||||
release_benchmarks:
|
|
||||||
name: "Release benchmarks"
|
|
||||||
runs-on: [self-hosted, Linux, X64, Diff, Gen7]
|
|
||||||
env:
|
|
||||||
THREADS: 24
|
|
||||||
MEMGRAPH_ENTERPRISE_LICENSE: ${{ secrets.MEMGRAPH_ENTERPRISE_LICENSE }}
|
|
||||||
MEMGRAPH_ORGANIZATION_NAME: ${{ secrets.MEMGRAPH_ORGANIZATION_NAME }}
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Set up repository
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
# Number of commits to fetch. `0` indicates all history for all
|
|
||||||
# branches and tags. (default: 1)
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Build release binaries
|
|
||||||
run: |
|
|
||||||
# Activate toolchain.
|
|
||||||
source /opt/toolchain-v3/activate
|
|
||||||
|
|
||||||
# Initialize dependencies.
|
|
||||||
./init
|
|
||||||
|
|
||||||
# Build only memgraph release binaries.
|
|
||||||
cd build
|
|
||||||
cmake -DCMAKE_BUILD_TYPE=release ..
|
|
||||||
make -j$THREADS
|
|
||||||
|
|
||||||
- name: Run macro benchmarks
|
|
||||||
run: |
|
|
||||||
cd tests/macro_benchmark
|
|
||||||
./harness QuerySuite MemgraphRunner \
|
|
||||||
--groups aggregation 1000_create unwind_create dense_expand match \
|
|
||||||
--no-strict
|
|
||||||
|
|
||||||
- name: Get branch name (merge)
|
|
||||||
if: github.event_name != 'pull_request'
|
|
||||||
shell: bash
|
|
||||||
run: echo "BRANCH_NAME=$(echo ${GITHUB_REF#refs/heads/} | tr / -)" >> $GITHUB_ENV
|
|
||||||
|
|
||||||
- name: Get branch name (pull request)
|
|
||||||
if: github.event_name == 'pull_request'
|
|
||||||
shell: bash
|
|
||||||
run: echo "BRANCH_NAME=$(echo ${GITHUB_HEAD_REF} | tr / -)" >> $GITHUB_ENV
|
|
||||||
|
|
||||||
- name: Upload macro benchmark results
|
|
||||||
run: |
|
|
||||||
cd tools/bench-graph-client
|
|
||||||
virtualenv -p python3 ve3
|
|
||||||
source ve3/bin/activate
|
|
||||||
pip install -r requirements.txt
|
|
||||||
./main.py --benchmark-name "macro_benchmark" \
|
|
||||||
--benchmark-results-path "../../tests/macro_benchmark/.harness_summary" \
|
|
||||||
--github-run-id "${{ github.run_id }}" \
|
|
||||||
--github-run-number "${{ github.run_number }}" \
|
|
||||||
--head-branch-name "${{ env.BRANCH_NAME }}"
|
|
||||||
|
|
||||||
- name: Run mgbench
|
|
||||||
run: |
|
|
||||||
cd tests/mgbench
|
|
||||||
./benchmark.py --num-workers-for-benchmark 12 --export-results benchmark_result.json pokec/medium/*/*
|
|
||||||
|
|
||||||
- name: Upload mgbench results
|
|
||||||
run: |
|
|
||||||
cd tools/bench-graph-client
|
|
||||||
virtualenv -p python3 ve3
|
|
||||||
source ve3/bin/activate
|
|
||||||
pip install -r requirements.txt
|
|
||||||
./main.py --benchmark-name "mgbench" \
|
|
||||||
--benchmark-results-path "../../tests/mgbench/benchmark_result.json" \
|
|
||||||
--github-run-id "${{ github.run_id }}" \
|
|
||||||
--github-run-number "${{ github.run_number }}" \
|
|
||||||
--head-branch-name "${{ env.BRANCH_NAME }}"
|
|
||||||
|
|||||||
8
.github/workflows/full_clang_tidy.yaml
vendored
8
.github/workflows/full_clang_tidy.yaml
vendored
@@ -14,7 +14,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Set up repository
|
- name: Set up repository
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
# Number of commits to fetch. `0` indicates all history for all
|
# Number of commits to fetch. `0` indicates all history for all
|
||||||
# branches and tags. (default: 1)
|
# branches and tags. (default: 1)
|
||||||
@@ -23,7 +23,7 @@ jobs:
|
|||||||
- name: Build debug binaries
|
- name: Build debug binaries
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Initialize dependencies.
|
# Initialize dependencies.
|
||||||
./init
|
./init
|
||||||
@@ -36,10 +36,10 @@ jobs:
|
|||||||
|
|
||||||
- name: Run clang-tidy
|
- name: Run clang-tidy
|
||||||
run: |
|
run: |
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# The results are also written to standard output in order to retain them in the logs
|
# The results are also written to standard output in order to retain them in the logs
|
||||||
./tools/github/clang-tidy/run-clang-tidy.py -p build -j $THREADS -clang-tidy-binary=/opt/toolchain-v3/bin/clang-tidy "$PWD/src/*" |
|
./tools/github/clang-tidy/run-clang-tidy.py -p build -j $THREADS -extra-arg="-DMG_CLANG_TIDY_CHECK" -clang-tidy-binary=/opt/toolchain-v4/bin/clang-tidy "$PWD/src/*" |
|
||||||
tee ./build/full_clang_tidy_output.txt
|
tee ./build/full_clang_tidy_output.txt
|
||||||
|
|
||||||
- name: Summarize clang-tidy results
|
- name: Summarize clang-tidy results
|
||||||
|
|||||||
117
.github/workflows/package_all.yaml
vendored
117
.github/workflows/package_all.yaml
vendored
@@ -6,156 +6,173 @@ on: workflow_dispatch
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
centos-7:
|
centos-7:
|
||||||
runs-on: [self-hosted, DockerMgBuild]
|
runs-on: [self-hosted, DockerMgBuild, X64]
|
||||||
timeout-minutes: 60
|
timeout-minutes: 60
|
||||||
steps:
|
steps:
|
||||||
- name: "Set up repository"
|
- name: "Set up repository"
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0 # Required because of release/get_version.py
|
fetch-depth: 0 # Required because of release/get_version.py
|
||||||
- name: "Build package"
|
- name: "Build package"
|
||||||
run: |
|
run: |
|
||||||
./release/package/run.sh package centos-7
|
./release/package/run.sh package centos-7
|
||||||
- name: "Upload package"
|
- name: "Upload package"
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: centos-7
|
name: centos-7
|
||||||
path: build/output/centos-7/memgraph*.rpm
|
path: build/output/centos-7/memgraph*.rpm
|
||||||
|
|
||||||
centos-8:
|
centos-9:
|
||||||
runs-on: [self-hosted, DockerMgBuild]
|
runs-on: [self-hosted, DockerMgBuild, X64]
|
||||||
timeout-minutes: 60
|
timeout-minutes: 60
|
||||||
steps:
|
steps:
|
||||||
- name: "Set up repository"
|
- name: "Set up repository"
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0 # Required because of release/get_version.py
|
fetch-depth: 0 # Required because of release/get_version.py
|
||||||
- name: "Build package"
|
- name: "Build package"
|
||||||
run: |
|
run: |
|
||||||
./release/package/run.sh package centos-8
|
./release/package/run.sh package centos-9
|
||||||
- name: "Upload package"
|
- name: "Upload package"
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: centos-8
|
name: centos-9
|
||||||
path: build/output/centos-8/memgraph*.rpm
|
path: build/output/centos-9/memgraph*.rpm
|
||||||
|
|
||||||
debian-9:
|
|
||||||
runs-on: [self-hosted, DockerMgBuild]
|
|
||||||
timeout-minutes: 60
|
|
||||||
steps:
|
|
||||||
- name: "Set up repository"
|
|
||||||
uses: actions/checkout@v2
|
|
||||||
with:
|
|
||||||
fetch-depth: 0 # Required because of release/get_version.py
|
|
||||||
- name: "Build package"
|
|
||||||
run: |
|
|
||||||
./release/package/run.sh package debian-9
|
|
||||||
- name: "Upload package"
|
|
||||||
uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: debian-9
|
|
||||||
path: build/output/debian-9/memgraph*.deb
|
|
||||||
|
|
||||||
debian-10:
|
debian-10:
|
||||||
runs-on: [self-hosted, DockerMgBuild]
|
runs-on: [self-hosted, DockerMgBuild, X64]
|
||||||
timeout-minutes: 60
|
timeout-minutes: 60
|
||||||
steps:
|
steps:
|
||||||
- name: "Set up repository"
|
- name: "Set up repository"
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0 # Required because of release/get_version.py
|
fetch-depth: 0 # Required because of release/get_version.py
|
||||||
- name: "Build package"
|
- name: "Build package"
|
||||||
run: |
|
run: |
|
||||||
./release/package/run.sh package debian-10
|
./release/package/run.sh package debian-10
|
||||||
- name: "Upload package"
|
- name: "Upload package"
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: debian-10
|
name: debian-10
|
||||||
path: build/output/debian-10/memgraph*.deb
|
path: build/output/debian-10/memgraph*.deb
|
||||||
|
|
||||||
debian-11:
|
debian-11:
|
||||||
runs-on: [self-hosted, DockerMgBuild]
|
runs-on: [self-hosted, DockerMgBuild, X64]
|
||||||
timeout-minutes: 60
|
timeout-minutes: 60
|
||||||
steps:
|
steps:
|
||||||
- name: "Set up repository"
|
- name: "Set up repository"
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0 # Required because of release/get_version.py
|
fetch-depth: 0 # Required because of release/get_version.py
|
||||||
- name: "Build package"
|
- name: "Build package"
|
||||||
run: |
|
run: |
|
||||||
./release/package/run.sh package debian-11
|
./release/package/run.sh package debian-11
|
||||||
- name: "Upload package"
|
- name: "Upload package"
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: debian-11
|
name: debian-11
|
||||||
path: build/output/debian-11/memgraph*.deb
|
path: build/output/debian-11/memgraph*.deb
|
||||||
|
|
||||||
docker:
|
docker:
|
||||||
runs-on: [self-hosted, DockerMgBuild]
|
runs-on: [self-hosted, DockerMgBuild, X64]
|
||||||
timeout-minutes: 60
|
timeout-minutes: 60
|
||||||
steps:
|
steps:
|
||||||
- name: "Set up repository"
|
- name: "Set up repository"
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0 # Required because of release/get_version.py
|
fetch-depth: 0 # Required because of release/get_version.py
|
||||||
- name: "Build package"
|
- name: "Build package"
|
||||||
run: |
|
run: |
|
||||||
cd release/package
|
cd release/package
|
||||||
./run.sh package debian-10 --for-docker
|
./run.sh package debian-11 --for-docker
|
||||||
./run.sh docker
|
./run.sh docker
|
||||||
- name: "Upload package"
|
- name: "Upload package"
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: docker
|
name: docker
|
||||||
path: build/output/docker/memgraph*.tar.gz
|
path: build/output/docker/memgraph*.tar.gz
|
||||||
|
|
||||||
ubuntu-1804:
|
ubuntu-1804:
|
||||||
runs-on: [self-hosted, DockerMgBuild]
|
runs-on: [self-hosted, DockerMgBuild, X64]
|
||||||
timeout-minutes: 60
|
timeout-minutes: 60
|
||||||
steps:
|
steps:
|
||||||
- name: "Set up repository"
|
- name: "Set up repository"
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0 # Required because of release/get_version.py
|
fetch-depth: 0 # Required because of release/get_version.py
|
||||||
- name: "Build package"
|
- name: "Build package"
|
||||||
run: |
|
run: |
|
||||||
./release/package/run.sh package ubuntu-18.04
|
./release/package/run.sh package ubuntu-18.04
|
||||||
- name: "Upload package"
|
- name: "Upload package"
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: ubuntu-1804
|
name: ubuntu-1804
|
||||||
path: build/output/ubuntu-18.04/memgraph*.deb
|
path: build/output/ubuntu-18.04/memgraph*.deb
|
||||||
|
|
||||||
ubuntu-2004:
|
ubuntu-2004:
|
||||||
runs-on: [self-hosted, DockerMgBuild]
|
runs-on: [self-hosted, DockerMgBuild, X64]
|
||||||
timeout-minutes: 60
|
timeout-minutes: 60
|
||||||
steps:
|
steps:
|
||||||
- name: "Set up repository"
|
- name: "Set up repository"
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0 # Required because of release/get_version.py
|
fetch-depth: 0 # Required because of release/get_version.py
|
||||||
- name: "Build package"
|
- name: "Build package"
|
||||||
run: |
|
run: |
|
||||||
./release/package/run.sh package ubuntu-20.04
|
./release/package/run.sh package ubuntu-20.04
|
||||||
- name: "Upload package"
|
- name: "Upload package"
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: ubuntu-2004
|
name: ubuntu-2004
|
||||||
path: build/output/ubuntu-20.04/memgraph*.deb
|
path: build/output/ubuntu-20.04/memgraph*.deb
|
||||||
|
|
||||||
debian-10-platform:
|
ubuntu-2204:
|
||||||
runs-on: [self-hosted, DockerMgBuild]
|
runs-on: [self-hosted, DockerMgBuild, X64]
|
||||||
timeout-minutes: 60
|
timeout-minutes: 60
|
||||||
steps:
|
steps:
|
||||||
- name: "Set up repository"
|
- name: "Set up repository"
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0 # Required because of release/get_version.py
|
fetch-depth: 0 # Required because of release/get_version.py
|
||||||
- name: "Build package"
|
- name: "Build package"
|
||||||
run: |
|
run: |
|
||||||
./release/package/run.sh package debian-10 --for-platform
|
./release/package/run.sh package ubuntu-22.04
|
||||||
- name: "Upload package"
|
- name: "Upload package"
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: debian-10-platform
|
name: ubuntu-2204
|
||||||
path: build/output/debian-10/memgraph*.deb
|
path: build/output/ubuntu-22.04/memgraph*.deb
|
||||||
|
|
||||||
|
debian-11-platform:
|
||||||
|
runs-on: [self-hosted, DockerMgBuild, X64]
|
||||||
|
timeout-minutes: 60
|
||||||
|
steps:
|
||||||
|
- name: "Set up repository"
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
fetch-depth: 0 # Required because of release/get_version.py
|
||||||
|
- name: "Build package"
|
||||||
|
run: |
|
||||||
|
./release/package/run.sh package debian-11 --for-platform
|
||||||
|
- name: "Upload package"
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: debian-11-platform
|
||||||
|
path: build/output/debian-11/memgraph*.deb
|
||||||
|
|
||||||
|
debian-11-arm:
|
||||||
|
runs-on: [self-hosted, DockerMgBuild, ARM64, strange]
|
||||||
|
timeout-minutes: 60
|
||||||
|
steps:
|
||||||
|
- name: "Set up repository"
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
fetch-depth: 0 # Required because of release/get_version.py
|
||||||
|
- name: "Build package"
|
||||||
|
run: |
|
||||||
|
./release/package/run.sh package debian-11-arm
|
||||||
|
- name: "Upload package"
|
||||||
|
uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: debian-11-arm
|
||||||
|
path: build/output/debian-11-arm/memgraph*.deb
|
||||||
|
|||||||
40
.github/workflows/release_centos8.yaml
vendored
40
.github/workflows/release_centos8.yaml
vendored
@@ -17,7 +17,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Set up repository
|
- name: Set up repository
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
# Number of commits to fetch. `0` indicates all history for all
|
# Number of commits to fetch. `0` indicates all history for all
|
||||||
# branches and tags. (default: 1)
|
# branches and tags. (default: 1)
|
||||||
@@ -26,7 +26,7 @@ jobs:
|
|||||||
- name: Build community binaries
|
- name: Build community binaries
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Initialize dependencies.
|
# Initialize dependencies.
|
||||||
./init
|
./init
|
||||||
@@ -39,7 +39,7 @@ jobs:
|
|||||||
- name: Run unit tests
|
- name: Run unit tests
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Run unit tests.
|
# Run unit tests.
|
||||||
cd build
|
cd build
|
||||||
@@ -55,7 +55,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Set up repository
|
- name: Set up repository
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
# Number of commits to fetch. `0` indicates all history for all
|
# Number of commits to fetch. `0` indicates all history for all
|
||||||
# branches and tags. (default: 1)
|
# branches and tags. (default: 1)
|
||||||
@@ -64,7 +64,7 @@ jobs:
|
|||||||
- name: Build coverage binaries
|
- name: Build coverage binaries
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Initialize dependencies.
|
# Initialize dependencies.
|
||||||
./init
|
./init
|
||||||
@@ -77,7 +77,7 @@ jobs:
|
|||||||
- name: Run unit tests
|
- name: Run unit tests
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Run unit tests.
|
# Run unit tests.
|
||||||
cd build
|
cd build
|
||||||
@@ -86,7 +86,7 @@ jobs:
|
|||||||
- name: Compute code coverage
|
- name: Compute code coverage
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Compute code coverage.
|
# Compute code coverage.
|
||||||
cd tools/github
|
cd tools/github
|
||||||
@@ -97,7 +97,7 @@ jobs:
|
|||||||
tar -czf code_coverage.tar.gz coverage.json html report.json summary.rmu
|
tar -czf code_coverage.tar.gz coverage.json html report.json summary.rmu
|
||||||
|
|
||||||
- name: Save code coverage
|
- name: Save code coverage
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: "Code coverage"
|
name: "Code coverage"
|
||||||
path: tools/github/generated/code_coverage.tar.gz
|
path: tools/github/generated/code_coverage.tar.gz
|
||||||
@@ -112,7 +112,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Set up repository
|
- name: Set up repository
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
# Number of commits to fetch. `0` indicates all history for all
|
# Number of commits to fetch. `0` indicates all history for all
|
||||||
# branches and tags. (default: 1)
|
# branches and tags. (default: 1)
|
||||||
@@ -121,7 +121,7 @@ jobs:
|
|||||||
- name: Build debug binaries
|
- name: Build debug binaries
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Initialize dependencies.
|
# Initialize dependencies.
|
||||||
./init
|
./init
|
||||||
@@ -134,7 +134,7 @@ jobs:
|
|||||||
- name: Run leftover CTest tests
|
- name: Run leftover CTest tests
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Run leftover CTest tests (all except unit and benchmark tests).
|
# Run leftover CTest tests (all except unit and benchmark tests).
|
||||||
cd build
|
cd build
|
||||||
@@ -166,14 +166,14 @@ jobs:
|
|||||||
- name: Run cppcheck and clang-format
|
- name: Run cppcheck and clang-format
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Run cppcheck and clang-format.
|
# Run cppcheck and clang-format.
|
||||||
cd tools/github
|
cd tools/github
|
||||||
./cppcheck_and_clang_format diff
|
./cppcheck_and_clang_format diff
|
||||||
|
|
||||||
- name: Save cppcheck and clang-format errors
|
- name: Save cppcheck and clang-format errors
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: "Code coverage"
|
name: "Code coverage"
|
||||||
path: tools/github/cppcheck_and_clang_format.txt
|
path: tools/github/cppcheck_and_clang_format.txt
|
||||||
@@ -189,7 +189,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Set up repository
|
- name: Set up repository
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
# Number of commits to fetch. `0` indicates all history for all
|
# Number of commits to fetch. `0` indicates all history for all
|
||||||
# branches and tags. (default: 1)
|
# branches and tags. (default: 1)
|
||||||
@@ -198,7 +198,7 @@ jobs:
|
|||||||
- name: Build release binaries
|
- name: Build release binaries
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Initialize dependencies.
|
# Initialize dependencies.
|
||||||
./init
|
./init
|
||||||
@@ -211,7 +211,7 @@ jobs:
|
|||||||
- name: Create enterprise RPM package
|
- name: Create enterprise RPM package
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
cd build
|
cd build
|
||||||
|
|
||||||
@@ -225,7 +225,7 @@ jobs:
|
|||||||
rpmlint memgraph*.rpm
|
rpmlint memgraph*.rpm
|
||||||
|
|
||||||
- name: Save enterprise RPM package
|
- name: Save enterprise RPM package
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: "Enterprise RPM package"
|
name: "Enterprise RPM package"
|
||||||
path: build/output/memgraph*.rpm
|
path: build/output/memgraph*.rpm
|
||||||
@@ -233,7 +233,7 @@ jobs:
|
|||||||
- name: Run micro benchmark tests
|
- name: Run micro benchmark tests
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Run micro benchmark tests.
|
# Run micro benchmark tests.
|
||||||
cd build
|
cd build
|
||||||
@@ -262,7 +262,7 @@ jobs:
|
|||||||
./continuous_integration
|
./continuous_integration
|
||||||
|
|
||||||
- name: Save quality assurance status
|
- name: Save quality assurance status
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: "GQL Behave Status"
|
name: "GQL Behave Status"
|
||||||
path: |
|
path: |
|
||||||
@@ -272,7 +272,7 @@ jobs:
|
|||||||
- name: Run unit tests
|
- name: Run unit tests
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Run unit tests.
|
# Run unit tests.
|
||||||
cd build
|
cd build
|
||||||
|
|||||||
46
.github/workflows/release_debian10.yaml
vendored
46
.github/workflows/release_debian10.yaml
vendored
@@ -17,7 +17,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Set up repository
|
- name: Set up repository
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
# Number of commits to fetch. `0` indicates all history for all
|
# Number of commits to fetch. `0` indicates all history for all
|
||||||
# branches and tags. (default: 1)
|
# branches and tags. (default: 1)
|
||||||
@@ -26,7 +26,7 @@ jobs:
|
|||||||
- name: Build community binaries
|
- name: Build community binaries
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Initialize dependencies.
|
# Initialize dependencies.
|
||||||
./init
|
./init
|
||||||
@@ -39,7 +39,7 @@ jobs:
|
|||||||
- name: Run unit tests
|
- name: Run unit tests
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Run unit tests.
|
# Run unit tests.
|
||||||
cd build
|
cd build
|
||||||
@@ -55,7 +55,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Set up repository
|
- name: Set up repository
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
# Number of commits to fetch. `0` indicates all history for all
|
# Number of commits to fetch. `0` indicates all history for all
|
||||||
# branches and tags. (default: 1)
|
# branches and tags. (default: 1)
|
||||||
@@ -64,7 +64,7 @@ jobs:
|
|||||||
- name: Build coverage binaries
|
- name: Build coverage binaries
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Initialize dependencies.
|
# Initialize dependencies.
|
||||||
./init
|
./init
|
||||||
@@ -77,7 +77,7 @@ jobs:
|
|||||||
- name: Run unit tests
|
- name: Run unit tests
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Run unit tests.
|
# Run unit tests.
|
||||||
cd build
|
cd build
|
||||||
@@ -86,7 +86,7 @@ jobs:
|
|||||||
- name: Compute code coverage
|
- name: Compute code coverage
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Compute code coverage.
|
# Compute code coverage.
|
||||||
cd tools/github
|
cd tools/github
|
||||||
@@ -97,7 +97,7 @@ jobs:
|
|||||||
tar -czf code_coverage.tar.gz coverage.json html report.json summary.rmu
|
tar -czf code_coverage.tar.gz coverage.json html report.json summary.rmu
|
||||||
|
|
||||||
- name: Save code coverage
|
- name: Save code coverage
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: "Code coverage"
|
name: "Code coverage"
|
||||||
path: tools/github/generated/code_coverage.tar.gz
|
path: tools/github/generated/code_coverage.tar.gz
|
||||||
@@ -112,7 +112,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Set up repository
|
- name: Set up repository
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
# Number of commits to fetch. `0` indicates all history for all
|
# Number of commits to fetch. `0` indicates all history for all
|
||||||
# branches and tags. (default: 1)
|
# branches and tags. (default: 1)
|
||||||
@@ -121,7 +121,7 @@ jobs:
|
|||||||
- name: Build debug binaries
|
- name: Build debug binaries
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Initialize dependencies.
|
# Initialize dependencies.
|
||||||
./init
|
./init
|
||||||
@@ -134,7 +134,7 @@ jobs:
|
|||||||
- name: Run leftover CTest tests
|
- name: Run leftover CTest tests
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Run leftover CTest tests (all except unit and benchmark tests).
|
# Run leftover CTest tests (all except unit and benchmark tests).
|
||||||
cd build
|
cd build
|
||||||
@@ -166,14 +166,14 @@ jobs:
|
|||||||
- name: Run cppcheck and clang-format
|
- name: Run cppcheck and clang-format
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Run cppcheck and clang-format.
|
# Run cppcheck and clang-format.
|
||||||
cd tools/github
|
cd tools/github
|
||||||
./cppcheck_and_clang_format diff
|
./cppcheck_and_clang_format diff
|
||||||
|
|
||||||
- name: Save cppcheck and clang-format errors
|
- name: Save cppcheck and clang-format errors
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: "Code coverage"
|
name: "Code coverage"
|
||||||
path: tools/github/cppcheck_and_clang_format.txt
|
path: tools/github/cppcheck_and_clang_format.txt
|
||||||
@@ -189,7 +189,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Set up repository
|
- name: Set up repository
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
# Number of commits to fetch. `0` indicates all history for all
|
# Number of commits to fetch. `0` indicates all history for all
|
||||||
# branches and tags. (default: 1)
|
# branches and tags. (default: 1)
|
||||||
@@ -198,7 +198,7 @@ jobs:
|
|||||||
- name: Build release binaries
|
- name: Build release binaries
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Initialize dependencies.
|
# Initialize dependencies.
|
||||||
./init
|
./init
|
||||||
@@ -211,7 +211,7 @@ jobs:
|
|||||||
- name: Create enterprise DEB package
|
- name: Create enterprise DEB package
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
cd build
|
cd build
|
||||||
|
|
||||||
@@ -224,7 +224,7 @@ jobs:
|
|||||||
cpack -G DEB --config ../CPackConfig.cmake
|
cpack -G DEB --config ../CPackConfig.cmake
|
||||||
|
|
||||||
- name: Save enterprise DEB package
|
- name: Save enterprise DEB package
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: "Enterprise DEB package"
|
name: "Enterprise DEB package"
|
||||||
path: build/output/memgraph*.deb
|
path: build/output/memgraph*.deb
|
||||||
@@ -232,7 +232,7 @@ jobs:
|
|||||||
- name: Run micro benchmark tests
|
- name: Run micro benchmark tests
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Run micro benchmark tests.
|
# Run micro benchmark tests.
|
||||||
cd build
|
cd build
|
||||||
@@ -261,7 +261,7 @@ jobs:
|
|||||||
./continuous_integration
|
./continuous_integration
|
||||||
|
|
||||||
- name: Save quality assurance status
|
- name: Save quality assurance status
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: "GQL Behave Status"
|
name: "GQL Behave Status"
|
||||||
path: |
|
path: |
|
||||||
@@ -271,7 +271,7 @@ jobs:
|
|||||||
- name: Run unit tests
|
- name: Run unit tests
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Run unit tests.
|
# Run unit tests.
|
||||||
cd build
|
cd build
|
||||||
@@ -324,7 +324,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Set up repository
|
- name: Set up repository
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
# Number of commits to fetch. `0` indicates all history for all
|
# Number of commits to fetch. `0` indicates all history for all
|
||||||
# branches and tags. (default: 1)
|
# branches and tags. (default: 1)
|
||||||
@@ -333,7 +333,7 @@ jobs:
|
|||||||
- name: Build release binaries
|
- name: Build release binaries
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Initialize dependencies.
|
# Initialize dependencies.
|
||||||
./init
|
./init
|
||||||
@@ -349,7 +349,7 @@ jobs:
|
|||||||
./run.sh test --binary ../../build/memgraph --run-args "test-all --node-configs resources/node-config.edn" --ignore-run-stdout-logs --ignore-run-stderr-logs
|
./run.sh test --binary ../../build/memgraph --run-args "test-all --node-configs resources/node-config.edn" --ignore-run-stdout-logs --ignore-run-stderr-logs
|
||||||
|
|
||||||
- name: Save Jepsen report
|
- name: Save Jepsen report
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v3
|
||||||
if: ${{ always() }}
|
if: ${{ always() }}
|
||||||
with:
|
with:
|
||||||
name: "Jepsen Report"
|
name: "Jepsen Report"
|
||||||
|
|||||||
69
.github/workflows/release_docker.yaml
vendored
Normal file
69
.github/workflows/release_docker.yaml
vendored
Normal file
@@ -0,0 +1,69 @@
|
|||||||
|
name: Publish Docker images
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
version:
|
||||||
|
description: "Memgraph binary version to publish on DockerHub."
|
||||||
|
required: true
|
||||||
|
force_release:
|
||||||
|
type: boolean
|
||||||
|
required: false
|
||||||
|
default: false
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
docker_publish:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
env:
|
||||||
|
DOCKER_ORGANIZATION_NAME: memgraph
|
||||||
|
DOCKER_REPOSITORY_NAME: memgraph
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: Set up QEMU
|
||||||
|
uses: docker/setup-qemu-action@v1
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
id: buildx
|
||||||
|
uses: docker/setup-buildx-action@v1
|
||||||
|
|
||||||
|
- name: Log in to Docker Hub
|
||||||
|
uses: docker/login-action@v1
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
||||||
|
|
||||||
|
- name: Download memgraph binary
|
||||||
|
run: |
|
||||||
|
cd release/docker
|
||||||
|
curl -L https://download.memgraph.com/memgraph/v${{ github.event.inputs.version }}/debian-11/memgraph_${{ github.event.inputs.version }}-1_amd64.deb > memgraph-amd64.deb
|
||||||
|
curl -L https://download.memgraph.com/memgraph/v${{ github.event.inputs.version }}/debian-11-aarch64/memgraph_${{ github.event.inputs.version }}-1_arm64.deb > memgraph-arm64.deb
|
||||||
|
|
||||||
|
- name: Check if specified version is already pushed
|
||||||
|
run: |
|
||||||
|
EXISTS=$(docker manifest inspect $DOCKER_ORGANIZATION_NAME/$DOCKER_REPOSITORY_NAME:${{ github.event.inputs.version }} > /dev/null; echo $?)
|
||||||
|
echo $EXISTS
|
||||||
|
if [[ ${EXISTS} -eq 0 ]]; then
|
||||||
|
echo 'The specified version has been already released to DockerHub.'
|
||||||
|
if [[ ${{ github.event.inputs.force_release }} = true ]]; then
|
||||||
|
echo 'Forcing the release!'
|
||||||
|
else
|
||||||
|
echo 'Stopping the release!'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo 'All good the specified version has not been release to DockerHub.'
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Build & push docker images
|
||||||
|
run: |
|
||||||
|
cd release/docker
|
||||||
|
docker buildx build \
|
||||||
|
--build-arg BINARY_NAME="memgraph-" \
|
||||||
|
--build-arg EXTENSION="deb" \
|
||||||
|
--platform linux/amd64,linux/arm64 \
|
||||||
|
--tag $DOCKER_ORGANIZATION_NAME/$DOCKER_REPOSITORY_NAME:${{ github.event.inputs.version }} \
|
||||||
|
--tag $DOCKER_ORGANIZATION_NAME/$DOCKER_REPOSITORY_NAME:latest \
|
||||||
|
--file memgraph_deb.dockerfile \
|
||||||
|
--push .
|
||||||
40
.github/workflows/release_ubuntu2004.yaml
vendored
40
.github/workflows/release_ubuntu2004.yaml
vendored
@@ -17,7 +17,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Set up repository
|
- name: Set up repository
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
# Number of commits to fetch. `0` indicates all history for all
|
# Number of commits to fetch. `0` indicates all history for all
|
||||||
# branches and tags. (default: 1)
|
# branches and tags. (default: 1)
|
||||||
@@ -26,7 +26,7 @@ jobs:
|
|||||||
- name: Build community binaries
|
- name: Build community binaries
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Initialize dependencies.
|
# Initialize dependencies.
|
||||||
./init
|
./init
|
||||||
@@ -39,7 +39,7 @@ jobs:
|
|||||||
- name: Run unit tests
|
- name: Run unit tests
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Run unit tests.
|
# Run unit tests.
|
||||||
cd build
|
cd build
|
||||||
@@ -55,7 +55,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Set up repository
|
- name: Set up repository
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
# Number of commits to fetch. `0` indicates all history for all
|
# Number of commits to fetch. `0` indicates all history for all
|
||||||
# branches and tags. (default: 1)
|
# branches and tags. (default: 1)
|
||||||
@@ -64,7 +64,7 @@ jobs:
|
|||||||
- name: Build coverage binaries
|
- name: Build coverage binaries
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Initialize dependencies.
|
# Initialize dependencies.
|
||||||
./init
|
./init
|
||||||
@@ -77,7 +77,7 @@ jobs:
|
|||||||
- name: Run unit tests
|
- name: Run unit tests
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Run unit tests.
|
# Run unit tests.
|
||||||
cd build
|
cd build
|
||||||
@@ -86,7 +86,7 @@ jobs:
|
|||||||
- name: Compute code coverage
|
- name: Compute code coverage
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Compute code coverage.
|
# Compute code coverage.
|
||||||
cd tools/github
|
cd tools/github
|
||||||
@@ -97,7 +97,7 @@ jobs:
|
|||||||
tar -czf code_coverage.tar.gz coverage.json html report.json summary.rmu
|
tar -czf code_coverage.tar.gz coverage.json html report.json summary.rmu
|
||||||
|
|
||||||
- name: Save code coverage
|
- name: Save code coverage
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: "Code coverage"
|
name: "Code coverage"
|
||||||
path: tools/github/generated/code_coverage.tar.gz
|
path: tools/github/generated/code_coverage.tar.gz
|
||||||
@@ -112,7 +112,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Set up repository
|
- name: Set up repository
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
# Number of commits to fetch. `0` indicates all history for all
|
# Number of commits to fetch. `0` indicates all history for all
|
||||||
# branches and tags. (default: 1)
|
# branches and tags. (default: 1)
|
||||||
@@ -121,7 +121,7 @@ jobs:
|
|||||||
- name: Build debug binaries
|
- name: Build debug binaries
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Initialize dependencies.
|
# Initialize dependencies.
|
||||||
./init
|
./init
|
||||||
@@ -134,7 +134,7 @@ jobs:
|
|||||||
- name: Run leftover CTest tests
|
- name: Run leftover CTest tests
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Run leftover CTest tests (all except unit and benchmark tests).
|
# Run leftover CTest tests (all except unit and benchmark tests).
|
||||||
cd build
|
cd build
|
||||||
@@ -166,14 +166,14 @@ jobs:
|
|||||||
- name: Run cppcheck and clang-format
|
- name: Run cppcheck and clang-format
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Run cppcheck and clang-format.
|
# Run cppcheck and clang-format.
|
||||||
cd tools/github
|
cd tools/github
|
||||||
./cppcheck_and_clang_format diff
|
./cppcheck_and_clang_format diff
|
||||||
|
|
||||||
- name: Save cppcheck and clang-format errors
|
- name: Save cppcheck and clang-format errors
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: "Code coverage"
|
name: "Code coverage"
|
||||||
path: tools/github/cppcheck_and_clang_format.txt
|
path: tools/github/cppcheck_and_clang_format.txt
|
||||||
@@ -189,7 +189,7 @@ jobs:
|
|||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Set up repository
|
- name: Set up repository
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
# Number of commits to fetch. `0` indicates all history for all
|
# Number of commits to fetch. `0` indicates all history for all
|
||||||
# branches and tags. (default: 1)
|
# branches and tags. (default: 1)
|
||||||
@@ -198,7 +198,7 @@ jobs:
|
|||||||
- name: Build release binaries
|
- name: Build release binaries
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Initialize dependencies.
|
# Initialize dependencies.
|
||||||
./init
|
./init
|
||||||
@@ -211,7 +211,7 @@ jobs:
|
|||||||
- name: Create enterprise DEB package
|
- name: Create enterprise DEB package
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
cd build
|
cd build
|
||||||
|
|
||||||
@@ -224,7 +224,7 @@ jobs:
|
|||||||
cpack -G DEB --config ../CPackConfig.cmake
|
cpack -G DEB --config ../CPackConfig.cmake
|
||||||
|
|
||||||
- name: Save enterprise DEB package
|
- name: Save enterprise DEB package
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: "Enterprise DEB package"
|
name: "Enterprise DEB package"
|
||||||
path: build/output/memgraph*.deb
|
path: build/output/memgraph*.deb
|
||||||
@@ -232,7 +232,7 @@ jobs:
|
|||||||
- name: Run micro benchmark tests
|
- name: Run micro benchmark tests
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Run micro benchmark tests.
|
# Run micro benchmark tests.
|
||||||
cd build
|
cd build
|
||||||
@@ -261,7 +261,7 @@ jobs:
|
|||||||
./continuous_integration
|
./continuous_integration
|
||||||
|
|
||||||
- name: Save quality assurance status
|
- name: Save quality assurance status
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: "GQL Behave Status"
|
name: "GQL Behave Status"
|
||||||
path: |
|
path: |
|
||||||
@@ -271,7 +271,7 @@ jobs:
|
|||||||
- name: Run unit tests
|
- name: Run unit tests
|
||||||
run: |
|
run: |
|
||||||
# Activate toolchain.
|
# Activate toolchain.
|
||||||
source /opt/toolchain-v3/activate
|
source /opt/toolchain-v4/activate
|
||||||
|
|
||||||
# Run unit tests.
|
# Run unit tests.
|
||||||
cd build
|
cd build
|
||||||
|
|||||||
12
.gitignore
vendored
12
.gitignore
vendored
@@ -23,6 +23,8 @@ cmake-build-*
|
|||||||
cmake/DownloadProject/
|
cmake/DownloadProject/
|
||||||
dist/
|
dist/
|
||||||
src/query/frontend/opencypher/generated/
|
src/query/frontend/opencypher/generated/
|
||||||
|
src/query/v2/frontend/opencypher/generated/
|
||||||
|
src/parser/opencypher/generated
|
||||||
tags
|
tags
|
||||||
ve/
|
ve/
|
||||||
ve3/
|
ve3/
|
||||||
@@ -50,15 +52,25 @@ src/distributed/pull_produce_rpc_messages.hpp
|
|||||||
src/distributed/storage_gc_rpc_messages.hpp
|
src/distributed/storage_gc_rpc_messages.hpp
|
||||||
src/distributed/token_sharing_rpc_messages.hpp
|
src/distributed/token_sharing_rpc_messages.hpp
|
||||||
src/distributed/updates_rpc_messages.hpp
|
src/distributed/updates_rpc_messages.hpp
|
||||||
|
src/query/v2/frontend/ast/ast.hpp
|
||||||
src/query/frontend/ast/ast.hpp
|
src/query/frontend/ast/ast.hpp
|
||||||
|
src/storage/v3/bindings/ast/ast.hpp
|
||||||
src/query/distributed/frontend/ast/ast_serialization.hpp
|
src/query/distributed/frontend/ast/ast_serialization.hpp
|
||||||
|
src/query/v2/distributed/frontend/ast/ast_serialization.hpp
|
||||||
src/durability/distributed/state_delta.hpp
|
src/durability/distributed/state_delta.hpp
|
||||||
src/durability/single_node/state_delta.hpp
|
src/durability/single_node/state_delta.hpp
|
||||||
src/durability/single_node_ha/state_delta.hpp
|
src/durability/single_node_ha/state_delta.hpp
|
||||||
src/query/frontend/semantic/symbol.hpp
|
src/query/frontend/semantic/symbol.hpp
|
||||||
|
src/query/v2/frontend/semantic/symbol.hpp
|
||||||
|
src/expr/semantic/symbol.hpp
|
||||||
src/query/distributed/frontend/semantic/symbol_serialization.hpp
|
src/query/distributed/frontend/semantic/symbol_serialization.hpp
|
||||||
|
src/query/v2/distributed/frontend/semantic/symbol_serialization.hpp
|
||||||
src/query/distributed/plan/ops.hpp
|
src/query/distributed/plan/ops.hpp
|
||||||
|
src/query/v2/distributed/plan/ops.hpp
|
||||||
src/query/plan/operator.hpp
|
src/query/plan/operator.hpp
|
||||||
|
src/query/v2/plan/operator.hpp
|
||||||
|
src/parser/opencypher/generated
|
||||||
|
src/expr/semantic/symbol.hpp
|
||||||
src/raft/log_entry.hpp
|
src/raft/log_entry.hpp
|
||||||
src/raft/raft_rpc_messages.hpp
|
src/raft/raft_rpc_messages.hpp
|
||||||
src/raft/snapshot_metadata.hpp
|
src/raft/snapshot_metadata.hpp
|
||||||
|
|||||||
21
.pre-commit-config.yaml
Normal file
21
.pre-commit-config.yaml
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
repos:
|
||||||
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||||
|
rev: v2.3.0
|
||||||
|
hooks:
|
||||||
|
- id: check-yaml
|
||||||
|
- id: end-of-file-fixer
|
||||||
|
- id: trailing-whitespace
|
||||||
|
- repo: https://github.com/psf/black
|
||||||
|
rev: 22.10.0
|
||||||
|
hooks:
|
||||||
|
- id: black
|
||||||
|
- repo: https://github.com/pycqa/isort
|
||||||
|
rev: 5.10.1
|
||||||
|
hooks:
|
||||||
|
- id: isort
|
||||||
|
name: isort (python)
|
||||||
|
args: ["--profile", "black"]
|
||||||
|
- repo: https://github.com/pre-commit/mirrors-clang-format
|
||||||
|
rev: v13.0.0
|
||||||
|
hooks:
|
||||||
|
- id: clang-format
|
||||||
@@ -182,9 +182,11 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|||||||
# c99-designator is disabled because of required mixture of designated and
|
# c99-designator is disabled because of required mixture of designated and
|
||||||
# non-designated initializers in Python Query Module code (`py_module.cpp`).
|
# non-designated initializers in Python Query Module code (`py_module.cpp`).
|
||||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall \
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall \
|
||||||
-Werror=switch -Werror=switch-bool -Werror=return-type \
|
-Werror=switch -Werror=switch-bool -Werror=implicit-fallthrough \
|
||||||
|
-Werror=return-type \
|
||||||
-Werror=return-stack-address \
|
-Werror=return-stack-address \
|
||||||
-Wno-c99-designator")
|
-Wno-c99-designator \
|
||||||
|
-DBOOST_ASIO_USE_TS_EXECUTOR_AS_DEFAULT")
|
||||||
|
|
||||||
# Don't omit frame pointer in RelWithDebInfo, for additional callchain debug.
|
# Don't omit frame pointer in RelWithDebInfo, for additional callchain debug.
|
||||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO
|
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO
|
||||||
@@ -204,6 +206,8 @@ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fuse-ld=gold")
|
|||||||
# release flags
|
# release flags
|
||||||
set(CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG")
|
set(CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG")
|
||||||
|
|
||||||
|
SET(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -pthread")
|
||||||
|
|
||||||
#debug flags
|
#debug flags
|
||||||
set(PREFERRED_DEBUGGER "gdb" CACHE STRING
|
set(PREFERRED_DEBUGGER "gdb" CACHE STRING
|
||||||
"Tunes the debug output for your preferred debugger (gdb or lldb).")
|
"Tunes the debug output for your preferred debugger (gdb or lldb).")
|
||||||
@@ -228,6 +232,8 @@ endif()
|
|||||||
message(STATUS "CMake build type: ${CMAKE_BUILD_TYPE}")
|
message(STATUS "CMake build type: ${CMAKE_BUILD_TYPE}")
|
||||||
# -----------------------------------------------------------------------------
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
set(MG_ARCH "x86_64" CACHE STRING "Host architecture to build Memgraph on. Supported values are x86_64 (default), ARM64.")
|
||||||
|
|
||||||
# setup external dependencies -------------------------------------------------
|
# setup external dependencies -------------------------------------------------
|
||||||
|
|
||||||
# threading
|
# threading
|
||||||
@@ -322,7 +328,8 @@ if (UBSAN)
|
|||||||
# To make the program abort on undefined behavior, use UBSAN_OPTIONS=halt_on_error=1.
|
# To make the program abort on undefined behavior, use UBSAN_OPTIONS=halt_on_error=1.
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(MG_PYTHON_VERSION "" CACHE STRING "Specify the exact python version used by the query modules")
|
set(MG_PYTHON_VERSION "" CACHE STRING "Specify the exact Python version used by the query modules")
|
||||||
|
set(MG_PYTHON_PATH "" CACHE STRING "Specify the exact Python path used by the query modules")
|
||||||
|
|
||||||
# Add subprojects
|
# Add subprojects
|
||||||
include_directories(src)
|
include_directories(src)
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
* @gitbuda @antonio2368 @antaljanosbenjamin @kostasrim @jbajic
|
|
||||||
12
README.md
12
README.md
@@ -54,6 +54,18 @@ Memgraph is implemented in C/C++ and leverages an in-memory first architecture
|
|||||||
to ensure that you’re getting the best possible performance consistently and
|
to ensure that you’re getting the best possible performance consistently and
|
||||||
without surprises. It’s also ACID-compliant and highly available.
|
without surprises. It’s also ACID-compliant and highly available.
|
||||||
|
|
||||||
|
## :video_game: Memgraph Playground
|
||||||
|
|
||||||
|
You don't need to install anything to try out Memgraph. Check out
|
||||||
|
our **[Memgraph Playground](https://playground.memgraph.com/)** sandboxes in
|
||||||
|
your browser.
|
||||||
|
|
||||||
|
<p align="left">
|
||||||
|
<a href="https://playground.memgraph.com/">
|
||||||
|
<img width="450px" alt="Memgraph Playground" src="https://download.memgraph.com/asset/github/memgraph/memgraph-playground.png">
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
## :floppy_disk: Download & Install
|
## :floppy_disk: Download & Install
|
||||||
|
|
||||||
### Windows
|
### Windows
|
||||||
|
|||||||
55
cmake/FindJemalloc.cmake
Normal file
55
cmake/FindJemalloc.cmake
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
# Try to find jemalloc library
|
||||||
|
#
|
||||||
|
# Use this module as:
|
||||||
|
# find_package(Jemalloc)
|
||||||
|
#
|
||||||
|
# or:
|
||||||
|
# find_package(Jemalloc REQUIRED)
|
||||||
|
#
|
||||||
|
# This will define the following variables:
|
||||||
|
#
|
||||||
|
# Jemalloc_FOUND True if the system has the jemalloc library.
|
||||||
|
# Jemalloc_INCLUDE_DIRS Include directories needed to use jemalloc.
|
||||||
|
# Jemalloc_LIBRARIES Libraries needed to link to jemalloc.
|
||||||
|
#
|
||||||
|
# The following cache variables may also be set:
|
||||||
|
#
|
||||||
|
# Jemalloc_INCLUDE_DIR The directory containing jemalloc/jemalloc.h.
|
||||||
|
# Jemalloc_LIBRARY The path to the jemalloc static library.
|
||||||
|
|
||||||
|
find_path(Jemalloc_INCLUDE_DIR NAMES jemalloc/jemalloc.h PATH_SUFFIXES include)
|
||||||
|
|
||||||
|
find_library(Jemalloc_LIBRARY NAMES libjemalloc.a PATH_SUFFIXES lib)
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
find_package_handle_standard_args(Jemalloc
|
||||||
|
FOUND_VAR Jemalloc_FOUND
|
||||||
|
REQUIRED_VARS
|
||||||
|
Jemalloc_LIBRARY
|
||||||
|
Jemalloc_INCLUDE_DIR
|
||||||
|
)
|
||||||
|
|
||||||
|
if(Jemalloc_FOUND)
|
||||||
|
set(Jemalloc_LIBRARIES ${Jemalloc_LIBRARY})
|
||||||
|
set(Jemalloc_INCLUDE_DIRS ${Jemalloc_INCLUDE_DIR})
|
||||||
|
else()
|
||||||
|
if(Jemalloc_FIND_REQUIRED)
|
||||||
|
message(FATAL_ERROR "Cannot find jemalloc!")
|
||||||
|
else()
|
||||||
|
message(WARNING "jemalloc is not found!")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(Jemalloc_FOUND AND NOT TARGET Jemalloc::Jemalloc)
|
||||||
|
add_library(Jemalloc::Jemalloc UNKNOWN IMPORTED)
|
||||||
|
set_target_properties(Jemalloc::Jemalloc
|
||||||
|
PROPERTIES
|
||||||
|
IMPORTED_LOCATION "${Jemalloc_LIBRARY}"
|
||||||
|
INTERFACE_INCLUDE_DIRECTORIES "${Jemalloc_INCLUDE_DIR}"
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
mark_as_advanced(
|
||||||
|
Jemalloc_INCLUDE_DIR
|
||||||
|
Jemalloc_LIBRARY
|
||||||
|
)
|
||||||
@@ -47,6 +47,14 @@ modifications:
|
|||||||
value: ""
|
value: ""
|
||||||
override: false
|
override: false
|
||||||
|
|
||||||
|
- name: "bolt_cert_file"
|
||||||
|
value: "/etc/memgraph/ssl/cert.pem"
|
||||||
|
override: false
|
||||||
|
|
||||||
|
- name: "bolt_key_file"
|
||||||
|
value: "/etc/memgraph/ssl/key.pem"
|
||||||
|
override: false
|
||||||
|
|
||||||
- name: "storage_properties_on_edges"
|
- name: "storage_properties_on_edges"
|
||||||
value: "true"
|
value: "true"
|
||||||
override: true
|
override: true
|
||||||
@@ -75,13 +83,9 @@ modifications:
|
|||||||
value: "true"
|
value: "true"
|
||||||
override: true
|
override: true
|
||||||
|
|
||||||
- name: "query_modules_directory"
|
# - name: "query_modules_directory"
|
||||||
value: "/usr/lib/memgraph/query_modules"
|
# value: "/usr/lib/memgraph/query_modules"
|
||||||
override: true
|
# override: true
|
||||||
|
|
||||||
- name: "auth_module_executable"
|
|
||||||
value: "/usr/lib/memgraph/auth_module/example.py"
|
|
||||||
override: false
|
|
||||||
|
|
||||||
- name: "memory_limit"
|
- name: "memory_limit"
|
||||||
value: "0"
|
value: "0"
|
||||||
|
|||||||
@@ -5,18 +5,27 @@ set -Eeuo pipefail
|
|||||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||||
source "$DIR/../util.sh"
|
source "$DIR/../util.sh"
|
||||||
|
|
||||||
|
check_operating_system "centos-7"
|
||||||
|
check_architecture "x86_64"
|
||||||
|
|
||||||
TOOLCHAIN_BUILD_DEPS=(
|
TOOLCHAIN_BUILD_DEPS=(
|
||||||
coreutils gcc gcc-c++ make # generic build tools
|
coreutils gcc gcc-c++ make # generic build tools
|
||||||
wget # used for archive download
|
wget # used for archive download
|
||||||
gnupg2 # used for archive signature verification
|
gnupg2 # used for archive signature verification
|
||||||
tar gzip bzip2 xz unzip # used for archive unpacking
|
tar gzip bzip2 xz unzip # used for archive unpacking
|
||||||
zlib-devel # zlib library used for all builds
|
zlib-devel # zlib library used for all builds
|
||||||
expat-devel libipt-devel libbabeltrace-devel xz-devel python3-devel # gdb
|
expat-devel libipt libipt-devel libbabeltrace-devel xz-devel python3-devel # gdb
|
||||||
texinfo # gdb
|
texinfo # gdb
|
||||||
libcurl-devel # cmake
|
libcurl-devel # cmake
|
||||||
|
curl # snappy
|
||||||
readline-devel # cmake and llvm
|
readline-devel # cmake and llvm
|
||||||
libffi-devel libxml2-devel perl-Digest-MD5 # llvm
|
libffi-devel libxml2-devel perl-Digest-MD5 # llvm
|
||||||
libedit-devel pcre-devel automake bison # swig
|
libedit-devel pcre-devel automake bison # swig
|
||||||
|
file
|
||||||
|
openssl-devel
|
||||||
|
gmp-devel
|
||||||
|
gperf
|
||||||
|
patch
|
||||||
)
|
)
|
||||||
|
|
||||||
TOOLCHAIN_RUN_DEPS=(
|
TOOLCHAIN_RUN_DEPS=(
|
||||||
@@ -26,10 +35,10 @@ TOOLCHAIN_RUN_DEPS=(
|
|||||||
expat libipt libbabeltrace xz-libs python3 # for gdb
|
expat libipt libbabeltrace xz-libs python3 # for gdb
|
||||||
readline # for cmake and llvm
|
readline # for cmake and llvm
|
||||||
libffi libxml2 # for llvm
|
libffi libxml2 # for llvm
|
||||||
|
openssl-devel
|
||||||
)
|
)
|
||||||
|
|
||||||
MEMGRAPH_BUILD_DEPS=(
|
MEMGRAPH_BUILD_DEPS=(
|
||||||
git # source code control
|
|
||||||
make pkgconfig # build system
|
make pkgconfig # build system
|
||||||
curl wget # for downloading libs
|
curl wget # for downloading libs
|
||||||
libuuid-devel java-11-openjdk # required by antlr
|
libuuid-devel java-11-openjdk # required by antlr
|
||||||
@@ -95,8 +104,12 @@ install() {
|
|||||||
echo "NOTE: export LANG=en_US.utf8"
|
echo "NOTE: export LANG=en_US.utf8"
|
||||||
fi
|
fi
|
||||||
yum install -y epel-release
|
yum install -y epel-release
|
||||||
|
yum remove -y ius-release
|
||||||
|
yum install -y \
|
||||||
|
https://repo.ius.io/ius-release-el7.rpm
|
||||||
yum update -y
|
yum update -y
|
||||||
yum install -y wget git python3 python3-pip
|
yum install -y wget python3 python3-pip
|
||||||
|
yum install -y git
|
||||||
for pkg in $1; do
|
for pkg in $1; do
|
||||||
if [ "$pkg" == libipt ]; then
|
if [ "$pkg" == libipt ]; then
|
||||||
if ! yum list installed libipt >/dev/null 2>/dev/null; then
|
if ! yum list installed libipt >/dev/null 2>/dev/null; then
|
||||||
|
|||||||
@@ -5,38 +5,49 @@ set -Eeuo pipefail
|
|||||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||||
source "$DIR/../util.sh"
|
source "$DIR/../util.sh"
|
||||||
|
|
||||||
|
check_operating_system "centos-9"
|
||||||
|
check_architecture "x86_64"
|
||||||
|
|
||||||
TOOLCHAIN_BUILD_DEPS=(
|
TOOLCHAIN_BUILD_DEPS=(
|
||||||
coreutils gcc gcc-c++ make # generic build tools
|
coreutils-common gcc gcc-c++ make # generic build tools
|
||||||
wget # used for archive download
|
wget # used for archive download
|
||||||
gnupg2 # used for archive signature verification
|
gnupg2 # used for archive signature verification
|
||||||
tar gzip bzip2 xz unzip # used for archive unpacking
|
tar gzip bzip2 xz unzip # used for archive unpacking
|
||||||
zlib-devel # zlib library used for all builds
|
zlib-devel # zlib library used for all builds
|
||||||
expat-devel libipt-devel libbabeltrace-devel xz-devel python36-devel texinfo # for gdb
|
expat-devel xz-devel python3-devel texinfo libbabeltrace-devel # for gdb
|
||||||
libcurl-devel # for cmake
|
|
||||||
readline-devel # for cmake and llvm
|
readline-devel # for cmake and llvm
|
||||||
libffi-devel libxml2-devel # for llvm
|
libffi-devel libxml2-devel # for llvm
|
||||||
libedit-devel pcre-devel automake bison # for swig
|
libedit-devel pcre-devel automake bison # for swig
|
||||||
|
file
|
||||||
|
openssl-devel
|
||||||
|
gmp-devel
|
||||||
|
gperf
|
||||||
|
diffutils
|
||||||
|
libipt libipt-devel # intel
|
||||||
|
patch
|
||||||
)
|
)
|
||||||
|
|
||||||
TOOLCHAIN_RUN_DEPS=(
|
TOOLCHAIN_RUN_DEPS=(
|
||||||
make # generic build tools
|
make # generic build tools
|
||||||
tar gzip bzip2 xz # used for archive unpacking
|
tar gzip bzip2 xz # used for archive unpacking
|
||||||
zlib # zlib library used for all builds
|
zlib # zlib library used for all builds
|
||||||
expat libipt libbabeltrace xz-libs python36 # for gdb
|
expat xz-libs python3 # for gdb
|
||||||
readline # for cmake and llvm
|
readline # for cmake and llvm
|
||||||
libffi libxml2 # for llvm
|
libffi libxml2 # for llvm
|
||||||
|
openssl-devel
|
||||||
|
perl # for openssl
|
||||||
)
|
)
|
||||||
|
|
||||||
MEMGRAPH_BUILD_DEPS=(
|
MEMGRAPH_BUILD_DEPS=(
|
||||||
git # source code control
|
git # source code control
|
||||||
make pkgconf-pkg-config # build system
|
make pkgconf-pkg-config # build system
|
||||||
curl wget # for downloading libs
|
wget # for downloading libs
|
||||||
libuuid-devel java-11-openjdk # required by antlr
|
libuuid-devel java-11-openjdk # required by antlr
|
||||||
readline-devel # for memgraph console
|
readline-devel # for memgraph console
|
||||||
python36-devel # for query modules
|
python3-devel # for query modules
|
||||||
openssl-devel
|
openssl-devel
|
||||||
libseccomp-devel
|
libseccomp-devel
|
||||||
python36 python3-virtualenv python3-pip nmap-ncat # for qa, macro_benchmark and stress tests
|
python3 python3-pip python3-virtualenv nmap-ncat # for qa, macro_benchmark and stress tests
|
||||||
#
|
#
|
||||||
# IMPORTANT: python3-yaml does NOT exist on CentOS
|
# IMPORTANT: python3-yaml does NOT exist on CentOS
|
||||||
# Install it manually using `pip3 install PyYAML`
|
# Install it manually using `pip3 install PyYAML`
|
||||||
@@ -45,7 +56,7 @@ MEMGRAPH_BUILD_DEPS=(
|
|||||||
libcurl-devel # mg-requests
|
libcurl-devel # mg-requests
|
||||||
rpm-build rpmlint # for RPM package building
|
rpm-build rpmlint # for RPM package building
|
||||||
doxygen graphviz # source documentation generators
|
doxygen graphviz # source documentation generators
|
||||||
which mono-complete dotnet-sdk-3.1 nodejs golang zip unzip java-11-openjdk-devel # for driver tests
|
which nodejs golang zip unzip java-11-openjdk-devel # for driver tests
|
||||||
sbcl # for custom Lisp C++ preprocessing
|
sbcl # for custom Lisp C++ preprocessing
|
||||||
autoconf # for jemalloc code generation
|
autoconf # for jemalloc code generation
|
||||||
libtool # for protobuf code generation
|
libtool # for protobuf code generation
|
||||||
@@ -64,6 +75,9 @@ check() {
|
|||||||
fi
|
fi
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
|
if [ "$pkg" == "python3-virtualenv" ]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
if ! yum list installed "$pkg" >/dev/null 2>/dev/null; then
|
if ! yum list installed "$pkg" >/dev/null 2>/dev/null; then
|
||||||
missing="$pkg $missing"
|
missing="$pkg $missing"
|
||||||
fi
|
fi
|
||||||
@@ -87,12 +101,13 @@ install() {
|
|||||||
else
|
else
|
||||||
echo "NOTE: export LANG=en_US.utf8"
|
echo "NOTE: export LANG=en_US.utf8"
|
||||||
fi
|
fi
|
||||||
dnf install -y epel-release
|
yum update -y
|
||||||
dnf install -y 'dnf-command(config-manager)'
|
yum install -y wget git python3 python3-pip
|
||||||
dnf config-manager --set-enabled powertools # Required to install texinfo.
|
|
||||||
dnf update -y
|
|
||||||
dnf install -y wget git python36 python3-pip
|
|
||||||
for pkg in $1; do
|
for pkg in $1; do
|
||||||
|
# Since there is no support for libipt-devel for CentOS 9 we install
|
||||||
|
# Fedoras version of same libs, they are the same version but released
|
||||||
|
# for different OS
|
||||||
|
# TODO Update when libipt-devel releases for CentOS 9
|
||||||
if [ "$pkg" == libipt ]; then
|
if [ "$pkg" == libipt ]; then
|
||||||
if ! dnf list installed libipt >/dev/null 2>/dev/null; then
|
if ! dnf list installed libipt >/dev/null 2>/dev/null; then
|
||||||
dnf install -y http://repo.okay.com.mx/centos/8/x86_64/release/libipt-1.6.1-8.el8.x86_64.rpm
|
dnf install -y http://repo.okay.com.mx/centos/8/x86_64/release/libipt-1.6.1-8.el8.x86_64.rpm
|
||||||
@@ -100,19 +115,14 @@ install() {
|
|||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
if [ "$pkg" == libipt-devel ]; then
|
if [ "$pkg" == libipt-devel ]; then
|
||||||
if ! yum list installed libipt-devel >/dev/null 2>/dev/null; then
|
if ! dnf list installed libipt-devel >/dev/null 2>/dev/null; then
|
||||||
dnf install -y http://repo.okay.com.mx/centos/8/x86_64/release/libipt-devel-1.6.1-8.el8.x86_64.rpm
|
dnf install -y http://repo.okay.com.mx/centos/8/x86_64/release/libipt-devel-1.6.1-8.el8.x86_64.rpm
|
||||||
fi
|
fi
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
# Install GDB dependencies not present in the standard repos.
|
|
||||||
# https://bugs.centos.org/view.php?id=17068
|
|
||||||
# https://centos.pkgs.org
|
|
||||||
# Since 2020, there is Babeltrace2 (https://babeltrace.org). Not used
|
|
||||||
# within GDB yet (an assumption).
|
|
||||||
if [ "$pkg" == libbabeltrace-devel ]; then
|
if [ "$pkg" == libbabeltrace-devel ]; then
|
||||||
if ! dnf list installed libbabeltrace-devel >/dev/null 2>/dev/null; then
|
if ! dnf list installed libbabeltrace-devel >/dev/null 2>/dev/null; then
|
||||||
dnf install -y http://mirror.centos.org/centos/8/PowerTools/x86_64/os/Packages/libbabeltrace-devel-1.5.4-3.el8.x86_64.rpm
|
dnf install -y http://mirror.stream.centos.org/9-stream/CRB/x86_64/os/Packages/libbabeltrace-devel-1.5.8-10.el9.x86_64.rpm
|
||||||
fi
|
fi
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
@@ -128,15 +138,6 @@ install() {
|
|||||||
fi
|
fi
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
if [ "$pkg" == dotnet-sdk-3.1 ]; then
|
|
||||||
if ! dnf list installed dotnet-sdk-3.1 >/dev/null 2>/dev/null; then
|
|
||||||
wget -nv https://packages.microsoft.com/config/centos/8/packages-microsoft-prod.rpm -O packages-microsoft-prod.rpm
|
|
||||||
rpm -Uvh https://packages.microsoft.com/config/centos/8/packages-microsoft-prod.rpm
|
|
||||||
dnf update -y
|
|
||||||
dnf install -y dotnet-sdk-3.1
|
|
||||||
fi
|
|
||||||
continue
|
|
||||||
fi
|
|
||||||
if [ "$pkg" == PyYAML ]; then
|
if [ "$pkg" == PyYAML ]; then
|
||||||
if [ -z ${SUDO_USER+x} ]; then # Running as root (e.g. Docker).
|
if [ -z ${SUDO_USER+x} ]; then # Running as root (e.g. Docker).
|
||||||
pip3 install --user PyYAML
|
pip3 install --user PyYAML
|
||||||
@@ -145,7 +146,17 @@ install() {
|
|||||||
fi
|
fi
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
dnf install -y "$pkg"
|
if [ "$pkg" == python3-virtualenv ]; then
|
||||||
|
if [ -z ${SUDO_USER+x} ]; then # Running as root (e.g. Docker).
|
||||||
|
pip3 install virtualenv
|
||||||
|
pip3 install virtualenvwrapper
|
||||||
|
else # Running using sudo.
|
||||||
|
sudo -H -u "$SUDO_USER" bash -c "pip3 install virtualenv"
|
||||||
|
sudo -H -u "$SUDO_USER" bash -c "pip3 install virtualenvwrapper"
|
||||||
|
fi
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
yum install -y "$pkg"
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5,6 +5,9 @@ set -Eeuo pipefail
|
|||||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||||
source "$DIR/../util.sh"
|
source "$DIR/../util.sh"
|
||||||
|
|
||||||
|
check_operating_system "debian-10"
|
||||||
|
check_architecture "x86_64"
|
||||||
|
|
||||||
TOOLCHAIN_BUILD_DEPS=(
|
TOOLCHAIN_BUILD_DEPS=(
|
||||||
coreutils gcc g++ build-essential make # generic build tools
|
coreutils gcc g++ build-essential make # generic build tools
|
||||||
wget # used for archive download
|
wget # used for archive download
|
||||||
@@ -15,6 +18,12 @@ TOOLCHAIN_BUILD_DEPS=(
|
|||||||
libcurl4-openssl-dev # for cmake
|
libcurl4-openssl-dev # for cmake
|
||||||
libreadline-dev # for cmake and llvm
|
libreadline-dev # for cmake and llvm
|
||||||
libffi-dev libxml2-dev # for llvm
|
libffi-dev libxml2-dev # for llvm
|
||||||
|
curl # snappy
|
||||||
|
file # for libunwind
|
||||||
|
libssl-dev # for libevent
|
||||||
|
libgmp-dev # for gdb
|
||||||
|
gperf # for proxygen
|
||||||
|
git # for fbthrift
|
||||||
libedit-dev libpcre3-dev automake bison # for swig
|
libedit-dev libpcre3-dev automake bison # for swig
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -26,6 +35,7 @@ TOOLCHAIN_RUN_DEPS=(
|
|||||||
libcurl4 # for cmake
|
libcurl4 # for cmake
|
||||||
libreadline7 # for cmake and llvm
|
libreadline7 # for cmake and llvm
|
||||||
libffi6 libxml2 # for llvm
|
libffi6 libxml2 # for llvm
|
||||||
|
libssl-dev # for libevent
|
||||||
)
|
)
|
||||||
|
|
||||||
MEMGRAPH_BUILD_DEPS=(
|
MEMGRAPH_BUILD_DEPS=(
|
||||||
|
|||||||
98
environment/os/debian-11-arm.sh
Executable file
98
environment/os/debian-11-arm.sh
Executable file
@@ -0,0 +1,98 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -Eeuo pipefail
|
||||||
|
|
||||||
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||||
|
source "$DIR/../util.sh"
|
||||||
|
|
||||||
|
check_operating_system "debian-11"
|
||||||
|
check_architecture "arm64"
|
||||||
|
|
||||||
|
TOOLCHAIN_BUILD_DEPS=(
|
||||||
|
coreutils gcc g++ build-essential make # generic build tools
|
||||||
|
wget # used for archive download
|
||||||
|
gnupg # used for archive signature verification
|
||||||
|
tar gzip bzip2 xz-utils unzip # used for archive unpacking
|
||||||
|
zlib1g-dev # zlib library used for all builds
|
||||||
|
libexpat1-dev liblzma-dev python3-dev texinfo # for gdb
|
||||||
|
libcurl4-openssl-dev # for cmake
|
||||||
|
libreadline-dev # for cmake and llvm
|
||||||
|
libffi-dev libxml2-dev # for llvm
|
||||||
|
libedit-dev libpcre3-dev automake bison # for swig
|
||||||
|
curl # snappy
|
||||||
|
file # for libunwind
|
||||||
|
libssl-dev # for libevent
|
||||||
|
libgmp-dev
|
||||||
|
gperf # for proxygen
|
||||||
|
git # for fbthrift
|
||||||
|
)
|
||||||
|
|
||||||
|
TOOLCHAIN_RUN_DEPS=(
|
||||||
|
make # generic build tools
|
||||||
|
tar gzip bzip2 xz-utils # used for archive unpacking
|
||||||
|
zlib1g # zlib library used for all builds
|
||||||
|
libexpat1 liblzma5 python3 # for gdb
|
||||||
|
libcurl4 # for cmake
|
||||||
|
file # for CPack
|
||||||
|
libreadline8 # for cmake and llvm
|
||||||
|
libffi7 libxml2 # for llvm
|
||||||
|
libssl-dev # for libevent
|
||||||
|
)
|
||||||
|
|
||||||
|
MEMGRAPH_BUILD_DEPS=(
|
||||||
|
git # source code control
|
||||||
|
make pkg-config # build system
|
||||||
|
curl wget # for downloading libs
|
||||||
|
uuid-dev default-jre-headless # required by antlr
|
||||||
|
libreadline-dev # for memgraph console
|
||||||
|
libpython3-dev python3-dev # for query modules
|
||||||
|
libssl-dev
|
||||||
|
libseccomp-dev
|
||||||
|
netcat # tests are using nc to wait for memgraph
|
||||||
|
python3 virtualenv python3-virtualenv python3-pip # for qa, macro_benchmark and stress tests
|
||||||
|
python3-yaml # for the configuration generator
|
||||||
|
libcurl4-openssl-dev # mg-requests
|
||||||
|
sbcl # for custom Lisp C++ preprocessing
|
||||||
|
doxygen graphviz # source documentation generators
|
||||||
|
mono-runtime mono-mcs zip unzip default-jdk-headless # for driver tests
|
||||||
|
golang nodejs npm
|
||||||
|
autoconf # for jemalloc code generation
|
||||||
|
libtool # for protobuf code generation
|
||||||
|
)
|
||||||
|
|
||||||
|
list() {
|
||||||
|
echo "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
check() {
|
||||||
|
check_all_dpkg "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
install() {
|
||||||
|
cat >/etc/apt/sources.list <<EOF
|
||||||
|
deb http://deb.debian.org/debian bullseye main
|
||||||
|
deb-src http://deb.debian.org/debian bullseye main
|
||||||
|
|
||||||
|
deb http://deb.debian.org/debian-security/ bullseye-security main
|
||||||
|
deb-src http://deb.debian.org/debian-security/ bullseye-security main
|
||||||
|
|
||||||
|
deb http://deb.debian.org/debian bullseye-updates main
|
||||||
|
deb-src http://deb.debian.org/debian bullseye-updates main
|
||||||
|
EOF
|
||||||
|
cd "$DIR"
|
||||||
|
apt update
|
||||||
|
# If GitHub Actions runner is installed, append LANG to the environment.
|
||||||
|
# Python related tests doesn't work the LANG export.
|
||||||
|
if [ -d "/home/gh/actions-runner" ]; then
|
||||||
|
echo "LANG=en_US.utf8" >> /home/gh/actions-runner/.env
|
||||||
|
else
|
||||||
|
echo "NOTE: export LANG=en_US.utf8"
|
||||||
|
fi
|
||||||
|
apt install -y wget
|
||||||
|
for pkg in $1; do
|
||||||
|
apt install -y "$pkg"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
deps=$2"[*]"
|
||||||
|
"$1" "${!deps}"
|
||||||
@@ -5,6 +5,9 @@ set -Eeuo pipefail
|
|||||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||||
source "$DIR/../util.sh"
|
source "$DIR/../util.sh"
|
||||||
|
|
||||||
|
check_operating_system "debian-11"
|
||||||
|
check_architecture "x86_64"
|
||||||
|
|
||||||
TOOLCHAIN_BUILD_DEPS=(
|
TOOLCHAIN_BUILD_DEPS=(
|
||||||
coreutils gcc g++ build-essential make # generic build tools
|
coreutils gcc g++ build-essential make # generic build tools
|
||||||
wget # used for archive download
|
wget # used for archive download
|
||||||
@@ -16,6 +19,12 @@ TOOLCHAIN_BUILD_DEPS=(
|
|||||||
libreadline-dev # for cmake and llvm
|
libreadline-dev # for cmake and llvm
|
||||||
libffi-dev libxml2-dev # for llvm
|
libffi-dev libxml2-dev # for llvm
|
||||||
libedit-dev libpcre3-dev automake bison # for swig
|
libedit-dev libpcre3-dev automake bison # for swig
|
||||||
|
curl # snappy
|
||||||
|
file # for libunwind
|
||||||
|
libssl-dev # for libevent
|
||||||
|
libgmp-dev
|
||||||
|
gperf # for proxygen
|
||||||
|
git # for fbthrift
|
||||||
)
|
)
|
||||||
|
|
||||||
TOOLCHAIN_RUN_DEPS=(
|
TOOLCHAIN_RUN_DEPS=(
|
||||||
@@ -27,6 +36,7 @@ TOOLCHAIN_RUN_DEPS=(
|
|||||||
file # for CPack
|
file # for CPack
|
||||||
libreadline8 # for cmake and llvm
|
libreadline8 # for cmake and llvm
|
||||||
libffi7 libxml2 # for llvm
|
libffi7 libxml2 # for llvm
|
||||||
|
libssl-dev # for libevent
|
||||||
)
|
)
|
||||||
|
|
||||||
MEMGRAPH_BUILD_DEPS=(
|
MEMGRAPH_BUILD_DEPS=(
|
||||||
@@ -80,7 +90,7 @@ EOF
|
|||||||
fi
|
fi
|
||||||
apt install -y wget
|
apt install -y wget
|
||||||
for pkg in $1; do
|
for pkg in $1; do
|
||||||
if [ "$pkg" == dotnet-sdk-3.1 ]; then
|
if [ "$pkg" == dotnet-sdk-3.1 ]; then
|
||||||
if ! dpkg -s "$pkg" 2>/dev/null >/dev/null; then
|
if ! dpkg -s "$pkg" 2>/dev/null >/dev/null; then
|
||||||
wget -nv https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
|
wget -nv https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
|
||||||
dpkg -i packages-microsoft-prod.deb
|
dpkg -i packages-microsoft-prod.deb
|
||||||
|
|||||||
@@ -1,63 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -Eeuo pipefail
|
|
||||||
|
|
||||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
|
||||||
source "$DIR/../util.sh"
|
|
||||||
|
|
||||||
TOOLCHAIN_BUILD_DEPS=(
|
|
||||||
coreutils gcc g++ build-essential make # generic build tools
|
|
||||||
wget # used for archive download
|
|
||||||
gnupg # used for archive signature verification
|
|
||||||
tar gzip bzip2 xz-utils unzip # used for archive unpacking
|
|
||||||
zlib1g-dev # zlib library used for all builds
|
|
||||||
libexpat1-dev libipt-dev libbabeltrace-dev libbabeltrace-ctf-dev liblzma-dev python3-dev texinfo # for gdb
|
|
||||||
libcurl4-openssl-dev # for cmake
|
|
||||||
libreadline-dev # for cmake and llvm
|
|
||||||
libffi-dev libxml2-dev # for llvm
|
|
||||||
libedit-dev libpcre3-dev automake bison # for swig
|
|
||||||
)
|
|
||||||
|
|
||||||
TOOLCHAIN_RUN_DEPS=(
|
|
||||||
make # generic build tools
|
|
||||||
tar gzip bzip2 xz-utils # used for archive unpacking
|
|
||||||
zlib1g # zlib library used for all builds
|
|
||||||
libexpat1 libipt1 libbabeltrace1 libbabeltrace-ctf1 liblzma5 python3 # for gdb
|
|
||||||
libcurl3 # for cmake
|
|
||||||
libreadline7 # for cmake and llvm
|
|
||||||
libffi6 libxml2 # for llvm
|
|
||||||
)
|
|
||||||
|
|
||||||
MEMGRAPH_BUILD_DEPS=(
|
|
||||||
git # source code control
|
|
||||||
make pkg-config # build system
|
|
||||||
curl wget # for downloading libs
|
|
||||||
uuid-dev default-jre-headless # required by antlr
|
|
||||||
libreadline-dev # for memgraph console
|
|
||||||
libpython3-dev python3-dev # for query modules
|
|
||||||
libssl-dev
|
|
||||||
libseccomp-dev
|
|
||||||
python3 python-virtualenv python3-pip # for qa, macro_benchmark and stress tests
|
|
||||||
python3-yaml # for the configuration generator
|
|
||||||
libcurl4-openssl-dev # mg-requests
|
|
||||||
sbcl # for custom Lisp C++ preprocessing
|
|
||||||
doxygen graphviz # source documentation generators
|
|
||||||
mono-runtime mono-mcs nodejs zip unzip default-jdk-headless # for driver tests
|
|
||||||
autoconf # for jemalloc code generation
|
|
||||||
libtool # for protobuf code generation
|
|
||||||
)
|
|
||||||
|
|
||||||
list() {
|
|
||||||
echo "$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
check() {
|
|
||||||
check_all_dpkg "$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
install() {
|
|
||||||
install_all_apt "$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
deps=$2"[*]"
|
|
||||||
"$1" "${!deps}"
|
|
||||||
@@ -5,6 +5,8 @@ set -Eeuo pipefail
|
|||||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||||
source "$DIR/../util.sh"
|
source "$DIR/../util.sh"
|
||||||
|
|
||||||
|
check_operating_system "todo-os-name"
|
||||||
|
|
||||||
TOOLCHAIN_BUILD_DEPS=(
|
TOOLCHAIN_BUILD_DEPS=(
|
||||||
pkg
|
pkg
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -5,6 +5,9 @@ set -Eeuo pipefail
|
|||||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||||
source "$DIR/../util.sh"
|
source "$DIR/../util.sh"
|
||||||
|
|
||||||
|
check_operating_system "ubuntu-18.04"
|
||||||
|
check_architecture "x86_64"
|
||||||
|
|
||||||
TOOLCHAIN_BUILD_DEPS=(
|
TOOLCHAIN_BUILD_DEPS=(
|
||||||
coreutils gcc g++ build-essential make # generic build tools
|
coreutils gcc g++ build-essential make # generic build tools
|
||||||
wget # archive download
|
wget # archive download
|
||||||
@@ -16,6 +19,12 @@ TOOLCHAIN_BUILD_DEPS=(
|
|||||||
libcurl4-openssl-dev # cmake
|
libcurl4-openssl-dev # cmake
|
||||||
libreadline-dev # cmake and llvm
|
libreadline-dev # cmake and llvm
|
||||||
libffi-dev libxml2-dev # llvm
|
libffi-dev libxml2-dev # llvm
|
||||||
|
curl # snappy
|
||||||
|
file
|
||||||
|
git # for thrift
|
||||||
|
libgmp-dev # for gdb
|
||||||
|
gperf # for proxygen
|
||||||
|
libssl-dev
|
||||||
libedit-dev libpcre3-dev automake bison # swig
|
libedit-dev libpcre3-dev automake bison # swig
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -27,6 +36,7 @@ TOOLCHAIN_RUN_DEPS=(
|
|||||||
libcurl4 # for cmake
|
libcurl4 # for cmake
|
||||||
libreadline7 # for cmake and llvm
|
libreadline7 # for cmake and llvm
|
||||||
libffi6 libxml2 # for llvm
|
libffi6 libxml2 # for llvm
|
||||||
|
libssl-dev # for libevent
|
||||||
)
|
)
|
||||||
|
|
||||||
MEMGRAPH_BUILD_DEPS=(
|
MEMGRAPH_BUILD_DEPS=(
|
||||||
|
|||||||
@@ -5,6 +5,9 @@ set -Eeuo pipefail
|
|||||||
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||||
source "$DIR/../util.sh"
|
source "$DIR/../util.sh"
|
||||||
|
|
||||||
|
check_operating_system "ubuntu-20.04"
|
||||||
|
check_architecture "x86_64"
|
||||||
|
|
||||||
TOOLCHAIN_BUILD_DEPS=(
|
TOOLCHAIN_BUILD_DEPS=(
|
||||||
coreutils gcc g++ build-essential make # generic build tools
|
coreutils gcc g++ build-essential make # generic build tools
|
||||||
wget # used for archive download
|
wget # used for archive download
|
||||||
@@ -15,6 +18,12 @@ TOOLCHAIN_BUILD_DEPS=(
|
|||||||
libcurl4-openssl-dev # for cmake
|
libcurl4-openssl-dev # for cmake
|
||||||
libreadline-dev # for cmake and llvm
|
libreadline-dev # for cmake and llvm
|
||||||
libffi-dev libxml2-dev # for llvm
|
libffi-dev libxml2-dev # for llvm
|
||||||
|
curl # snappy
|
||||||
|
file
|
||||||
|
git # for thrift
|
||||||
|
libgmp-dev # for gdb
|
||||||
|
gperf # for proxygen
|
||||||
|
libssl-dev
|
||||||
libedit-dev libpcre3-dev automake bison # for swig
|
libedit-dev libpcre3-dev automake bison # for swig
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -26,6 +35,7 @@ TOOLCHAIN_RUN_DEPS=(
|
|||||||
libcurl4 # for cmake
|
libcurl4 # for cmake
|
||||||
libreadline8 # for cmake and llvm
|
libreadline8 # for cmake and llvm
|
||||||
libffi7 libxml2 # for llvm
|
libffi7 libxml2 # for llvm
|
||||||
|
libssl-dev # for libevent
|
||||||
)
|
)
|
||||||
|
|
||||||
MEMGRAPH_BUILD_DEPS=(
|
MEMGRAPH_BUILD_DEPS=(
|
||||||
|
|||||||
96
environment/os/ubuntu-22.04.sh
Executable file
96
environment/os/ubuntu-22.04.sh
Executable file
@@ -0,0 +1,96 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -Eeuo pipefail
|
||||||
|
|
||||||
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||||
|
source "$DIR/../util.sh"
|
||||||
|
|
||||||
|
check_operating_system "ubuntu-22.04"
|
||||||
|
check_architecture "x86_64"
|
||||||
|
|
||||||
|
TOOLCHAIN_BUILD_DEPS=(
|
||||||
|
coreutils gcc g++ build-essential make # generic build tools
|
||||||
|
wget # used for archive download
|
||||||
|
gnupg # used for archive signature verification
|
||||||
|
tar gzip bzip2 xz-utils unzip # used for archive unpacking
|
||||||
|
zlib1g-dev # zlib library used for all builds
|
||||||
|
libexpat1-dev libipt-dev libbabeltrace-dev liblzma-dev python3-dev texinfo # for gdb
|
||||||
|
libcurl4-openssl-dev # for cmake
|
||||||
|
libreadline-dev # for cmake and llvm
|
||||||
|
libffi-dev libxml2-dev # for llvm
|
||||||
|
curl # snappy
|
||||||
|
file
|
||||||
|
git # for thrift
|
||||||
|
libgmp-dev # for gdb
|
||||||
|
gperf # for proxygen
|
||||||
|
libssl-dev
|
||||||
|
libedit-dev libpcre3-dev automake bison # for swig
|
||||||
|
)
|
||||||
|
|
||||||
|
TOOLCHAIN_RUN_DEPS=(
|
||||||
|
make # generic build tools
|
||||||
|
tar gzip bzip2 xz-utils # used for archive unpacking
|
||||||
|
zlib1g # zlib library used for all builds
|
||||||
|
libexpat1 libipt2 libbabeltrace1 liblzma5 python3 # for gdb
|
||||||
|
libcurl4 # for cmake
|
||||||
|
libreadline8 # for cmake and llvm
|
||||||
|
libffi7 libxml2 # for llvm
|
||||||
|
libssl-dev # for libevent
|
||||||
|
)
|
||||||
|
|
||||||
|
MEMGRAPH_BUILD_DEPS=(
|
||||||
|
git # source code control
|
||||||
|
make pkg-config # build system
|
||||||
|
curl wget # for downloading libs
|
||||||
|
uuid-dev default-jre-headless # required by antlr
|
||||||
|
libreadline-dev # for memgraph console
|
||||||
|
libpython3-dev python3-dev # for query modules
|
||||||
|
libssl-dev
|
||||||
|
libseccomp-dev
|
||||||
|
netcat # tests are using nc to wait for memgraph
|
||||||
|
python3 python3-virtualenv python3-pip # for qa, macro_benchmark and stress tests
|
||||||
|
python3-yaml # for the configuration generator
|
||||||
|
libcurl4-openssl-dev # mg-requests
|
||||||
|
sbcl # for custom Lisp C++ preprocessing
|
||||||
|
doxygen graphviz # source documentation generators
|
||||||
|
mono-runtime mono-mcs zip unzip default-jdk-headless # for driver tests
|
||||||
|
dotnet-sdk-6.0 golang nodejs npm
|
||||||
|
autoconf # for jemalloc code generation
|
||||||
|
libtool # for protobuf code generation
|
||||||
|
)
|
||||||
|
|
||||||
|
list() {
|
||||||
|
echo "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
check() {
|
||||||
|
check_all_dpkg "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
install() {
|
||||||
|
cd "$DIR"
|
||||||
|
apt update
|
||||||
|
# If GitHub Actions runner is installed, append LANG to the environment.
|
||||||
|
# Python related tests doesn't work the LANG export.
|
||||||
|
if [ -d "/home/gh/actions-runner" ]; then
|
||||||
|
echo "LANG=en_US.utf8" >> /home/gh/actions-runner/.env
|
||||||
|
else
|
||||||
|
echo "NOTE: export LANG=en_US.utf8"
|
||||||
|
fi
|
||||||
|
apt install -y wget
|
||||||
|
for pkg in $1; do
|
||||||
|
if [ "$pkg" == dotnet-sdk-6.0 ]; then
|
||||||
|
if ! dpkg -s dotnet-sdk-6.0 2>/dev/null >/dev/null; then
|
||||||
|
wget -nv https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
|
||||||
|
dpkg -i packages-microsoft-prod.deb
|
||||||
|
apt-get update
|
||||||
|
apt-get install -y apt-transport-https dotnet-sdk-6.0
|
||||||
|
fi
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
apt install -y "$pkg"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
deps=$2"[*]"
|
||||||
|
"$1" "${!deps}"
|
||||||
41
environment/toolchain/folly.patch
Normal file
41
environment/toolchain/folly.patch
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
diff -ur a/folly/CMakeLists.txt b/folly/CMakeLists.txt
|
||||||
|
--- a/folly/CMakeLists.txt 2021-12-12 23:10:42.000000000 +0100
|
||||||
|
+++ b/folly/CMakeLists.txt 2022-02-03 15:19:41.349693134 +0100
|
||||||
|
@@ -28,7 +28,6 @@
|
||||||
|
)
|
||||||
|
|
||||||
|
add_subdirectory(experimental/exception_tracer)
|
||||||
|
-add_subdirectory(logging/example)
|
||||||
|
|
||||||
|
if (PYTHON_EXTENSIONS)
|
||||||
|
# Create tree of symbolic links in structure required for successful
|
||||||
|
diff -ur a/folly/experimental/exception_tracer/ExceptionTracerLib.cpp b/folly/experimental/exception_tracer/ExceptionTracerLib.cpp
|
||||||
|
--- a/folly/experimental/exception_tracer/ExceptionTracerLib.cpp 2021-12-12 23:10:42.000000000 +0100
|
||||||
|
+++ b/folly/experimental/exception_tracer/ExceptionTracerLib.cpp 2022-02-03 15:19:11.003368891 +0100
|
||||||
|
@@ -96,6 +96,7 @@
|
||||||
|
#define __builtin_unreachable()
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#if 0
|
||||||
|
namespace __cxxabiv1 {
|
||||||
|
|
||||||
|
void __cxa_throw(
|
||||||
|
@@ -154,5 +155,5 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace std
|
||||||
|
-
|
||||||
|
+#endif
|
||||||
|
#endif // defined(__GLIBCXX__)
|
||||||
|
diff -ur a/folly/Portability.h b/folly/Portability.h
|
||||||
|
--- a/folly/Portability.h 2021-12-12 23:10:42.000000000 +0100
|
||||||
|
+++ b/folly/Portability.h 2022-02-03 15:19:11.003368891 +0100
|
||||||
|
@@ -566,7 +566,7 @@
|
||||||
|
#define FOLLY_HAS_COROUTINES 0
|
||||||
|
#elif (__cpp_coroutines >= 201703L || __cpp_impl_coroutine >= 201902L) && \
|
||||||
|
(__has_include(<coroutine>) || __has_include(<experimental/coroutine>))
|
||||||
|
-#define FOLLY_HAS_COROUTINES 1
|
||||||
|
+#define FOLLY_HAS_COROUTINES 0
|
||||||
|
// This is mainly to workaround bugs triggered by LTO, when stack allocated
|
||||||
|
// variables in await_suspend end up on a coroutine frame.
|
||||||
|
#define FOLLY_CORO_AWAIT_SUSPEND_NONTRIVIAL_ATTRIBUTES FOLLY_NOINLINE
|
||||||
11
environment/toolchain/proxygen.patch
Normal file
11
environment/toolchain/proxygen.patch
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
diff -ur a/cmake/proxygen-config.cmake.in b/cmake/proxygen-config.cmake.in
|
||||||
|
--- a/cmake/proxygen-config.cmake.in 2021-12-13 02:37:05.000000000 +0100
|
||||||
|
+++ b/cmake/proxygen-config.cmake.in 2022-01-27 17:14:28.284810621 +0100
|
||||||
|
@@ -21,7 +21,6 @@
|
||||||
|
find_dependency(folly)
|
||||||
|
find_dependency(wangle)
|
||||||
|
find_dependency(Fizz)
|
||||||
|
-find_dependency(mvfst)
|
||||||
|
# For now, anything that depends on Proxygen has to copy its FindZstd.cmake
|
||||||
|
# and issue a `find_package(Zstd)`. Uncommenting this won't work because
|
||||||
|
# this Zstd module exposes a library called `zstd`. The right fix is
|
||||||
29
environment/toolchain/snappy.patch
Normal file
29
environment/toolchain/snappy.patch
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
diff -ur a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
--- a/CMakeLists.txt 2021-05-05 00:53:34.000000000 +0200
|
||||||
|
+++ b/CMakeLists.txt 2022-01-27 17:18:34.758302398 +0100
|
||||||
|
@@ -52,9 +52,9 @@
|
||||||
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHs-c-")
|
||||||
|
add_definitions(-D_HAS_EXCEPTIONS=0)
|
||||||
|
|
||||||
|
- # Disable RTTI.
|
||||||
|
- string(REGEX REPLACE "/GR" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||||
|
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /GR-")
|
||||||
|
+ # # Disable RTTI.
|
||||||
|
+ # string(REGEX REPLACE "/GR" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||||
|
+ # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /GR-")
|
||||||
|
else(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||||
|
# Use -Wall for clang and gcc.
|
||||||
|
if(NOT CMAKE_CXX_FLAGS MATCHES "-Wall")
|
||||||
|
@@ -77,9 +77,9 @@
|
||||||
|
string(REGEX REPLACE "-fexceptions" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||||
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions")
|
||||||
|
|
||||||
|
- # Disable RTTI.
|
||||||
|
- string(REGEX REPLACE "-frtti" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||||
|
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti")
|
||||||
|
+ # # Disable RTTI.
|
||||||
|
+ # string(REGEX REPLACE "-frtti" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||||
|
+ # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti")
|
||||||
|
endif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||||
|
|
||||||
|
# BUILD_SHARED_LIBS is a standard CMake variable, but we declare it here to make
|
||||||
1220
environment/toolchain/v4.sh
Executable file
1220
environment/toolchain/v4.sh
Executable file
File diff suppressed because it is too large
Load Diff
75
environment/toolchain/xz_pgp.txt
Normal file
75
environment/toolchain/xz_pgp.txt
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
|
||||||
|
mQINBEzEOZIBEACxg/IuXERlDB48JBWmF4NxNUuuup1IhJAJyFGFSKh3OGAO2Ard
|
||||||
|
sNuRLjANsFXA7m7P5eTFcG+BoHHuAVYmKnI3PPZtHVLnUt4pGItPczQZ2BE1WpcI
|
||||||
|
ayjGTBJeKItX3Npqg9D/odO9WWS1i3FQPVdrLn0YH37/BA66jeMQCRo7g7GLpaNf
|
||||||
|
IrvYGsqTbxCwsmA37rpE7oyU4Yrf74HT091WBsRIoq/MelhbxTDMR8eu/dUGZQVc
|
||||||
|
Kj3lN55RepwWwUUKyqarY0zMt4HkFJ7v7yRL+Cvzy92Ouv4Wf2FlhNtEs5LE4Tax
|
||||||
|
W0PO5AEmUoKjX87SezQK0f652018b4u6Ex52cY7p+n5TII/UyoowH6+tY8UHo9yb
|
||||||
|
fStrqgNE/mY2bhA6+AwCaOUGsFzVVPTbjtxL3HacUP/jlA1h78V8VTvTs5d55iG7
|
||||||
|
jSqR9o05wje8rwNiXXK0xtiJahyNzL97Kn/DgPSqPIi45G+8nxWSPFM5eunBKRl9
|
||||||
|
vAnsvwrdPRsR6YR3uMHTuVhQX9/CY891MHkaZJ6wydWtKt3yQwJLYqwo5d4DwnUX
|
||||||
|
CduUwSKv+6RmtWI5ZmTQYOcBRcZyGKml9X9Q8iSbm6cnpFXmLrNQwCJN+D3SiYGc
|
||||||
|
MtbltZo0ysPMa6Xj5xFaYqWk/BI4iLb2Gs+ByGo/+a0Eq4XYBMOpitNniQARAQAB
|
||||||
|
tCdMYXNzZSBDb2xsaW4gPGxhc3NlLmNvbGxpbkB0dWthYW5pLm9yZz6JAlEEEwEK
|
||||||
|
ADsCGwMCHgECF4AECwkIBwMVCggFFgIDAQAWIQQ2kMJAzlG0Zw0wrRw47nV9aRhG
|
||||||
|
IAUCYEt9dQUJFxeR4wAKCRA47nV9aRhGIBNDEACxD6vJ+enZwe3IgkJh5JtLsC9b
|
||||||
|
MWCQRlPW1EVMsg96Cb5Rtron1eN1pp1TlzENJu1/C7C/VEsr9WwOPg26Men7fNf/
|
||||||
|
O21QM9IBWd/uB0Pu333WqKh92ESS5x9ST9DrG39nVGSPkQQBMuia72VrA+crPnwT
|
||||||
|
/h/u1IN6/sff5VDIU24rUiqW2Npy733dANruj7Ny0scRXVPltnVdhqwPHt6qNjC1
|
||||||
|
t+/cCnwHgW1BR1RYXBPpB42z/m29dL9rPrG0YPGWs2Bc+EATUICfEE6eIvwfciue
|
||||||
|
IJTjKT9Y9DrogJC2AYFhjC7N04OKdCB2hFs4BjexJwr4X0GJO7LhFl03c951AsIE
|
||||||
|
GHwrucRPB5bo2vmvQ8IvZn7CmtdUJzXv9JlyU6p+MIK1pz7TK6GgSOSffQIXZn6e
|
||||||
|
nUPtm9mEwuncOfmW8/ODYPs1gCWYgyiFJx8h7eEu+M4MxHSFBs7MwXf/Ae2fSp+M
|
||||||
|
P/p198qB8fC5oVBnF95qb0Qi0uc1D+Gb+gpBF+ymMb+s/VBOR3QWiym7AzBrJ62g
|
||||||
|
UnbC9jMLGnSRI+7p7raUfMTgXr5/oQoBw7ExJVltSSRrim2YH/t4CV47mO6dR9J3
|
||||||
|
1RtsTFIRNhz+07XPsETcuCV/dgqeC8fOFLt9MY17Sufhb1DcGy4urZBOIhXcpTV7
|
||||||
|
vHVj5IYH5nYOT49NRYkCOAQTAQIAIgUCTMQ5kgIbAwYLCQgHAwIGFQgCCQoLBBYC
|
||||||
|
AwECHgECF4AACgkQOO51fWkYRiAg4A/7BXKwoRaXrMbMPOW7vuVF7c2IKB2Yqzn1
|
||||||
|
vLBCwuEHkqY237lDcXY4/5LR+1gcZ3Duw1n/BRSm0FBdvyX/JTWiWNSDUkKAO/0l
|
||||||
|
T2Tg44YLrDT3bzwu8dbU9xQt6kH+SCOHvv5Oe4k79l5mro6fF3H1M0bN63x/YoFY
|
||||||
|
ojy09D7/JptY82oR4f/VdKnfZLJcCViCb0wp8SD2NkDAudKg+K+7PD8HlTWklQQg
|
||||||
|
TZdRXxVZKIJeU42aJDqnRbAhJd64YHyClhqut9F5LUmiP5qfLfNhkKDhNOwk2Blr
|
||||||
|
BGBJkSd7wPyzcX4Mun/L6YspHjbeVMt9TD7HQlo+OOd2OjAHCx6pqwkXnzeLPEaE
|
||||||
|
cPdQ1SHgrBViAxX3DNPubLP0Knw8XwFu96EuhHZgexE1W7bB4LFsJyXAc5k1PqPD
|
||||||
|
CLsAauxmvI2OfI7opG/8wyxDvNgoPjG8fZNAgY0REqPC0JnTXChH31IxUmhNotH8
|
||||||
|
tD3DDTZOHw05n5MwwUrEE9xiETVDfFQcMLfxZ9KLz+BC2g1t5LYublRgnCMNJzFg
|
||||||
|
sNUMM02CphABzl/LCLnumr0eyQQ/weV4twEhLwSDmqLYHL0EdYW0Y3CnnU9vmYxQ
|
||||||
|
cXKbstS71sEJJYBBmSBbf9GxkOY8BRNtwVwY0kPgxv1WqdVBiAFvfB+pyAsrax9B
|
||||||
|
3UeB7ZSwRD6JAhwEEAEKAAYFAlS25GwACgkQlbYYGy0z6ew92Q//ZA9/6piQtoW4
|
||||||
|
PwP/1DtWGyKU8hwR+9FG669iPk/dAG+yoEJtFMOUpg/FUFmCX8Bc4oEHsCVyLxKt
|
||||||
|
DcCVUIRcYNSFi5hTZaBEbwsOlDT37gtlfIIu34hhHRccKaLnN/N9gNMNw8wGh9xg
|
||||||
|
Q/KtxZwcbk/bZIlDkKTJkFBRAekdEGAFDWb/AZOy+LQxS8ZAh1eWkfV0i8opmK9k
|
||||||
|
gPXtLE0WSsqtYyGs58z+BFE9NH3tEUwK6jSvtuLwQl4UrICNbKthcpb8WwH6UXzb
|
||||||
|
q3QNSYVOpf/cqRdBJA6bvb/ku/xyKVL08lGmxD9v1b137R7mafDAFPTsvH2Mt/0V
|
||||||
|
YuhtWav3r1Bl9QksDxt2DTS8wiWDUBetGqOVdcw7vBrXPEWDNBmxeJXsiJ7zJlR+
|
||||||
|
9wrJOm6RV2+l1IPxu96EaPS+kTNBijKrhxb67bww8BTEWTd0wcdJmgWRkM8SIstp
|
||||||
|
IKqd0L2TFYph2/NtrBhRg+DIEPJPpSTGsUMcCEXCZPQ+cIdlQKsWpk0tZ62DlvEl
|
||||||
|
r7E+wgUSQolRfx5KrpZifiS2zQlhzdXv28CJhsVbLyw5fUAWUKIH/dCo5NKsNLk2
|
||||||
|
Lc5DH9VWnFgxAAtW290FqeK/4ulMq7Vs1dQSwyHM2Ni3QqqeaiOrh8gbSY5CMLFN
|
||||||
|
Y3HYRwuTYPa3AobsozCzBj0Zdf/6AFe5Ag0ETMQ5kgEQAL/FwKdjxgPxtSpgq1SM
|
||||||
|
zgZtTTyLqhgGD3NZfadHWHYRIL38NDV3JeTA79Y2zj2dj7KQPDT+0aqeizTV2E3j
|
||||||
|
P3iCQ53VOT4consBaQAgKexpptnS+T1DobtICFJ0GGzf0HRj6KO2zSOuOitWPWlU
|
||||||
|
wbvX7M0LLI2+hqlx0jTPqbJFZ/Za6KTtbS6xdCPVUpUqYZQpokEZcwQmUp8Q+lGo
|
||||||
|
JD2sNYCZyap63X/aAOgCGr2RXYddOH5e8vGzGW+mwtCv+WQ9Ay35mGqI5MqkbZd1
|
||||||
|
Qbuv2b1647E/QEEucfRHVbJVKGGPpFMUJtcItyyIt5jo+r9CCL4Cs47dF/9/RNwu
|
||||||
|
NvpvHXUyqMBQdWNZRMx4k/NGD/WviPi9m6mIMui6rOQsSOaqYdcUX4Nq2Orr3Oaz
|
||||||
|
2JPQdUfeI23iot1vK8hxvUCQTV3HfJghizN6spVl0yQOKBiE8miJRgrjHilH3hTb
|
||||||
|
xoo42xDkNAq+CQo3QAm1ibDxKCDq0RcWPjcCRAN/Q5MmpcodpdKkzV0yGIS4g7s5
|
||||||
|
frVrgV/kox2r4/Yxsr8K909+4H82AjTKGX/BmsQFCTAqBk6p7I0zxjIqJ/w33TZB
|
||||||
|
Q0Pn4r3WIlUPafzY6a9/LAvN1fHRxf9SpCByJsszD03Qu5f5TB8gthsdnVmTo7jj
|
||||||
|
iordEKMtw2aEMLzdWWTQ/TNVABEBAAGJAjwEGAEKACYCGwwWIQQ2kMJAzlG0Zw0w
|
||||||
|
rRw47nV9aRhGIAUCYEt9YAUJFxeRzgAKCRA47nV9aRhGIMLtD/9HuKM4pngImcuz
|
||||||
|
YwzQmdv4j26YYyh4jVsKEmVWTiRcehEgUIlrWkCu3qzd5NK+RetS7kJ8MPnzEUfj
|
||||||
|
YbpdC6yrF6n1mSrZZ4VJMkV2ev37bIgXM+Wp1mCAGbjNxQnjn9RabT/gjIqmGuRn
|
||||||
|
AP7RsSeOSuO/gO9h2Pteciz23ussTilB+8cTooQEQQZe6Kv/zukvL+ccSehLHsZ7
|
||||||
|
qVfRUAmtt8nFkXXE+s8jfLfhqstaI2/RJu5witaPcXM8Mnz2E95aASAbZy0eQot9
|
||||||
|
0Pvf07n9yuC3tueTvzvlXx3h5U3yT44tIOmzANIQjay1TGdm+RBJ2ZYyhyLawlZ2
|
||||||
|
NVUXXSp4QZZXPA0UWbF+pb7Q9cdKDNFVuvGBljuea0Yd0T2o+ibDq43HziX9ll+l
|
||||||
|
SXk9mqvW1UcDOaxWrSsm1Gc1O9g3wqH5xHAhtY8GPh/7VgAawskPkmnlkMW6pYPy
|
||||||
|
zibbeISJL1gd1jIT63y6aoVrtNoo+wYJm280ROflh4+5QOo6QJ+jm70fkXSG/qJ5
|
||||||
|
a8/qCPTHkJc/rpkL6/TDQAJURi9RhDAC0gb40HtusbN1LZEA+i0cWTmYXap+DB4Y
|
||||||
|
R4pApilpaG87M+VUokR4xpnx7vTb2MPa7Mdenvi9FEGnKXadmT8038vlfzz5GGUT
|
||||||
|
MlVin9BQPTpdA+PpRiJvKJgVDeAFOg==
|
||||||
|
=asTC
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
||||||
@@ -5,6 +5,28 @@ operating_system() {
|
|||||||
sort | cut -d '=' -f 2- | sed 's/"//g' | paste -s -d '-'
|
sort | cut -d '=' -f 2- | sed 's/"//g' | paste -s -d '-'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
check_operating_system() {
|
||||||
|
if [ "$(operating_system)" != "$1" ]; then
|
||||||
|
echo "Not the right operating system!"
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
echo "The right operating system."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
architecture() {
|
||||||
|
uname -m
|
||||||
|
}
|
||||||
|
|
||||||
|
check_architecture() {
|
||||||
|
if [ "$(architecture)" != "$1" ]; then
|
||||||
|
echo "Not the right architecture!"
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
echo "The right architecture."
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
check_all_yum() {
|
check_all_yum() {
|
||||||
local missing=""
|
local missing=""
|
||||||
for pkg in $1; do
|
for pkg in $1; do
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
998
include/mgp.py
998
include/mgp.py
File diff suppressed because it is too large
Load Diff
85
init
85
init
@@ -10,6 +10,8 @@ function print_help () {
|
|||||||
echo -e "Check for missing packages and setup the project.\n"
|
echo -e "Check for missing packages and setup the project.\n"
|
||||||
echo "Optional arguments:"
|
echo "Optional arguments:"
|
||||||
echo -e " -h\tdisplay this help and exit"
|
echo -e " -h\tdisplay this help and exit"
|
||||||
|
echo -e " --without-libs-setup\tskip the step for setting up libs"
|
||||||
|
echo -e " --wsl-quicklisp-proxy \"host:port\"\tquicklist HTTP proxy (this flag + HTTP proxy are required on WSL)"
|
||||||
}
|
}
|
||||||
|
|
||||||
function setup_virtualenv () {
|
function setup_virtualenv () {
|
||||||
@@ -22,7 +24,7 @@ function setup_virtualenv () {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
# create new virtualenv
|
# create new virtualenv
|
||||||
virtualenv -p python3 ve3 || exit 1
|
python3 -m virtualenv -p python3 ve3 || exit 1
|
||||||
source ve3/bin/activate
|
source ve3/bin/activate
|
||||||
pip --timeout 1000 install -r requirements.txt || exit 1
|
pip --timeout 1000 install -r requirements.txt || exit 1
|
||||||
deactivate
|
deactivate
|
||||||
@@ -30,26 +32,47 @@ function setup_virtualenv () {
|
|||||||
popd > /dev/null
|
popd > /dev/null
|
||||||
}
|
}
|
||||||
|
|
||||||
if [[ $# -gt 1 ]]; then
|
wsl_quicklisp_proxy=""
|
||||||
|
setup_libs=true
|
||||||
|
if [[ $# -eq 1 && "$1" == "-h" ]]; then
|
||||||
print_help
|
print_help
|
||||||
exit 1
|
exit 0
|
||||||
elif [[ $# -eq 1 ]]; then
|
else
|
||||||
case "$1" in
|
while(($#)); do
|
||||||
-h)
|
case "$1" in
|
||||||
print_help
|
--wsl-quicklisp-proxy)
|
||||||
exit 0
|
shift
|
||||||
;;
|
if [[ $# -eq 0 ]]; then
|
||||||
*)
|
echo "Missing proxy URL"
|
||||||
# unknown option
|
print_help
|
||||||
print_help
|
exit 1
|
||||||
exit 1
|
fi
|
||||||
;;
|
wsl_quicklisp_proxy=":proxy \"http://$1/\""
|
||||||
esac
|
shift
|
||||||
|
;;
|
||||||
|
--without-libs-setup)
|
||||||
|
shift
|
||||||
|
setup_libs=false
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
# unknown option
|
||||||
|
echo "Invalid argument provided: $1"
|
||||||
|
print_help
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
DISTRO=$(operating_system)
|
DISTRO=$(operating_system)
|
||||||
echo "ALL BUILD PACKAGES: $($DIR/environment/os/$DISTRO.sh list MEMGRAPH_BUILD_DEPS)"
|
ARCHITECTURE=$(architecture)
|
||||||
$DIR/environment/os/$DISTRO.sh check MEMGRAPH_BUILD_DEPS
|
if [ "${ARCHITECTURE}" = "arm64" ] || [ "${ARCHITECTURE}" = "aarch64" ]; then
|
||||||
|
OS_SCRIPT=$DIR/environment/os/$DISTRO-arm.sh
|
||||||
|
else
|
||||||
|
OS_SCRIPT=$DIR/environment/os/$DISTRO.sh
|
||||||
|
fi
|
||||||
|
echo "ALL BUILD PACKAGES: $($OS_SCRIPT list MEMGRAPH_BUILD_DEPS)"
|
||||||
|
$OS_SCRIPT check MEMGRAPH_BUILD_DEPS
|
||||||
echo "All packages are in-place..."
|
echo "All packages are in-place..."
|
||||||
|
|
||||||
# create a default build directory
|
# create a default build directory
|
||||||
@@ -66,7 +89,7 @@ if [[ ! -f "${quicklisp_install_dir}/setup.lisp" ]]; then
|
|||||||
echo \
|
echo \
|
||||||
"
|
"
|
||||||
(load \"${DIR}/quicklisp.lisp\")
|
(load \"${DIR}/quicklisp.lisp\")
|
||||||
(quicklisp-quickstart:install :path \"${quicklisp_install_dir}\")
|
(quicklisp-quickstart:install $wsl_quicklisp_proxy :path \"${quicklisp_install_dir}\")
|
||||||
" | sbcl --script || exit 1
|
" | sbcl --script || exit 1
|
||||||
rm -rf quicklisp.lisp || exit 1
|
rm -rf quicklisp.lisp || exit 1
|
||||||
fi
|
fi
|
||||||
@@ -80,11 +103,13 @@ echo \
|
|||||||
(ql:quickload '(:lcp :lcp/test) :silent t)
|
(ql:quickload '(:lcp :lcp/test) :silent t)
|
||||||
" | sbcl --script
|
" | sbcl --script
|
||||||
|
|
||||||
# Setup libs (download).
|
if [[ "$setup_libs" == "true" ]]; then
|
||||||
cd libs
|
# Setup libs (download).
|
||||||
./cleanup.sh
|
cd libs
|
||||||
./setup.sh
|
./cleanup.sh
|
||||||
cd ..
|
./setup.sh
|
||||||
|
cd ..
|
||||||
|
fi
|
||||||
|
|
||||||
# setup gql_behave dependencies
|
# setup gql_behave dependencies
|
||||||
setup_virtualenv tests/gql_behave
|
setup_virtualenv tests/gql_behave
|
||||||
@@ -110,3 +135,17 @@ for hook in $(find $DIR/.githooks -type f -printf "%f\n"); do
|
|||||||
ln -s -f "$DIR/.githooks/$hook" "$DIR/.git/hooks/$hook"
|
ln -s -f "$DIR/.githooks/$hook" "$DIR/.git/hooks/$hook"
|
||||||
echo "Added $hook hook"
|
echo "Added $hook hook"
|
||||||
done;
|
done;
|
||||||
|
|
||||||
|
# Install precommit hook
|
||||||
|
python3 -m pip install pre-commit
|
||||||
|
python3 -m pre_commit install
|
||||||
|
|
||||||
|
# Install py format tools
|
||||||
|
echo "Install black formatter"
|
||||||
|
python3 -m pip install black==22.10.*
|
||||||
|
echo "Install isort"
|
||||||
|
python3 -m pip install isort==5.10.*
|
||||||
|
|
||||||
|
|
||||||
|
# Link `include/mgp.py` with `release/mgp/mgp.py`
|
||||||
|
ln -v -f include/mgp.py release/mgp/mgp.py
|
||||||
|
|||||||
2
libs/.gitignore
vendored
2
libs/.gitignore
vendored
@@ -4,5 +4,5 @@
|
|||||||
!cleanup.sh
|
!cleanup.sh
|
||||||
!CMakeLists.txt
|
!CMakeLists.txt
|
||||||
!__main.cpp
|
!__main.cpp
|
||||||
!jemalloc.cmake
|
|
||||||
!pulsar.patch
|
!pulsar.patch
|
||||||
|
!antlr4.10.1.patch
|
||||||
|
|||||||
@@ -8,6 +8,15 @@ if (NPROC EQUAL 0)
|
|||||||
set(NPROC 1)
|
set(NPROC 1)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
find_package(Boost 1.78 REQUIRED)
|
||||||
|
find_package(BZip2 1.0.6 REQUIRED)
|
||||||
|
find_package(Threads REQUIRED)
|
||||||
|
set(GFLAGS_NOTHREADS OFF)
|
||||||
|
find_package(gflags REQUIRED)
|
||||||
|
find_package(fmt 8.0.1)
|
||||||
|
find_package(Jemalloc REQUIRED)
|
||||||
|
find_package(ZLIB 1.2.11 REQUIRED)
|
||||||
|
|
||||||
set(LIB_DIR ${CMAKE_CURRENT_SOURCE_DIR})
|
set(LIB_DIR ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
|
||||||
# convenience functions
|
# convenience functions
|
||||||
@@ -97,22 +106,18 @@ import_external_library(antlr4 STATIC
|
|||||||
-DWITH_LIBCXX=OFF # because of debian bug
|
-DWITH_LIBCXX=OFF # because of debian bug
|
||||||
-DCMAKE_SKIP_INSTALL_ALL_DEPENDENCY=true
|
-DCMAKE_SKIP_INSTALL_ALL_DEPENDENCY=true
|
||||||
-DCMAKE_CXX_STANDARD=20
|
-DCMAKE_CXX_STANDARD=20
|
||||||
|
-DANTLR_BUILD_CPP_TESTS=OFF
|
||||||
BUILD_COMMAND $(MAKE) antlr4_static
|
BUILD_COMMAND $(MAKE) antlr4_static
|
||||||
INSTALL_COMMAND $(MAKE) install)
|
INSTALL_COMMAND $(MAKE) install)
|
||||||
|
|
||||||
# Setup google benchmark.
|
# Setup google benchmark.
|
||||||
import_external_library(benchmark STATIC
|
import_external_library(benchmark STATIC
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/benchmark/lib/libbenchmark.a
|
${CMAKE_CURRENT_SOURCE_DIR}/benchmark/${CMAKE_INSTALL_LIBDIR}/libbenchmark.a
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/benchmark/include
|
${CMAKE_CURRENT_SOURCE_DIR}/benchmark/include
|
||||||
# Skip testing. The tests don't compile with Clang 8.
|
# Skip testing. The tests don't compile with Clang 8.
|
||||||
CMAKE_ARGS -DBENCHMARK_ENABLE_TESTING=OFF)
|
CMAKE_ARGS -DBENCHMARK_ENABLE_TESTING=OFF)
|
||||||
|
|
||||||
# setup fmt format
|
include(FetchContent)
|
||||||
import_external_library(fmt STATIC
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/fmt/${CMAKE_INSTALL_LIBDIR}/libfmt.a
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/fmt/include
|
|
||||||
# Skip testing.
|
|
||||||
CMAKE_ARGS -DFMT_TEST=OFF)
|
|
||||||
|
|
||||||
# setup rapidcheck (it cannot be external, since it doesn't have install
|
# setup rapidcheck (it cannot be external, since it doesn't have install
|
||||||
# target)
|
# target)
|
||||||
@@ -139,58 +144,19 @@ import_library(gtest_main STATIC ${GTEST_MAIN_LIBRARY} ${GTEST_INCLUDE_DIR} gtes
|
|||||||
import_library(gmock STATIC ${GMOCK_LIBRARY} ${GTEST_INCLUDE_DIR} gtest-proj)
|
import_library(gmock STATIC ${GMOCK_LIBRARY} ${GTEST_INCLUDE_DIR} gtest-proj)
|
||||||
import_library(gmock_main STATIC ${GMOCK_MAIN_LIBRARY} ${GTEST_INCLUDE_DIR} gtest-proj)
|
import_library(gmock_main STATIC ${GMOCK_MAIN_LIBRARY} ${GTEST_INCLUDE_DIR} gtest-proj)
|
||||||
|
|
||||||
# setup google flags
|
|
||||||
set(GFLAGS_NO_FILENAMES "0")
|
|
||||||
if ("${CMAKE_BUILD_TYPE}" MATCHES "^(R|r)(E|e)(L|l).+")
|
|
||||||
set(GFLAGS_NO_FILENAMES "1")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# setup google flags
|
|
||||||
import_external_library(gflags STATIC
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/gflags/lib/libgflags.a
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/gflags/include
|
|
||||||
# Not needed, since gflags is C++ only.
|
|
||||||
NO_C_COMPILER
|
|
||||||
# Don't register installation in ~/.cmake
|
|
||||||
CMAKE_ARGS -DREGISTER_INSTALL_PREFIX=OFF
|
|
||||||
-DBUILD_gflags_nothreads_LIB=OFF
|
|
||||||
-DGFLAGS_NO_FILENAMES=${GFLAGS_NO_FILENAMES})
|
|
||||||
|
|
||||||
# Setup cppitertools
|
# Setup cppitertools
|
||||||
import_header_library(cppitertools ${CMAKE_CURRENT_SOURCE_DIR})
|
import_header_library(cppitertools ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
|
||||||
# Setup json
|
# Setup json
|
||||||
import_header_library(json ${CMAKE_CURRENT_SOURCE_DIR})
|
import_header_library(json ${CMAKE_CURRENT_SOURCE_DIR})
|
||||||
|
|
||||||
# Setup bzip2
|
|
||||||
import_external_library(bzip2 STATIC
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/bzip2/libbz2.a
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/bzip2
|
|
||||||
# bzip2's Makefile has -g CFLAG which is redundant
|
|
||||||
CONFIGURE_COMMAND sed -i "s/-Wall -Winline -O2 -g/-Wall -Winline -O2/g" ${CMAKE_CURRENT_SOURCE_DIR}/bzip2/Makefile
|
|
||||||
BUILD_COMMAND make -C ${CMAKE_CURRENT_SOURCE_DIR}/bzip2
|
|
||||||
CC=${CMAKE_C_COMPILER}
|
|
||||||
CXX=${CMAKE_CXX_COMPILER}
|
|
||||||
INSTALL_COMMAND true)
|
|
||||||
|
|
||||||
# Setup zlib
|
|
||||||
set(ZLIB_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/zlib)
|
|
||||||
set(ZLIB_LIBRARIES ${ZLIB_ROOT}/lib/libz.a)
|
|
||||||
set(ZLIB_INCLUDE_DIRS ${ZLIB_ROOT}/include)
|
|
||||||
import_external_library(zlib STATIC
|
|
||||||
${ZLIB_LIBRARIES}
|
|
||||||
${ZLIB_INCLUDE_DIRS}
|
|
||||||
CMAKE_ARGS -DCMAKE_SKIP_INSTALL_ALL_DEPENDENCY=true
|
|
||||||
BUILD_COMMAND $(MAKE) zlibstatic)
|
|
||||||
|
|
||||||
# Setup RocksDB
|
# Setup RocksDB
|
||||||
import_external_library(rocksdb STATIC
|
import_external_library(rocksdb STATIC
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/rocksdb/lib/librocksdb.a
|
${CMAKE_CURRENT_SOURCE_DIR}/rocksdb/lib/librocksdb.a
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/rocksdb/include
|
${CMAKE_CURRENT_SOURCE_DIR}/rocksdb/include
|
||||||
DEPENDS gflags-proj
|
CMAKE_ARGS -DUSE_RTTI=ON
|
||||||
CMAKE_ARGS -Dgflags_DIR=${CMAKE_CURRENT_SOURCE_DIR}/gflags/lib/cmake/gflags
|
|
||||||
-DUSE_RTTI=ON
|
|
||||||
-DWITH_TESTS=OFF
|
-DWITH_TESTS=OFF
|
||||||
|
-DGFLAGS_NOTHREADS=OFF
|
||||||
-DCMAKE_INSTALL_LIBDIR=lib
|
-DCMAKE_INSTALL_LIBDIR=lib
|
||||||
-DCMAKE_SKIP_INSTALL_ALL_DEPENDENCY=true
|
-DCMAKE_SKIP_INSTALL_ALL_DEPENDENCY=true
|
||||||
BUILD_COMMAND $(MAKE) rocksdb)
|
BUILD_COMMAND $(MAKE) rocksdb)
|
||||||
@@ -225,12 +191,11 @@ add_external_project(mgconsole
|
|||||||
add_custom_target(mgconsole DEPENDS mgconsole-proj)
|
add_custom_target(mgconsole DEPENDS mgconsole-proj)
|
||||||
|
|
||||||
# Setup spdlog
|
# Setup spdlog
|
||||||
import_external_library(spdlog STATIC
|
set(SPDLOG_FMT_EXTERNAL ON)
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/spdlog/${CMAKE_INSTALL_LIBDIR}/libspdlog.a
|
FetchContent_Declare(spdlog
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/spdlog/include
|
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/spdlog)
|
||||||
BUILD_COMMAND $(MAKE) spdlog)
|
|
||||||
|
|
||||||
include(jemalloc.cmake)
|
FetchContent_MakeAvailable(spdlog)
|
||||||
|
|
||||||
# Setup librdkafka.
|
# Setup librdkafka.
|
||||||
import_external_library(librdkafka STATIC
|
import_external_library(librdkafka STATIC
|
||||||
@@ -239,12 +204,13 @@ import_external_library(librdkafka STATIC
|
|||||||
CMAKE_ARGS -DRDKAFKA_BUILD_STATIC=ON
|
CMAKE_ARGS -DRDKAFKA_BUILD_STATIC=ON
|
||||||
-DRDKAFKA_BUILD_EXAMPLES=OFF
|
-DRDKAFKA_BUILD_EXAMPLES=OFF
|
||||||
-DRDKAFKA_BUILD_TESTS=OFF
|
-DRDKAFKA_BUILD_TESTS=OFF
|
||||||
|
-DWITH_ZSTD=OFF
|
||||||
-DENABLE_LZ4_EXT=OFF
|
-DENABLE_LZ4_EXT=OFF
|
||||||
-DCMAKE_INSTALL_LIBDIR=lib
|
-DCMAKE_INSTALL_LIBDIR=lib
|
||||||
-DWITH_SSL=ON
|
-DWITH_SSL=ON
|
||||||
# If we want SASL, we need to install it on build machines
|
# If we want SASL, we need to install it on build machines
|
||||||
-DWITH_SASL=OFF)
|
-DWITH_SASL=OFF)
|
||||||
target_link_libraries(librdkafka INTERFACE ${OPENSSL_LIBRARIES} zlib)
|
target_link_libraries(librdkafka INTERFACE ${OPENSSL_LIBRARIES} ZLIB::ZLIB)
|
||||||
|
|
||||||
import_library(librdkafka++ STATIC
|
import_library(librdkafka++ STATIC
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/librdkafka/lib/librdkafka++.a
|
${CMAKE_CURRENT_SOURCE_DIR}/librdkafka/lib/librdkafka++.a
|
||||||
@@ -259,9 +225,6 @@ import_external_library(protobuf STATIC
|
|||||||
BUILD_IN_SOURCE 1
|
BUILD_IN_SOURCE 1
|
||||||
CONFIGURE_COMMAND true)
|
CONFIGURE_COMMAND true)
|
||||||
|
|
||||||
set(BOOST_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/boost/lib)
|
|
||||||
set(BOOST_ROOT ${BOOST_ROOT} PARENT_SCOPE)
|
|
||||||
|
|
||||||
import_external_library(pulsar STATIC
|
import_external_library(pulsar STATIC
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/pulsar/pulsar-client-cpp/lib/libpulsarwithdeps.a
|
${CMAKE_CURRENT_SOURCE_DIR}/pulsar/pulsar-client-cpp/lib/libpulsarwithdeps.a
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/pulsar/install/include
|
${CMAKE_CURRENT_SOURCE_DIR}/pulsar/install/include
|
||||||
@@ -278,10 +241,18 @@ import_external_library(pulsar STATIC
|
|||||||
-DBOOST_ROOT=${BOOST_ROOT}
|
-DBOOST_ROOT=${BOOST_ROOT}
|
||||||
-DCMAKE_PREFIX_PATH=${PROTOBUF_ROOT}
|
-DCMAKE_PREFIX_PATH=${PROTOBUF_ROOT}
|
||||||
-DProtobuf_INCLUDE_DIRS=${PROTOBUF_ROOT}/include
|
-DProtobuf_INCLUDE_DIRS=${PROTOBUF_ROOT}/include
|
||||||
-DZLIB_LIBRARIES=${ZLIB_LIBRARIES}
|
|
||||||
-DZLIB_INCLUDE_DIRS=${ZLIB_INCLUDE_DIRS}
|
|
||||||
-DBUILD_PYTHON_WRAPPER=OFF
|
-DBUILD_PYTHON_WRAPPER=OFF
|
||||||
-DBUILD_PERF_TOOLS=OFF
|
-DBUILD_PERF_TOOLS=OFF
|
||||||
-DUSE_LOG4CXX=OFF
|
-DUSE_LOG4CXX=OFF
|
||||||
BUILD_COMMAND $(MAKE) pulsarStaticWithDeps)
|
BUILD_COMMAND $(MAKE) pulsarStaticWithDeps)
|
||||||
add_dependencies(pulsar-proj protobuf zlib)
|
add_dependencies(pulsar-proj protobuf)
|
||||||
|
|
||||||
|
if (${MG_ARCH} STREQUAL "ARM64")
|
||||||
|
set(MG_LIBRDTSC_CMAKE_ARGS -DLIBRDTSC_ARCH_x86=OFF -DLIBRDTSC_ARCH_ARM64=ON)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
import_external_library(librdtsc STATIC
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/librdtsc/lib/librdtsc.a
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/librdtsc/include
|
||||||
|
CMAKE_ARGS ${MG_LIBRDTSC_CMAKE_ARGS}
|
||||||
|
BUILD_COMMAND $(MAKE) rdtsc)
|
||||||
|
|||||||
13
libs/antlr4.10.1.patch
Normal file
13
libs/antlr4.10.1.patch
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/runtime/Cpp/runtime/CMakeLists.txt b/runtime/Cpp/runtime/CMakeLists.txt
|
||||||
|
index baf46cac9..2e7756de8 100644
|
||||||
|
--- a/runtime/Cpp/runtime/CMakeLists.txt
|
||||||
|
+++ b/runtime/Cpp/runtime/CMakeLists.txt
|
||||||
|
@@ -134,7 +134,7 @@ set_target_properties(antlr4_static
|
||||||
|
ARCHIVE_OUTPUT_DIRECTORY ${LIB_OUTPUT_DIR}
|
||||||
|
COMPILE_FLAGS "${disabled_compile_warnings} ${extra_static_compile_flags}")
|
||||||
|
|
||||||
|
-install(TARGETS antlr4_shared
|
||||||
|
+install(TARGETS antlr4_shared OPTIONAL
|
||||||
|
EXPORT antlr4-targets
|
||||||
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
set(JEMALLOC_DIR "${LIB_DIR}/jemalloc")
|
|
||||||
|
|
||||||
set(JEMALLOC_SRCS
|
|
||||||
${JEMALLOC_DIR}/src/arena.c
|
|
||||||
${JEMALLOC_DIR}/src/background_thread.c
|
|
||||||
${JEMALLOC_DIR}/src/base.c
|
|
||||||
${JEMALLOC_DIR}/src/bin.c
|
|
||||||
${JEMALLOC_DIR}/src/bitmap.c
|
|
||||||
${JEMALLOC_DIR}/src/ckh.c
|
|
||||||
${JEMALLOC_DIR}/src/ctl.c
|
|
||||||
${JEMALLOC_DIR}/src/div.c
|
|
||||||
${JEMALLOC_DIR}/src/extent.c
|
|
||||||
${JEMALLOC_DIR}/src/extent_dss.c
|
|
||||||
${JEMALLOC_DIR}/src/extent_mmap.c
|
|
||||||
${JEMALLOC_DIR}/src/hash.c
|
|
||||||
${JEMALLOC_DIR}/src/hook.c
|
|
||||||
${JEMALLOC_DIR}/src/jemalloc.c
|
|
||||||
${JEMALLOC_DIR}/src/large.c
|
|
||||||
${JEMALLOC_DIR}/src/log.c
|
|
||||||
${JEMALLOC_DIR}/src/malloc_io.c
|
|
||||||
${JEMALLOC_DIR}/src/mutex.c
|
|
||||||
${JEMALLOC_DIR}/src/mutex_pool.c
|
|
||||||
${JEMALLOC_DIR}/src/nstime.c
|
|
||||||
${JEMALLOC_DIR}/src/pages.c
|
|
||||||
${JEMALLOC_DIR}/src/prng.c
|
|
||||||
${JEMALLOC_DIR}/src/prof.c
|
|
||||||
${JEMALLOC_DIR}/src/rtree.c
|
|
||||||
${JEMALLOC_DIR}/src/sc.c
|
|
||||||
${JEMALLOC_DIR}/src/stats.c
|
|
||||||
${JEMALLOC_DIR}/src/sz.c
|
|
||||||
${JEMALLOC_DIR}/src/tcache.c
|
|
||||||
${JEMALLOC_DIR}/src/test_hooks.c
|
|
||||||
${JEMALLOC_DIR}/src/ticker.c
|
|
||||||
${JEMALLOC_DIR}/src/tsd.c
|
|
||||||
${JEMALLOC_DIR}/src/witness.c
|
|
||||||
${JEMALLOC_DIR}/src/safety_check.c
|
|
||||||
)
|
|
||||||
|
|
||||||
add_library(jemalloc ${JEMALLOC_SRCS})
|
|
||||||
target_include_directories(jemalloc PUBLIC "${JEMALLOC_DIR}/include")
|
|
||||||
|
|
||||||
find_package(Threads REQUIRED)
|
|
||||||
target_link_libraries(jemalloc PUBLIC Threads::Threads)
|
|
||||||
|
|
||||||
target_compile_definitions(jemalloc PRIVATE -DJEMALLOC_NO_PRIVATE_NAMESPACE)
|
|
||||||
|
|
||||||
if (CMAKE_BUILD_TYPE STREQUAL "DEBUG")
|
|
||||||
target_compile_definitions(jemalloc PRIVATE -DJEMALLOC_DEBUG=1 -DJEMALLOC_PROF=1)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
target_compile_options(jemalloc PRIVATE -Wno-redundant-decls)
|
|
||||||
# for RTLD_NEXT
|
|
||||||
target_compile_definitions(jemalloc PRIVATE _GNU_SOURCE)
|
|
||||||
|
|
||||||
set_property(TARGET jemalloc APPEND PROPERTY INTERFACE_COMPILE_DEFINITIONS USE_JEMALLOC=1)
|
|
||||||
29
libs/librdtsc.patch
Normal file
29
libs/librdtsc.patch
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index ee9b58c..31359a9 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -48,7 +48,7 @@ option(LIBRDTSC_USE_PMU "Enables PMU usage on ARM platforms" OFF)
|
||||||
|
# | Library Build and Install Properties |
|
||||||
|
# +--------------------------------------------------------+
|
||||||
|
|
||||||
|
-add_library(rdtsc SHARED
|
||||||
|
+add_library(rdtsc
|
||||||
|
src/cycles.c
|
||||||
|
src/common_timer.c
|
||||||
|
src/timer.c
|
||||||
|
@@ -72,15 +72,6 @@ target_include_directories(rdtsc
|
||||||
|
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include
|
||||||
|
)
|
||||||
|
|
||||||
|
-# Install directory changes depending on build mode
|
||||||
|
-if (CMAKE_BUILD_TYPE MATCHES "^[Dd]ebug")
|
||||||
|
- # During debug, the library will be installed into a local directory
|
||||||
|
- set(CMAKE_INSTALL_PREFIX ${CMAKE_CURRENT_BINARY_DIR}/_install CACHE PATH "" FORCE)
|
||||||
|
-else ()
|
||||||
|
- # This will install in /usr/lib and /usr/include
|
||||||
|
- set(CMAKE_INSTALL_PREFIX /usr CACHE PATH "" FORCE)
|
||||||
|
-endif ()
|
||||||
|
-
|
||||||
|
# Specifying what to export when installing (GNUInstallDirs required)
|
||||||
|
install(TARGETS rdtsc
|
||||||
|
EXPORT librstsc-config
|
||||||
21
libs/rocksdb.patch
Normal file
21
libs/rocksdb.patch
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 6761929..6a369af 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -220,6 +220,7 @@ else()
|
||||||
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -momit-leaf-frame-pointer")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-copy -Wno-unused-but-set-variable")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
include(CheckCCompilerFlag)
|
||||||
|
@@ -997,7 +998,7 @@ if(NOT WIN32 OR ROCKSDB_INSTALL_ON_WINDOWS)
|
||||||
|
|
||||||
|
if(ROCKSDB_BUILD_SHARED)
|
||||||
|
install(
|
||||||
|
- TARGETS ${ROCKSDB_SHARED_LIB}
|
||||||
|
+ TARGETS ${ROCKSDB_SHARED_LIB} OPTIONAL
|
||||||
|
EXPORT RocksDBTargets
|
||||||
|
COMPONENT runtime
|
||||||
|
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||||
101
libs/setup.sh
101
libs/setup.sh
@@ -105,28 +105,23 @@ repo_clone_try_double () {
|
|||||||
# Download from primary_urls might fail because the cache is not installed.
|
# Download from primary_urls might fail because the cache is not installed.
|
||||||
declare -A primary_urls=(
|
declare -A primary_urls=(
|
||||||
["antlr4-code"]="http://$local_cache_host/git/antlr4.git"
|
["antlr4-code"]="http://$local_cache_host/git/antlr4.git"
|
||||||
["antlr4-generator"]="http://$local_cache_host/file/antlr-4.9.2-complete.jar"
|
["antlr4-generator"]="http://$local_cache_host/file/antlr-4.10.1-complete.jar"
|
||||||
["cppitertools"]="http://$local_cache_host/git/cppitertools.git"
|
["cppitertools"]="http://$local_cache_host/git/cppitertools.git"
|
||||||
["fmt"]="http://$local_cache_host/git/fmt.git"
|
|
||||||
["rapidcheck"]="http://$local_cache_host/git/rapidcheck.git"
|
["rapidcheck"]="http://$local_cache_host/git/rapidcheck.git"
|
||||||
["gbenchmark"]="http://$local_cache_host/git/benchmark.git"
|
["gbenchmark"]="http://$local_cache_host/git/benchmark.git"
|
||||||
["gtest"]="http://$local_cache_host/git/googletest.git"
|
["gtest"]="http://$local_cache_host/git/googletest.git"
|
||||||
["gflags"]="http://$local_cache_host/git/gflags.git"
|
|
||||||
["libbcrypt"]="http://$local_cache_host/git/libbcrypt.git"
|
["libbcrypt"]="http://$local_cache_host/git/libbcrypt.git"
|
||||||
["bzip2"]="http://$local_cache_host/git/bzip2.git"
|
|
||||||
["zlib"]="http://$local_cache_host/git/zlib.git"
|
|
||||||
["rocksdb"]="http://$local_cache_host/git/rocksdb.git"
|
["rocksdb"]="http://$local_cache_host/git/rocksdb.git"
|
||||||
["mgclient"]="http://$local_cache_host/git/mgclient.git"
|
["mgclient"]="http://$local_cache_host/git/mgclient.git"
|
||||||
["pymgclient"]="http://$local_cache_host/git/pymgclient.git"
|
["pymgclient"]="http://$local_cache_host/git/pymgclient.git"
|
||||||
["mgconsole"]="http://$local_cache_host/git/mgconsole.git"
|
["mgconsole"]="http://$local_cache_host/git/mgconsole.git"
|
||||||
["spdlog"]="http://$local_cache_host/git/spdlog"
|
["spdlog"]="http://$local_cache_host/git/spdlog"
|
||||||
["jemalloc"]="http://$local_cache_host/git/jemalloc.git"
|
["nlohmann"]="http://$local_cache_host/file/nlohmann/json/9d69186291aca4f0137b69c1dee313b391ff564c/single_include/nlohmann/json.hpp"
|
||||||
["nlohmann"]="http://$local_cache_host/file/nlohmann/json/b3e5cb7f20dcc5c806e418df34324eca60d17d4e/single_include/nlohmann/json.hpp"
|
|
||||||
["neo4j"]="http://$local_cache_host/file/neo4j-community-3.2.3-unix.tar.gz"
|
["neo4j"]="http://$local_cache_host/file/neo4j-community-3.2.3-unix.tar.gz"
|
||||||
["librdkafka"]="http://$local_cache_host/git/librdkafka.git"
|
["librdkafka"]="http://$local_cache_host/git/librdkafka.git"
|
||||||
["protobuf"]="http://$local_cache_host/git/protobuf.git"
|
["protobuf"]="http://$local_cache_host/git/protobuf.git"
|
||||||
["boost"]="http://$local_cache_host/file/boost_1_77_0.tar.gz"
|
|
||||||
["pulsar"]="http://$local_cache_host/git/pulsar.git"
|
["pulsar"]="http://$local_cache_host/git/pulsar.git"
|
||||||
|
["librdtsc"]="http://$local_cache_host/git/librdtsc.git"
|
||||||
)
|
)
|
||||||
|
|
||||||
# The goal of secondary urls is to have links to the "source of truth" of
|
# The goal of secondary urls is to have links to the "source of truth" of
|
||||||
@@ -135,68 +130,50 @@ declare -A primary_urls=(
|
|||||||
# should fail.
|
# should fail.
|
||||||
declare -A secondary_urls=(
|
declare -A secondary_urls=(
|
||||||
["antlr4-code"]="https://github.com/antlr/antlr4.git"
|
["antlr4-code"]="https://github.com/antlr/antlr4.git"
|
||||||
["antlr4-generator"]="http://www.antlr.org/download/antlr-4.9.2-complete.jar"
|
["antlr4-generator"]="https://www.antlr.org/download/antlr-4.10.1-complete.jar"
|
||||||
["cppitertools"]="https://github.com/ryanhaining/cppitertools.git"
|
["cppitertools"]="https://github.com/ryanhaining/cppitertools.git"
|
||||||
["fmt"]="https://github.com/fmtlib/fmt.git"
|
|
||||||
["rapidcheck"]="https://github.com/emil-e/rapidcheck.git"
|
["rapidcheck"]="https://github.com/emil-e/rapidcheck.git"
|
||||||
["gbenchmark"]="https://github.com/google/benchmark.git"
|
["gbenchmark"]="https://github.com/google/benchmark.git"
|
||||||
["gtest"]="https://github.com/google/googletest.git"
|
["gtest"]="https://github.com/google/googletest.git"
|
||||||
["gflags"]="https://github.com/memgraph/gflags.git"
|
|
||||||
["libbcrypt"]="https://github.com/rg3/libbcrypt"
|
["libbcrypt"]="https://github.com/rg3/libbcrypt"
|
||||||
["bzip2"]="https://github.com/VFR-maniac/bzip2"
|
|
||||||
["zlib"]="https://github.com/madler/zlib.git"
|
|
||||||
["rocksdb"]="https://github.com/facebook/rocksdb.git"
|
["rocksdb"]="https://github.com/facebook/rocksdb.git"
|
||||||
["mgclient"]="https://github.com/memgraph/mgclient.git"
|
["mgclient"]="https://github.com/memgraph/mgclient.git"
|
||||||
["pymgclient"]="https://github.com/memgraph/pymgclient.git"
|
["pymgclient"]="https://github.com/memgraph/pymgclient.git"
|
||||||
["mgconsole"]="http://github.com/memgraph/mgconsole.git"
|
["mgconsole"]="http://github.com/memgraph/mgconsole.git"
|
||||||
["spdlog"]="https://github.com/gabime/spdlog"
|
["spdlog"]="https://github.com/gabime/spdlog"
|
||||||
["jemalloc"]="https://github.com/jemalloc/jemalloc.git"
|
["nlohmann"]="https://raw.githubusercontent.com/nlohmann/json/9d69186291aca4f0137b69c1dee313b391ff564c/single_include/nlohmann/json.hpp"
|
||||||
["nlohmann"]="https://raw.githubusercontent.com/nlohmann/json/b3e5cb7f20dcc5c806e418df34324eca60d17d4e/single_include/nlohmann/json.hpp"
|
|
||||||
["neo4j"]="https://s3-eu-west-1.amazonaws.com/deps.memgraph.io/neo4j-community-3.2.3-unix.tar.gz"
|
["neo4j"]="https://s3-eu-west-1.amazonaws.com/deps.memgraph.io/neo4j-community-3.2.3-unix.tar.gz"
|
||||||
["librdkafka"]="https://github.com/edenhill/librdkafka.git"
|
["librdkafka"]="https://github.com/edenhill/librdkafka.git"
|
||||||
["protobuf"]="https://github.com/protocolbuffers/protobuf.git"
|
["protobuf"]="https://github.com/protocolbuffers/protobuf.git"
|
||||||
["boost"]="https://boostorg.jfrog.io/artifactory/main/release/1.77.0/source/boost_1_77_0.tar.gz"
|
|
||||||
["pulsar"]="https://github.com/apache/pulsar.git"
|
["pulsar"]="https://github.com/apache/pulsar.git"
|
||||||
|
["librdtsc"]="https://github.com/gabrieleara/librdtsc.git"
|
||||||
)
|
)
|
||||||
|
|
||||||
# antlr
|
# antlr
|
||||||
file_get_try_double "${primary_urls[antlr4-generator]}" "${secondary_urls[antlr4-generator]}"
|
file_get_try_double "${primary_urls[antlr4-generator]}" "${secondary_urls[antlr4-generator]}"
|
||||||
|
|
||||||
antlr4_tag="4.9.2" # v4.9.2
|
antlr4_tag="4.10.1" # v4.10.1
|
||||||
repo_clone_try_double "${primary_urls[antlr4-code]}" "${secondary_urls[antlr4-code]}" "antlr4" "$antlr4_tag" true
|
repo_clone_try_double "${primary_urls[antlr4-code]}" "${secondary_urls[antlr4-code]}" "antlr4" "$antlr4_tag" true
|
||||||
# remove shared library from install dependencies
|
pushd antlr4
|
||||||
sed -i 's/install(TARGETS antlr4_shared/install(TARGETS antlr4_shared OPTIONAL/' antlr4/runtime/Cpp/runtime/CMakeLists.txt
|
git apply ../antlr4.10.1.patch
|
||||||
# fix issue https://github.com/antlr/antlr4/issues/3194 - should update Antlr commit once the PR related to the issue gets merged
|
popd
|
||||||
sed -i 's/std::is_nothrow_copy_constructible/std::is_copy_constructible/' antlr4/runtime/Cpp/runtime/src/support/Any.h
|
|
||||||
# replace the utf8cpp version which is used because the older one uses gtest that doesn't
|
|
||||||
# compile with the newer compilers because of uninitialized variable
|
|
||||||
# the newer utf8cpp switched to ftest
|
|
||||||
sed -i 's/v3.1.1/v3.2.1/' antlr4/runtime/Cpp/runtime/CMakeLists.txt
|
|
||||||
|
|
||||||
# cppitertools v2.0 2019-12-23
|
# cppitertools v2.0 2019-12-23
|
||||||
cppitertools_ref="cb3635456bdb531121b82b4d2e3afc7ae1f56d47"
|
cppitertools_ref="cb3635456bdb531121b82b4d2e3afc7ae1f56d47"
|
||||||
repo_clone_try_double "${primary_urls[cppitertools]}" "${secondary_urls[cppitertools]}" "cppitertools" "$cppitertools_ref"
|
repo_clone_try_double "${primary_urls[cppitertools]}" "${secondary_urls[cppitertools]}" "cppitertools" "$cppitertools_ref"
|
||||||
|
|
||||||
# fmt
|
|
||||||
fmt_tag="7.1.3" # (2020-11-25)
|
|
||||||
repo_clone_try_double "${primary_urls[fmt]}" "${secondary_urls[fmt]}" "fmt" "$fmt_tag" true
|
|
||||||
|
|
||||||
# rapidcheck
|
# rapidcheck
|
||||||
rapidcheck_tag="7bc7d302191a4f3d0bf005692677126136e02f60" # (2020-05-04)
|
rapidcheck_tag="7bc7d302191a4f3d0bf005692677126136e02f60" # (2020-05-04)
|
||||||
repo_clone_try_double "${primary_urls[rapidcheck]}" "${secondary_urls[rapidcheck]}" "rapidcheck" "$rapidcheck_tag"
|
repo_clone_try_double "${primary_urls[rapidcheck]}" "${secondary_urls[rapidcheck]}" "rapidcheck" "$rapidcheck_tag"
|
||||||
|
|
||||||
# google benchmark
|
# google benchmark
|
||||||
benchmark_tag="v1.1.0"
|
benchmark_tag="v1.6.0"
|
||||||
repo_clone_try_double "${primary_urls[gbenchmark]}" "${secondary_urls[gbenchmark]}" "benchmark" "$benchmark_tag" true
|
repo_clone_try_double "${primary_urls[gbenchmark]}" "${secondary_urls[gbenchmark]}" "benchmark" "$benchmark_tag" true
|
||||||
|
|
||||||
# google test
|
# google test
|
||||||
googletest_tag="release-1.8.0"
|
googletest_tag="release-1.12.1"
|
||||||
repo_clone_try_double "${primary_urls[gtest]}" "${secondary_urls[gtest]}" "googletest" "$googletest_tag" true
|
repo_clone_try_double "${primary_urls[gtest]}" "${secondary_urls[gtest]}" "googletest" "$googletest_tag" true
|
||||||
|
|
||||||
# google flags
|
|
||||||
gflags_tag="b37ceb03a0e56c9f15ce80409438a555f8a67b7c" # custom version (May 6, 2017)
|
|
||||||
repo_clone_try_double "${primary_urls[gflags]}" "${secondary_urls[gflags]}" "gflags" "$gflags_tag"
|
|
||||||
|
|
||||||
# libbcrypt
|
# libbcrypt
|
||||||
libbcrypt_tag="8aa32ad94ebe06b76853b0767c910c9fbf7ccef4" # custom version (Dec 16, 2016)
|
libbcrypt_tag="8aa32ad94ebe06b76853b0767c910c9fbf7ccef4" # custom version (Dec 16, 2016)
|
||||||
repo_clone_try_double "${primary_urls[libbcrypt]}" "${secondary_urls[libbcrypt]}" "libbcrypt" "$libbcrypt_tag"
|
repo_clone_try_double "${primary_urls[libbcrypt]}" "${secondary_urls[libbcrypt]}" "libbcrypt" "$libbcrypt_tag"
|
||||||
@@ -215,22 +192,15 @@ cd json
|
|||||||
file_get_try_double "${primary_urls[nlohmann]}" "${secondary_urls[nlohmann]}"
|
file_get_try_double "${primary_urls[nlohmann]}" "${secondary_urls[nlohmann]}"
|
||||||
cd ..
|
cd ..
|
||||||
|
|
||||||
bzip2_tag="0405487e2b1de738e7f1c8afb50d19cf44e8d580" # v1.0.6 (May 26, 2011)
|
|
||||||
repo_clone_try_double "${primary_urls[bzip2]}" "${secondary_urls[bzip2]}" "bzip2" "$bzip2_tag"
|
|
||||||
|
|
||||||
zlib_tag="v1.2.11" # v1.2.11.
|
|
||||||
repo_clone_try_double "${primary_urls[zlib]}" "${secondary_urls[zlib]}" "zlib" "$zlib_tag" true
|
|
||||||
# remove shared library from install dependencies
|
|
||||||
sed -i 's/install(TARGETS zlib zlibstatic/install(TARGETS zlibstatic/g' zlib/CMakeLists.txt
|
|
||||||
|
|
||||||
rocksdb_tag="v6.14.6" # (2020-10-14)
|
rocksdb_tag="v6.14.6" # (2020-10-14)
|
||||||
repo_clone_try_double "${primary_urls[rocksdb]}" "${secondary_urls[rocksdb]}" "rocksdb" "$rocksdb_tag" true
|
repo_clone_try_double "${primary_urls[rocksdb]}" "${secondary_urls[rocksdb]}" "rocksdb" "$rocksdb_tag" true
|
||||||
# remove shared library from install dependencies
|
pushd rocksdb
|
||||||
sed -i 's/TARGETS ${ROCKSDB_SHARED_LIB}/TARGETS ${ROCKSDB_SHARED_LIB} OPTIONAL/' rocksdb/CMakeLists.txt
|
git apply ../rocksdb.patch
|
||||||
|
popd
|
||||||
|
|
||||||
# mgclient
|
# mgclient
|
||||||
mgclient_tag="v1.3.0" # (2021-09-23)
|
mgclient_tag="v1.4.0" # (2022-06-14)
|
||||||
repo_clone_try_double "${primary_urls[mgclient]}" "${secondary_urls[mgclient]}" "mgclient" "$mgclient_tag" true
|
repo_clone_try_double "${primary_urls[mgclient]}" "${secondary_urls[mgclient]}" "mgclient" "$mgclient_tag"
|
||||||
sed -i 's/\${CMAKE_INSTALL_LIBDIR}/lib/' mgclient/src/CMakeLists.txt
|
sed -i 's/\${CMAKE_INSTALL_LIBDIR}/lib/' mgclient/src/CMakeLists.txt
|
||||||
|
|
||||||
# pymgclient
|
# pymgclient
|
||||||
@@ -241,28 +211,9 @@ repo_clone_try_double "${primary_urls[pymgclient]}" "${secondary_urls[pymgclient
|
|||||||
mgconsole_tag="v1.1.0" # (2021-10-07)
|
mgconsole_tag="v1.1.0" # (2021-10-07)
|
||||||
repo_clone_try_double "${primary_urls[mgconsole]}" "${secondary_urls[mgconsole]}" "mgconsole" "$mgconsole_tag" true
|
repo_clone_try_double "${primary_urls[mgconsole]}" "${secondary_urls[mgconsole]}" "mgconsole" "$mgconsole_tag" true
|
||||||
|
|
||||||
spdlog_tag="v1.8.2" # (2020-12-01)
|
spdlog_tag="v1.9.2" # (2021-08-12)
|
||||||
repo_clone_try_double "${primary_urls[spdlog]}" "${secondary_urls[spdlog]}" "spdlog" "$spdlog_tag" true
|
repo_clone_try_double "${primary_urls[spdlog]}" "${secondary_urls[spdlog]}" "spdlog" "$spdlog_tag" true
|
||||||
|
|
||||||
jemalloc_tag="ea6b3e973b477b8061e0076bb257dbd7f3faa756" # (2021-02-11)
|
|
||||||
repo_clone_try_double "${primary_urls[jemalloc]}" "${secondary_urls[jemalloc]}" "jemalloc" "$jemalloc_tag"
|
|
||||||
pushd jemalloc
|
|
||||||
# ThreadPool select job randomly, and there can be some threads that had been
|
|
||||||
# performed some memory heavy task before and will be inactive for some time,
|
|
||||||
# but until it will became active again, the memory will not be freed since by
|
|
||||||
# default each thread has it's own arena, but there should be not more then
|
|
||||||
# 4*CPU arenas (see opt.nareans description).
|
|
||||||
#
|
|
||||||
# By enabling percpu_arena number of arenas limited to number of CPUs and hence
|
|
||||||
# this problem should go away.
|
|
||||||
#
|
|
||||||
# muzzy_decay_ms -- use MADV_FREE when available on newer Linuxes, to
|
|
||||||
# avoid spurious latencies and additional work associated with
|
|
||||||
# MADV_DONTNEED. See
|
|
||||||
# https://github.com/ClickHouse/ClickHouse/issues/11121 for motivation.
|
|
||||||
./autogen.sh --with-malloc-conf="percpu_arena:percpu,oversize_threshold:0,muzzy_decay_ms:5000,dirty_decay_ms:5000"
|
|
||||||
popd
|
|
||||||
|
|
||||||
# librdkafka
|
# librdkafka
|
||||||
librdkafka_tag="v1.7.0" # (2021-05-06)
|
librdkafka_tag="v1.7.0" # (2021-05-06)
|
||||||
repo_clone_try_double "${primary_urls[librdkafka]}" "${secondary_urls[librdkafka]}" "librdkafka" "$librdkafka_tag" true
|
repo_clone_try_double "${primary_urls[librdkafka]}" "${secondary_urls[librdkafka]}" "librdkafka" "$librdkafka_tag" true
|
||||||
@@ -274,18 +225,16 @@ pushd protobuf
|
|||||||
./autogen.sh && ./configure CC=clang CXX=clang++ --prefix=$(pwd)/lib
|
./autogen.sh && ./configure CC=clang CXX=clang++ --prefix=$(pwd)/lib
|
||||||
popd
|
popd
|
||||||
|
|
||||||
# boost
|
|
||||||
file_get_try_double "${primary_urls[boost]}" "${secondary_urls[boost]}"
|
|
||||||
tar -xzf boost_1_77_0.tar.gz
|
|
||||||
mv boost_1_77_0 boost
|
|
||||||
pushd boost
|
|
||||||
./bootstrap.sh --prefix=$(pwd)/lib --with-libraries="system,regex" --with-toolset=clang
|
|
||||||
./b2 toolset=clang -j$(nproc) install variant=release
|
|
||||||
popd
|
|
||||||
|
|
||||||
#pulsar
|
#pulsar
|
||||||
pulsar_tag="v2.8.1"
|
pulsar_tag="v2.8.1"
|
||||||
repo_clone_try_double "${primary_urls[pulsar]}" "${secondary_urls[pulsar]}" "pulsar" "$pulsar_tag" true
|
repo_clone_try_double "${primary_urls[pulsar]}" "${secondary_urls[pulsar]}" "pulsar" "$pulsar_tag" true
|
||||||
pushd pulsar
|
pushd pulsar
|
||||||
git apply ../pulsar.patch
|
git apply ../pulsar.patch
|
||||||
popd
|
popd
|
||||||
|
|
||||||
|
#librdtsc
|
||||||
|
librdtsc_tag="v0.3"
|
||||||
|
repo_clone_try_double "${primary_urls[librdtsc]}" "${secondary_urls[librdtsc]}" "librdtsc" "$librdtsc_tag" true
|
||||||
|
pushd librdtsc
|
||||||
|
git apply ../librdtsc.patch
|
||||||
|
popd
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ ADDITIONAL USE GRANT: You may use the Licensed Work in accordance with the
|
|||||||
3. using the Licensed Work to create a work or solution
|
3. using the Licensed Work to create a work or solution
|
||||||
which competes (or might reasonably be expected to
|
which competes (or might reasonably be expected to
|
||||||
compete) with the Licensed Work.
|
compete) with the Licensed Work.
|
||||||
CHANGE DATE: 2025-11-24
|
CHANGE DATE: 2026-27-04
|
||||||
CHANGE LICENSE: Apache License, Version 2.0
|
CHANGE LICENSE: Apache License, Version 2.0
|
||||||
|
|
||||||
For information about alternative licensing arrangements, please visit: https://memgraph.com/legal.
|
For information about alternative licensing arrangements, please visit: https://memgraph.com/legal.
|
||||||
|
|||||||
12
pyproject.toml
Normal file
12
pyproject.toml
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
[tool.black]
|
||||||
|
line-length = 120
|
||||||
|
include = '\.pyi?$'
|
||||||
|
extend-exclude = '''
|
||||||
|
/(
|
||||||
|
| .git
|
||||||
|
| .__pycache__
|
||||||
|
| build
|
||||||
|
| libs
|
||||||
|
| .cache
|
||||||
|
)/
|
||||||
|
'''
|
||||||
@@ -10,6 +10,14 @@ set(CPACK_PACKAGE_VENDOR "Memgraph Ltd.")
|
|||||||
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY
|
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY
|
||||||
"High performance, in-memory, transactional graph database")
|
"High performance, in-memory, transactional graph database")
|
||||||
|
|
||||||
|
# Setting arhitecture extension for deb packages
|
||||||
|
set(MG_ARCH_EXTENSION_DEB "all")
|
||||||
|
if (${MG_ARCH} STREQUAL "x86_64")
|
||||||
|
set(MG_ARCH_EXTENSION_DEB "amd64")
|
||||||
|
elseif (${MG_ARCH} STREQUAL "ARM64")
|
||||||
|
set(MG_ARCH_EXTENSION_DEB "arm64")
|
||||||
|
endif()
|
||||||
|
|
||||||
# DEB specific
|
# DEB specific
|
||||||
# Instead of using "name <email>" format, we use "email (name)" to prevent
|
# Instead of using "name <email>" format, we use "email (name)" to prevent
|
||||||
# errors due to full stop, '.' at the end of "Ltd". (See: RFC 822)
|
# errors due to full stop, '.' at the end of "Ltd". (See: RFC 822)
|
||||||
@@ -17,7 +25,7 @@ set(CPACK_DEBIAN_PACKAGE_MAINTAINER "tech@memgraph.com (Memgraph Ltd.)")
|
|||||||
set(CPACK_DEBIAN_PACKAGE_SECTION non-free/database)
|
set(CPACK_DEBIAN_PACKAGE_SECTION non-free/database)
|
||||||
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE https://memgraph.com)
|
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE https://memgraph.com)
|
||||||
set(CPACK_DEBIAN_PACKAGE_VERSION "${MEMGRAPH_VERSION_DEB}")
|
set(CPACK_DEBIAN_PACKAGE_VERSION "${MEMGRAPH_VERSION_DEB}")
|
||||||
set(CPACK_DEBIAN_FILE_NAME "memgraph_${MEMGRAPH_VERSION_DEB}_amd64.deb")
|
set(CPACK_DEBIAN_FILE_NAME "memgraph_${MEMGRAPH_VERSION_DEB}_${MG_ARCH_EXTENSION_DEB}.deb")
|
||||||
set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
|
set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/debian/conffiles;"
|
"${CMAKE_CURRENT_SOURCE_DIR}/debian/conffiles;"
|
||||||
"${CMAKE_CURRENT_SOURCE_DIR}/debian/copyright;"
|
"${CMAKE_CURRENT_SOURCE_DIR}/debian/copyright;"
|
||||||
@@ -33,12 +41,20 @@ set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "${CPACK_PACKAGE_DESCRIPTION_SUMMARY}
|
|||||||
applications driver by real-time connected data.")
|
applications driver by real-time connected data.")
|
||||||
# Add `openssl` package to dependencies list. Used to generate SSL certificates.
|
# Add `openssl` package to dependencies list. Used to generate SSL certificates.
|
||||||
# We also depend on `python3` because we embed it in Memgraph.
|
# We also depend on `python3` because we embed it in Memgraph.
|
||||||
set(CPACK_DEBIAN_PACKAGE_DEPENDS "openssl (>= 1.1.0), python3 (>= 3.5.0)")
|
set(CPACK_DEBIAN_PACKAGE_DEPENDS "openssl (>= 1.1.0), python3 (>= 3.5.0), libstdc++6")
|
||||||
|
|
||||||
|
# Setting arhitecture extension for rpm packages
|
||||||
|
set(MG_ARCH_EXTENSION_RPM "noarch")
|
||||||
|
if (${MG_ARCH} STREQUAL "x86_64")
|
||||||
|
set(MG_ARCH_EXTENSION_RPM "x86_64")
|
||||||
|
elseif (${MG_ARCH} STREQUAL "ARM64")
|
||||||
|
set(MG_ARCH_EXTENSION_RPM "aarch64")
|
||||||
|
endif()
|
||||||
|
|
||||||
# RPM specific
|
# RPM specific
|
||||||
set(CPACK_RPM_PACKAGE_URL https://memgraph.com)
|
set(CPACK_RPM_PACKAGE_URL https://memgraph.com)
|
||||||
set(CPACK_RPM_PACKAGE_VERSION "${MEMGRAPH_VERSION_RPM}")
|
set(CPACK_RPM_PACKAGE_VERSION "${MEMGRAPH_VERSION_RPM}")
|
||||||
set(CPACK_RPM_FILE_NAME "memgraph-${MEMGRAPH_VERSION_RPM}-1.x86_64.rpm")
|
set(CPACK_RPM_FILE_NAME "memgraph-${MEMGRAPH_VERSION_RPM}-1.${MG_ARCH_EXTENSION_RPM}.rpm")
|
||||||
set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION
|
set(CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION
|
||||||
/var /var/lib /var/log /etc/logrotate.d
|
/var /var/lib /var/log /etc/logrotate.d
|
||||||
/lib /lib/systemd /lib/systemd/system /lib/systemd/system/memgraph.service)
|
/lib /lib/systemd /lib/systemd/system /lib/systemd/system/memgraph.service)
|
||||||
@@ -51,7 +67,7 @@ It aims to deliver developers the speed, simplicity and scale required to build
|
|||||||
the next generation of applications driver by real-time connected data.")
|
the next generation of applications driver by real-time connected data.")
|
||||||
# Add `openssl` package to dependencies list. Used to generate SSL certificates.
|
# Add `openssl` package to dependencies list. Used to generate SSL certificates.
|
||||||
# We also depend on `python3` because we embed it in Memgraph.
|
# We also depend on `python3` because we embed it in Memgraph.
|
||||||
set(CPACK_RPM_PACKAGE_REQUIRES "openssl >= 1.0.0, curl >= 7.29.0, python3 >= 3.5.0")
|
set(CPACK_RPM_PACKAGE_REQUIRES "openssl >= 1.0.0, curl >= 7.29.0, python3 >= 3.5.0, libstdc >= 6, logrotate")
|
||||||
|
|
||||||
# All variables must be set before including.
|
# All variables must be set before including.
|
||||||
include(CPack)
|
include(CPack)
|
||||||
|
|||||||
19
release/arm64/build_env.dockerfile
Normal file
19
release/arm64/build_env.dockerfile
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
FROM dokken/centos-stream-9
|
||||||
|
|
||||||
|
ARG env_folder
|
||||||
|
ARG toolchain_version
|
||||||
|
|
||||||
|
COPY ${env_folder} /env_folder
|
||||||
|
|
||||||
|
RUN yum update && yum install -y curl git
|
||||||
|
|
||||||
|
RUN /${env_folder}/os/centos-9.sh install MEMGRAPH_BUILD_DEPS
|
||||||
|
RUN /${env_folder}/os/centos-9.sh install TOOLCHAIN_RUN_DEPS
|
||||||
|
|
||||||
|
RUN rm -rf /env_folder
|
||||||
|
|
||||||
|
RUN yum clean all
|
||||||
|
|
||||||
|
RUN curl https://s3.eu-west-1.amazonaws.com/deps.memgraph.io/${toolchain_version}/${toolchain_version}-binaries-centos-9-arm64.tar.gz -o /tmp/toolchain.tar.gz \
|
||||||
|
&& tar xvzf /tmp/toolchain.tar.gz -C /opt \
|
||||||
|
&& rm /tmp/toolchain.tar.gz
|
||||||
5
release/arm64/build_env.sh
Executable file
5
release/arm64/build_env.sh
Executable file
@@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
cp -r ../../environment env_folder
|
||||||
|
docker build -f build_env.dockerfile --build-arg env_folder=env_folder --build-arg toolchain_version=toolchain-v4 -t mg_build_env .
|
||||||
|
rm -rf env_folder
|
||||||
@@ -1,19 +1,21 @@
|
|||||||
FROM debian:buster
|
FROM debian:bullseye
|
||||||
# NOTE: If you change the base distro update release/package as well.
|
# NOTE: If you change the base distro update release/package as well.
|
||||||
|
|
||||||
ARG deb_release
|
ARG BINARY_NAME
|
||||||
|
ARG EXTENSION
|
||||||
|
ARG TARGETARCH
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y \
|
RUN apt-get update && apt-get install -y \
|
||||||
openssl libcurl4 libssl1.1 libseccomp2 python3 libpython3.7 python3-pip \
|
openssl libcurl4 libssl1.1 libseccomp2 python3 libpython3.9 python3-pip \
|
||||||
--no-install-recommends \
|
--no-install-recommends \
|
||||||
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||||
|
|
||||||
RUN pip3 install networkx==2.4 numpy==1.19.2 scipy==1.5.2
|
RUN pip3 install networkx==2.4 numpy==1.21.4 scipy==1.7.3
|
||||||
|
|
||||||
COPY ${deb_release} /
|
COPY "${BINARY_NAME}${TARGETARCH}.${EXTENSION}" /
|
||||||
|
|
||||||
# Install memgraph package
|
# Install memgraph package
|
||||||
RUN dpkg -i ${deb_release}
|
RUN dpkg -i "${BINARY_NAME}${TARGETARCH}.deb"
|
||||||
|
|
||||||
# Memgraph listens for Bolt Protocol on this port by default.
|
# Memgraph listens for Bolt Protocol on this port by default.
|
||||||
EXPOSE 7687
|
EXPOSE 7687
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
#!/bin/bash -e
|
|
||||||
|
|
||||||
# Build and package Docker image of Memgraph.
|
|
||||||
|
|
||||||
function print_help () {
|
|
||||||
echo "Usage: $0 [--latest] MEMGRAPH_PACKAGE.deb"
|
|
||||||
echo "Optional arguments:"
|
|
||||||
echo -e "\t-h|--help\t\tPrint help."
|
|
||||||
echo -e "\t--latest\t\tTag image as latest version."
|
|
||||||
}
|
|
||||||
|
|
||||||
working_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
||||||
|
|
||||||
latest_image=""
|
|
||||||
tag_latest=""
|
|
||||||
if [[ $# -eq 2 && "$1" == "--latest" ]]; then
|
|
||||||
latest_image="memgraph:latest"
|
|
||||||
tag_latest="-t memgraph:latest"
|
|
||||||
shift
|
|
||||||
elif [[ $# -ne 1 || "$1" == "-h" || "$1" == "--help" ]]; then
|
|
||||||
print_help
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
deb_path="$1"
|
|
||||||
if [[ ! -f "$deb_path" ]]; then
|
|
||||||
echo "File '$deb_path' does not exist!"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Copy the .deb to working directory.
|
|
||||||
cp "$deb_path" "${working_dir}/"
|
|
||||||
cd ${working_dir}
|
|
||||||
|
|
||||||
# Extract version and offering from deb name.
|
|
||||||
deb_name=`echo $(basename "$deb_path") | sed 's/.deb$//'`
|
|
||||||
version=`echo ${deb_name} | cut -d '_' -f 2 | rev | cut -d '-' -f 2- | rev | tr '+~' '__'`
|
|
||||||
dockerfile_path="${working_dir}/memgraph.dockerfile"
|
|
||||||
image_name="memgraph:${version}"
|
|
||||||
package_name="memgraph-${version}-docker.tar.gz"
|
|
||||||
|
|
||||||
# Build docker image.
|
|
||||||
docker build -t ${image_name} ${tag_latest} -f ${dockerfile_path} --build-arg deb_release=${deb_name}.deb .
|
|
||||||
docker save ${image_name} ${latest_image} > ${package_name}
|
|
||||||
rm "${deb_name}.deb"
|
|
||||||
echo "Built Docker image at '${working_dir}/${package_name}'"
|
|
||||||
64
release/docker/package_docker
Executable file
64
release/docker/package_docker
Executable file
@@ -0,0 +1,64 @@
|
|||||||
|
#!/bin/bash -e
|
||||||
|
|
||||||
|
# Build and package Docker image of Memgraph.
|
||||||
|
|
||||||
|
function print_help () {
|
||||||
|
echo "Usage: $0 [--latest] MEMGRAPH_PACKAGE.(deb|rpm)"
|
||||||
|
echo "Optional arguments:"
|
||||||
|
echo -e "\t-h|--help\t\tPrint help."
|
||||||
|
echo -e "\t--latest\t\tTag image as latest version."
|
||||||
|
}
|
||||||
|
|
||||||
|
working_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
|
|
||||||
|
latest_image=""
|
||||||
|
tag_latest=""
|
||||||
|
if [[ $# -eq 2 && "$1" == "--latest" ]]; then
|
||||||
|
latest_image="memgraph:latest"
|
||||||
|
tag_latest="-t memgraph:latest"
|
||||||
|
shift
|
||||||
|
elif [[ $# -ne 1 || "$1" == "-h" || "$1" == "--help" ]]; then
|
||||||
|
print_help
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
package_path="$1"
|
||||||
|
if [[ ! -f "$package_path" ]]; then
|
||||||
|
echo "File '$package_path' does not exist!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Copy the .deb to working directory.
|
||||||
|
cp "$package_path" "${working_dir}/"
|
||||||
|
cd ${working_dir}
|
||||||
|
|
||||||
|
extension="${package_path##*.}"
|
||||||
|
|
||||||
|
if [[ "$extension" == "deb" ]]; then
|
||||||
|
# Extract version and offering from deb name.
|
||||||
|
package_name=`echo $(basename "$package_path") | sed 's/.deb$//'`
|
||||||
|
version=`echo ${package_name} | cut -d '_' -f 2 | rev | cut -d '-' -f 2- | rev | tr '+~' '__'`
|
||||||
|
dockerfile_path="${working_dir}/memgraph_deb.dockerfile"
|
||||||
|
elif [[ "$extension" == "rpm" ]]; then
|
||||||
|
# Extract version and offering from deb name.
|
||||||
|
package_name=`echo $(basename "$package_path") | sed 's/.rpm$//'`
|
||||||
|
version=`echo ${package_name} | cut -d '-' -f 2 | rev | cut -d '-' -f 2- | rev`
|
||||||
|
version=${version%_1}
|
||||||
|
dockerfile_path="${working_dir}/memgraph_rpm.dockerfile"
|
||||||
|
else
|
||||||
|
echo "Invalid file sent as the package"
|
||||||
|
print_help
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
image_name="memgraph:${version}"
|
||||||
|
image_package_name="memgraph-${version}-docker.tar.gz"
|
||||||
|
|
||||||
|
# Build docker image.
|
||||||
|
docker build -t ${image_name} ${tag_latest} -f ${dockerfile_path} \
|
||||||
|
--build-arg BINARY_NAME=${package_name} \
|
||||||
|
--build-arg EXTENSION=${extension} \
|
||||||
|
--build-arg TARGETARCH="" .
|
||||||
|
docker save ${image_name} ${latest_image} | gzip > ${image_package_name}
|
||||||
|
rm "${package_name}.${extension}"
|
||||||
|
echo "Built Docker image at '${working_dir}/${image_package_name}'"
|
||||||
3
release/mgp/.gitignore
vendored
Normal file
3
release/mgp/.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
.venv
|
||||||
|
dist
|
||||||
|
mgp.py
|
||||||
201
release/mgp/LICENSE
Normal file
201
release/mgp/LICENSE
Normal file
@@ -0,0 +1,201 @@
|
|||||||
|
Apache License
|
||||||
|
Version 2.0, January 2004
|
||||||
|
http://www.apache.org/licenses/
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
|
||||||
|
1. Definitions.
|
||||||
|
|
||||||
|
"License" shall mean the terms and conditions for use, reproduction,
|
||||||
|
and distribution as defined by Sections 1 through 9 of this document.
|
||||||
|
|
||||||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
||||||
|
the copyright owner that is granting the License.
|
||||||
|
|
||||||
|
"Legal Entity" shall mean the union of the acting entity and all
|
||||||
|
other entities that control, are controlled by, or are under common
|
||||||
|
control with that entity. For the purposes of this definition,
|
||||||
|
"control" means (i) the power, direct or indirect, to cause the
|
||||||
|
direction or management of such entity, whether by contract or
|
||||||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||||
|
|
||||||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
||||||
|
exercising permissions granted by this License.
|
||||||
|
|
||||||
|
"Source" form shall mean the preferred form for making modifications,
|
||||||
|
including but not limited to software source code, documentation
|
||||||
|
source, and configuration files.
|
||||||
|
|
||||||
|
"Object" form shall mean any form resulting from mechanical
|
||||||
|
transformation or translation of a Source form, including but
|
||||||
|
not limited to compiled object code, generated documentation,
|
||||||
|
and conversions to other media types.
|
||||||
|
|
||||||
|
"Work" shall mean the work of authorship, whether in Source or
|
||||||
|
Object form, made available under the License, as indicated by a
|
||||||
|
copyright notice that is included in or attached to the work
|
||||||
|
(an example is provided in the Appendix below).
|
||||||
|
|
||||||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
||||||
|
form, that is based on (or derived from) the Work and for which the
|
||||||
|
editorial revisions, annotations, elaborations, or other modifications
|
||||||
|
represent, as a whole, an original work of authorship. For the purposes
|
||||||
|
of this License, Derivative Works shall not include works that remain
|
||||||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
||||||
|
the Work and Derivative Works thereof.
|
||||||
|
|
||||||
|
"Contribution" shall mean any work of authorship, including
|
||||||
|
the original version of the Work and any modifications or additions
|
||||||
|
to that Work or Derivative Works thereof, that is intentionally
|
||||||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
||||||
|
the copyright owner. For the purposes of this definition, "submitted"
|
||||||
|
means any form of electronic, verbal, or written communication sent
|
||||||
|
to the Licensor or its representatives, including but not limited to
|
||||||
|
communication on electronic mailing lists, source code control systems,
|
||||||
|
and issue tracking systems that are managed by, or on behalf of, the
|
||||||
|
Licensor for the purpose of discussing and improving the Work, but
|
||||||
|
excluding communication that is conspicuously marked or otherwise
|
||||||
|
designated in writing by the copyright owner as "Not a Contribution."
|
||||||
|
|
||||||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||||
|
on behalf of whom a Contribution has been received by Licensor and
|
||||||
|
subsequently incorporated within the Work.
|
||||||
|
|
||||||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
copyright license to reproduce, prepare Derivative Works of,
|
||||||
|
publicly display, publicly perform, sublicense, and distribute the
|
||||||
|
Work and such Derivative Works in Source or Object form.
|
||||||
|
|
||||||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
(except as stated in this section) patent license to make, have made,
|
||||||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||||
|
where such license applies only to those patent claims licensable
|
||||||
|
by such Contributor that are necessarily infringed by their
|
||||||
|
Contribution(s) alone or by combination of their Contribution(s)
|
||||||
|
with the Work to which such Contribution(s) was submitted. If You
|
||||||
|
institute patent litigation against any entity (including a
|
||||||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||||
|
or a Contribution incorporated within the Work constitutes direct
|
||||||
|
or contributory patent infringement, then any patent licenses
|
||||||
|
granted to You under this License for that Work shall terminate
|
||||||
|
as of the date such litigation is filed.
|
||||||
|
|
||||||
|
4. Redistribution. You may reproduce and distribute copies of the
|
||||||
|
Work or Derivative Works thereof in any medium, with or without
|
||||||
|
modifications, and in Source or Object form, provided that You
|
||||||
|
meet the following conditions:
|
||||||
|
|
||||||
|
(a) You must give any other recipients of the Work or
|
||||||
|
Derivative Works a copy of this License; and
|
||||||
|
|
||||||
|
(b) You must cause any modified files to carry prominent notices
|
||||||
|
stating that You changed the files; and
|
||||||
|
|
||||||
|
(c) You must retain, in the Source form of any Derivative Works
|
||||||
|
that You distribute, all copyright, patent, trademark, and
|
||||||
|
attribution notices from the Source form of the Work,
|
||||||
|
excluding those notices that do not pertain to any part of
|
||||||
|
the Derivative Works; and
|
||||||
|
|
||||||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
||||||
|
distribution, then any Derivative Works that You distribute must
|
||||||
|
include a readable copy of the attribution notices contained
|
||||||
|
within such NOTICE file, excluding those notices that do not
|
||||||
|
pertain to any part of the Derivative Works, in at least one
|
||||||
|
of the following places: within a NOTICE text file distributed
|
||||||
|
as part of the Derivative Works; within the Source form or
|
||||||
|
documentation, if provided along with the Derivative Works; or,
|
||||||
|
within a display generated by the Derivative Works, if and
|
||||||
|
wherever such third-party notices normally appear. The contents
|
||||||
|
of the NOTICE file are for informational purposes only and
|
||||||
|
do not modify the License. You may add Your own attribution
|
||||||
|
notices within Derivative Works that You distribute, alongside
|
||||||
|
or as an addendum to the NOTICE text from the Work, provided
|
||||||
|
that such additional attribution notices cannot be construed
|
||||||
|
as modifying the License.
|
||||||
|
|
||||||
|
You may add Your own copyright statement to Your modifications and
|
||||||
|
may provide additional or different license terms and conditions
|
||||||
|
for use, reproduction, or distribution of Your modifications, or
|
||||||
|
for any such Derivative Works as a whole, provided Your use,
|
||||||
|
reproduction, and distribution of the Work otherwise complies with
|
||||||
|
the conditions stated in this License.
|
||||||
|
|
||||||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||||
|
any Contribution intentionally submitted for inclusion in the Work
|
||||||
|
by You to the Licensor shall be under the terms and conditions of
|
||||||
|
this License, without any additional terms or conditions.
|
||||||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
||||||
|
the terms of any separate license agreement you may have executed
|
||||||
|
with Licensor regarding such Contributions.
|
||||||
|
|
||||||
|
6. Trademarks. This License does not grant permission to use the trade
|
||||||
|
names, trademarks, service marks, or product names of the Licensor,
|
||||||
|
except as required for reasonable and customary use in describing the
|
||||||
|
origin of the Work and reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||||
|
agreed to in writing, Licensor provides the Work (and each
|
||||||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
|
implied, including, without limitation, any warranties or conditions
|
||||||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||||
|
appropriateness of using or redistributing the Work and assume any
|
||||||
|
risks associated with Your exercise of permissions under this License.
|
||||||
|
|
||||||
|
8. Limitation of Liability. In no event and under no legal theory,
|
||||||
|
whether in tort (including negligence), contract, or otherwise,
|
||||||
|
unless required by applicable law (such as deliberate and grossly
|
||||||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
||||||
|
liable to You for damages, including any direct, indirect, special,
|
||||||
|
incidental, or consequential damages of any character arising as a
|
||||||
|
result of this License or out of the use or inability to use the
|
||||||
|
Work (including but not limited to damages for loss of goodwill,
|
||||||
|
work stoppage, computer failure or malfunction, or any and all
|
||||||
|
other commercial damages or losses), even if such Contributor
|
||||||
|
has been advised of the possibility of such damages.
|
||||||
|
|
||||||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
||||||
|
the Work or Derivative Works thereof, You may choose to offer,
|
||||||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||||
|
or other liability obligations and/or rights consistent with this
|
||||||
|
License. However, in accepting such obligations, You may act only
|
||||||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
||||||
|
of any other Contributor, and only if You agree to indemnify,
|
||||||
|
defend, and hold each Contributor harmless for any liability
|
||||||
|
incurred by, or claims asserted against, such Contributor by reason
|
||||||
|
of your accepting any such warranty or additional liability.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
APPENDIX: How to apply the Apache License to your work.
|
||||||
|
|
||||||
|
To apply the Apache License to your work, attach the following
|
||||||
|
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||||
|
replaced with your own identifying information. (Don't include
|
||||||
|
the brackets!) The text should be enclosed in the appropriate
|
||||||
|
comment syntax for the file format. We also recommend that a
|
||||||
|
file or class name and description of purpose be included on the
|
||||||
|
same "printed page" as the copyright notice for easier
|
||||||
|
identification within third-party archives.
|
||||||
|
|
||||||
|
Copyright [yyyy] [name of copyright owner]
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
4
release/mgp/README.md
Normal file
4
release/mgp/README.md
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
# mgp
|
||||||
|
|
||||||
|
PyPi package used for type hinting when creating MAGE modules. The get started
|
||||||
|
using MAGE repository checkout the repository here: https://github.com/memgraph/mage.
|
||||||
255
release/mgp/_mgp.py
Normal file
255
release/mgp/_mgp.py
Normal file
@@ -0,0 +1,255 @@
|
|||||||
|
from typing import Any
|
||||||
|
|
||||||
|
|
||||||
|
class MgpIterable:
|
||||||
|
def get() -> Any:
|
||||||
|
pass
|
||||||
|
|
||||||
|
def next() -> Any:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class Vertex:
|
||||||
|
def is_valid() -> bool: # type: ignore
|
||||||
|
pass
|
||||||
|
|
||||||
|
def underlying_graph_is_mutable() -> bool: # type: ignore
|
||||||
|
pass
|
||||||
|
|
||||||
|
def iter_properties() -> MgpIterable: # type: ignore
|
||||||
|
pass
|
||||||
|
|
||||||
|
def get_property(self, property_name: str) -> "Property": # type: ignore
|
||||||
|
pass
|
||||||
|
|
||||||
|
def set_property(self, property_name: str, value: Any) -> "Property": # type: ignore
|
||||||
|
pass
|
||||||
|
|
||||||
|
def get_id() -> "VertexId": # type: ignore
|
||||||
|
pass
|
||||||
|
|
||||||
|
def label_at(self, index: int) -> "Label": # type: ignore
|
||||||
|
pass
|
||||||
|
|
||||||
|
def labels_count() -> int: # type: ignore
|
||||||
|
pass
|
||||||
|
|
||||||
|
def add_label(self, label: Any):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def remove_label(self, label: Any):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def iter_in_edges() -> MgpIterable: # type: ignore
|
||||||
|
pass
|
||||||
|
|
||||||
|
def iter_out_edges() -> MgpIterable: # type: ignore
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class Edge:
|
||||||
|
def is_valid() -> bool: # type: ignore
|
||||||
|
pass
|
||||||
|
|
||||||
|
def underlying_graph_is_mutable() -> bool: # type: ignore
|
||||||
|
pass
|
||||||
|
|
||||||
|
def iter_properties() -> MgpIterable: # type: ignore
|
||||||
|
pass
|
||||||
|
|
||||||
|
def get_property(self, property_name: str) -> "Property": # type: ignore
|
||||||
|
pass
|
||||||
|
|
||||||
|
def set_property(self, property_name: str, valuse: Any) -> "Property": # type: ignore
|
||||||
|
pass
|
||||||
|
|
||||||
|
def get_type_name() -> str: # type: ignore
|
||||||
|
pass
|
||||||
|
|
||||||
|
def get_id() -> "EdgeId": # type: ignore
|
||||||
|
pass
|
||||||
|
|
||||||
|
def from_vertex() -> Vertex: # type: ignore
|
||||||
|
pass
|
||||||
|
|
||||||
|
def to_vertex() -> Vertex: # type: ignore
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class Path:
|
||||||
|
def is_valid() -> bool: # type: ignore
|
||||||
|
pass
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def make_with_start(vertex: Vertex) -> "Path": # type: ignore
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class Graph:
|
||||||
|
def is_valid() -> bool: # type: ignore
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class CypherType:
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class Message:
|
||||||
|
def is_valid() -> bool: # type: ignore
|
||||||
|
pass
|
||||||
|
|
||||||
|
def source_type() -> str: # type: ignore
|
||||||
|
pass
|
||||||
|
|
||||||
|
def topic_name() -> str: # type: ignore
|
||||||
|
pass
|
||||||
|
|
||||||
|
def key() -> bytes: # type: ignore
|
||||||
|
pass
|
||||||
|
|
||||||
|
def timestamp() -> int: # type: ignore
|
||||||
|
pass
|
||||||
|
|
||||||
|
def offset() -> int: # type: ignore
|
||||||
|
pass
|
||||||
|
|
||||||
|
def payload() -> bytes: # type: ignore
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class Messages:
|
||||||
|
def is_valid() -> bool: # type: ignore
|
||||||
|
pass
|
||||||
|
|
||||||
|
def message_at(self, id: int) -> Message: # type: ignore
|
||||||
|
pass
|
||||||
|
|
||||||
|
def total_messages() -> int: # type: ignore
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class UnknownError(Exception):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class UnableToAllocateError(Exception):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class InsufficientBufferError(Exception):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class OutOfRangeError(Exception):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class LogicErrorError(Exception):
|
||||||
|
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class DeletedObjectError(Exception):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class InvalidArgumentError(Exception):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class KeyAlreadyExistsError(Exception):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class ImmutableObjectError(Exception):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class ValueConversionError(Exception):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class SerializationError(Exception):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
def type_nullable(elem: Any):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
def type_list(elem: Any):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
def type_bool():
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
def type_string():
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
def type_int():
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
def type_float():
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
def type_number():
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
def type_map():
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
def type_node():
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
def type_relationship():
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
def type_path():
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
def type_date():
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
def type_local_time():
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
def type_local_date_time():
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
def type_duration():
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
def type_any():
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class _MODULE:
|
||||||
|
@staticmethod
|
||||||
|
def add_read_procedure(wrapper):
|
||||||
|
pass
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def add_write_procedure(wrapper):
|
||||||
|
pass
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def add_transformation(wrapper):
|
||||||
|
pass
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def add_function(wrapper):
|
||||||
|
pass
|
||||||
22
release/mgp/instructions.md
Normal file
22
release/mgp/instructions.md
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
# How to publish new versions
|
||||||
|
## Prerequisites
|
||||||
|
1. Installed poetry
|
||||||
|
```
|
||||||
|
pip install poetry
|
||||||
|
```
|
||||||
|
2. Set up [API tokens](https://pypi.org/help/#apitoken)
|
||||||
|
3. Be a collaborator on [pypi](https://pypi.org/project/mgp/)
|
||||||
|
|
||||||
|
## Making changes
|
||||||
|
1. Make changes to the package
|
||||||
|
2. Bump version in `pyproject.tml`
|
||||||
|
3. `poetry build`
|
||||||
|
4. `poetry publish`
|
||||||
|
|
||||||
|
## Why is this not automatized?
|
||||||
|
|
||||||
|
Because someone always has to manually bump up the version in `pyproject.toml`
|
||||||
|
|
||||||
|
## Why does `_mgp.py` exists?
|
||||||
|
Because we are mocking here all the types that are created by Memgraph
|
||||||
|
in order to fix typing errors in `mgp.py`.
|
||||||
23
release/mgp/pyproject.toml
Normal file
23
release/mgp/pyproject.toml
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
[tool.poetry]
|
||||||
|
name = "mgp"
|
||||||
|
version = "1.0.0"
|
||||||
|
description = "Memgraph's module for developing MAGE modules. Used only for type hinting!"
|
||||||
|
authors = [
|
||||||
|
"MasterMedo <mislav.vuletic@gmail.com>",
|
||||||
|
"jbajic <jure.bajic@memgraph.io>",
|
||||||
|
"katarinasupe <katarina.supe@memgraph.io>",
|
||||||
|
"antejavor <ante.javor@memgraph.io>",
|
||||||
|
"antaljanosbenjamin <benjamin.antal@memgraph.io>",
|
||||||
|
]
|
||||||
|
license = "Apache-2.0"
|
||||||
|
readme = "README.md"
|
||||||
|
include = ["mgp.py", "_mgp.py"]
|
||||||
|
|
||||||
|
[tool.poetry.dependencies]
|
||||||
|
python = "^3.7"
|
||||||
|
|
||||||
|
[tool.poetry.dev-dependencies]
|
||||||
|
|
||||||
|
[build-system]
|
||||||
|
requires = ["poetry-core>=1.0.0"]
|
||||||
|
build-backend = "poetry.core.masonry.api"
|
||||||
@@ -7,8 +7,8 @@ RUN yum -y update \
|
|||||||
# Do NOT be smart here and clean the cache because the container is used in the
|
# Do NOT be smart here and clean the cache because the container is used in the
|
||||||
# stateful context.
|
# stateful context.
|
||||||
|
|
||||||
RUN wget -q https://s3-eu-west-1.amazonaws.com/deps.memgraph.io/${TOOLCHAIN_VERSION}/${TOOLCHAIN_VERSION}-binaries-centos-7.tar.gz \
|
RUN wget -q https://s3-eu-west-1.amazonaws.com/deps.memgraph.io/${TOOLCHAIN_VERSION}/${TOOLCHAIN_VERSION}-binaries-centos-7-x86_64.tar.gz \
|
||||||
-O ${TOOLCHAIN_VERSION}-binaries-centos-7.tar.gz \
|
-O ${TOOLCHAIN_VERSION}-binaries-centos-7-x86_64.tar.gz \
|
||||||
&& tar xzvf ${TOOLCHAIN_VERSION}-binaries-centos-7.tar.gz -C /opt
|
&& tar xzvf ${TOOLCHAIN_VERSION}-binaries-centos-7-x86_64.tar.gz -C /opt
|
||||||
|
|
||||||
ENTRYPOINT ["sleep", "infinity"]
|
ENTRYPOINT ["sleep", "infinity"]
|
||||||
|
|||||||
@@ -1,14 +0,0 @@
|
|||||||
FROM centos:8
|
|
||||||
|
|
||||||
ARG TOOLCHAIN_VERSION
|
|
||||||
|
|
||||||
RUN dnf -y update \
|
|
||||||
&& dnf install -y wget git
|
|
||||||
# Do NOT be smart here and clean the cache because the container is used in the
|
|
||||||
# stateful context.
|
|
||||||
|
|
||||||
RUN wget -q https://s3-eu-west-1.amazonaws.com/deps.memgraph.io/${TOOLCHAIN_VERSION}/${TOOLCHAIN_VERSION}-binaries-centos-8.tar.gz \
|
|
||||||
-O ${TOOLCHAIN_VERSION}-binaries-centos-8.tar.gz \
|
|
||||||
&& tar xzvf ${TOOLCHAIN_VERSION}-binaries-centos-8.tar.gz -C /opt
|
|
||||||
|
|
||||||
ENTRYPOINT ["sleep", "infinity"]
|
|
||||||
14
release/package/centos-9/Dockerfile
Normal file
14
release/package/centos-9/Dockerfile
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
FROM quay.io/centos/centos:stream9
|
||||||
|
|
||||||
|
ARG TOOLCHAIN_VERSION
|
||||||
|
|
||||||
|
RUN yum -y update \
|
||||||
|
&& yum install -y wget git
|
||||||
|
# Do NOT be smart here and clean the cache because the container is used in the
|
||||||
|
# stateful context.
|
||||||
|
|
||||||
|
RUN wget -q https://s3-eu-west-1.amazonaws.com/deps.memgraph.io/${TOOLCHAIN_VERSION}/${TOOLCHAIN_VERSION}-binaries-centos-9-x86_64.tar.gz \
|
||||||
|
-O ${TOOLCHAIN_VERSION}-binaries-centos-9-x86_64.tar.gz \
|
||||||
|
&& tar xzvf ${TOOLCHAIN_VERSION}-binaries-centos-9-x86_64.tar.gz -C /opt
|
||||||
|
|
||||||
|
ENTRYPOINT ["sleep", "infinity"]
|
||||||
@@ -10,8 +10,8 @@ RUN apt update && apt install -y \
|
|||||||
# Do NOT be smart here and clean the cache because the container is used in the
|
# Do NOT be smart here and clean the cache because the container is used in the
|
||||||
# stateful context.
|
# stateful context.
|
||||||
|
|
||||||
RUN wget -q https://s3-eu-west-1.amazonaws.com/deps.memgraph.io/${TOOLCHAIN_VERSION}/${TOOLCHAIN_VERSION}-binaries-debian-10.tar.gz \
|
RUN wget -q https://s3-eu-west-1.amazonaws.com/deps.memgraph.io/${TOOLCHAIN_VERSION}/${TOOLCHAIN_VERSION}-binaries-debian-10-amd64.tar.gz \
|
||||||
-O ${TOOLCHAIN_VERSION}-binaries-debian-10.tar.gz \
|
-O ${TOOLCHAIN_VERSION}-binaries-debian-10-amd64.tar.gz \
|
||||||
&& tar xzvf ${TOOLCHAIN_VERSION}-binaries-debian-10.tar.gz -C /opt
|
&& tar xzvf ${TOOLCHAIN_VERSION}-binaries-debian-10-amd64.tar.gz -C /opt
|
||||||
|
|
||||||
ENTRYPOINT ["sleep", "infinity"]
|
ENTRYPOINT ["sleep", "infinity"]
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
FROM debian:9
|
FROM debian:11
|
||||||
|
|
||||||
ARG TOOLCHAIN_VERSION
|
ARG TOOLCHAIN_VERSION
|
||||||
|
|
||||||
@@ -10,8 +10,8 @@ RUN apt update && apt install -y \
|
|||||||
# Do NOT be smart here and clean the cache because the container is used in the
|
# Do NOT be smart here and clean the cache because the container is used in the
|
||||||
# stateful context.
|
# stateful context.
|
||||||
|
|
||||||
RUN wget -q https://s3-eu-west-1.amazonaws.com/deps.memgraph.io/${TOOLCHAIN_VERSION}/${TOOLCHAIN_VERSION}-binaries-debian-9.tar.gz \
|
RUN wget -q https://s3-eu-west-1.amazonaws.com/deps.memgraph.io/${TOOLCHAIN_VERSION}/${TOOLCHAIN_VERSION}-binaries-debian-11-arm64.tar.gz \
|
||||||
-O ${TOOLCHAIN_VERSION}-binaries-debian-9.tar.gz \
|
-O ${TOOLCHAIN_VERSION}-binaries-debian-11-arm64.tar.gz \
|
||||||
&& tar xzvf ${TOOLCHAIN_VERSION}-binaries-debian-9.tar.gz -C /opt
|
&& tar xzvf ${TOOLCHAIN_VERSION}-binaries-debian-11-arm64.tar.gz -C /opt
|
||||||
|
|
||||||
ENTRYPOINT ["sleep", "infinity"]
|
ENTRYPOINT ["sleep", "infinity"]
|
||||||
@@ -10,8 +10,8 @@ RUN apt update && apt install -y \
|
|||||||
# Do NOT be smart here and clean the cache because the container is used in the
|
# Do NOT be smart here and clean the cache because the container is used in the
|
||||||
# stateful context.
|
# stateful context.
|
||||||
|
|
||||||
RUN wget -q https://s3-eu-west-1.amazonaws.com/deps.memgraph.io/${TOOLCHAIN_VERSION}/${TOOLCHAIN_VERSION}-binaries-debian-11.tar.gz \
|
RUN wget -q https://s3-eu-west-1.amazonaws.com/deps.memgraph.io/${TOOLCHAIN_VERSION}/${TOOLCHAIN_VERSION}-binaries-debian-11-amd64.tar.gz \
|
||||||
-O ${TOOLCHAIN_VERSION}-binaries-debian-11.tar.gz \
|
-O ${TOOLCHAIN_VERSION}-binaries-debian-11-amd64.tar.gz \
|
||||||
&& tar xzvf ${TOOLCHAIN_VERSION}-binaries-debian-11.tar.gz -C /opt
|
&& tar xzvf ${TOOLCHAIN_VERSION}-binaries-debian-11-amd64.tar.gz -C /opt
|
||||||
|
|
||||||
ENTRYPOINT ["sleep", "infinity"]
|
ENTRYPOINT ["sleep", "infinity"]
|
||||||
|
|||||||
@@ -4,14 +4,10 @@ services:
|
|||||||
build:
|
build:
|
||||||
context: centos-7
|
context: centos-7
|
||||||
container_name: "mgbuild_centos-7"
|
container_name: "mgbuild_centos-7"
|
||||||
mgbuild_centos-8:
|
mgbuild_centos-9:
|
||||||
build:
|
build:
|
||||||
context: centos-8
|
context: centos-9
|
||||||
container_name: "mgbuild_centos-8"
|
container_name: "mgbuild_centos-9"
|
||||||
mgbuild_debian-9:
|
|
||||||
build:
|
|
||||||
context: debian-9
|
|
||||||
container_name: "mgbuild_debian-9"
|
|
||||||
mgbuild_debian-10:
|
mgbuild_debian-10:
|
||||||
build:
|
build:
|
||||||
context: debian-10
|
context: debian-10
|
||||||
@@ -28,3 +24,7 @@ services:
|
|||||||
build:
|
build:
|
||||||
context: ubuntu-20.04
|
context: ubuntu-20.04
|
||||||
container_name: "mgbuild_ubuntu-20.04"
|
container_name: "mgbuild_ubuntu-20.04"
|
||||||
|
mgbuild_ubuntu-22.04:
|
||||||
|
build:
|
||||||
|
context: ubuntu-22.04
|
||||||
|
container_name: "mgbuild_ubuntu-22.04"
|
||||||
|
|||||||
@@ -3,9 +3,9 @@
|
|||||||
set -Eeuo pipefail
|
set -Eeuo pipefail
|
||||||
|
|
||||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||||
SUPPORTED_OS=(centos-7 centos-8 debian-9 debian-10 debian-11 ubuntu-18.04 ubuntu-20.04)
|
SUPPORTED_OS=(centos-7 centos-9 debian-10 debian-11 ubuntu-18.04 ubuntu-20.04 ubuntu-22.04 debian-11-arm)
|
||||||
PROJECT_ROOT="$SCRIPT_DIR/../.."
|
PROJECT_ROOT="$SCRIPT_DIR/../.."
|
||||||
TOOLCHAIN_VERSION="toolchain-v3"
|
TOOLCHAIN_VERSION="toolchain-v4"
|
||||||
ACTIVATE_TOOLCHAIN="source /opt/${TOOLCHAIN_VERSION}/activate"
|
ACTIVATE_TOOLCHAIN="source /opt/${TOOLCHAIN_VERSION}/activate"
|
||||||
HOST_OUTPUT_DIR="$PROJECT_ROOT/build/output"
|
HOST_OUTPUT_DIR="$PROJECT_ROOT/build/output"
|
||||||
|
|
||||||
@@ -67,14 +67,18 @@ make_package () {
|
|||||||
# environment/os/{os}.sh does not come within the toolchain package. When
|
# environment/os/{os}.sh does not come within the toolchain package. When
|
||||||
# migrating to the next version of toolchain do that, and remove the
|
# migrating to the next version of toolchain do that, and remove the
|
||||||
# TOOLCHAIN_RUN_DEPS installation from here.
|
# TOOLCHAIN_RUN_DEPS installation from here.
|
||||||
echo "Installing dependencies..."
|
echo "Installing dependencies using '/memgraph/environment/os/$os.sh' script..."
|
||||||
docker exec "$build_container" bash -c "/memgraph/environment/os/$os.sh install TOOLCHAIN_RUN_DEPS"
|
docker exec "$build_container" bash -c "/memgraph/environment/os/$os.sh install TOOLCHAIN_RUN_DEPS"
|
||||||
docker exec "$build_container" bash -c "/memgraph/environment/os/$os.sh install MEMGRAPH_BUILD_DEPS"
|
docker exec "$build_container" bash -c "/memgraph/environment/os/$os.sh install MEMGRAPH_BUILD_DEPS"
|
||||||
|
|
||||||
echo "Building targeted package..."
|
echo "Building targeted package..."
|
||||||
docker exec "$build_container" bash -c "cd /memgraph && $ACTIVATE_TOOLCHAIN && ./init"
|
docker exec "$build_container" bash -c "cd /memgraph && $ACTIVATE_TOOLCHAIN && ./init"
|
||||||
docker exec "$build_container" bash -c "cd $container_build_dir && rm -rf ./*"
|
docker exec "$build_container" bash -c "cd $container_build_dir && rm -rf ./*"
|
||||||
docker exec "$build_container" bash -c "cd $container_build_dir && $ACTIVATE_TOOLCHAIN && cmake -DCMAKE_BUILD_TYPE=release $telemetry_id_override_flag .."
|
if [[ "$os" == "debian-11-arm" ]]; then
|
||||||
|
docker exec "$build_container" bash -c "cd $container_build_dir && $ACTIVATE_TOOLCHAIN && cmake -DCMAKE_BUILD_TYPE=release -DMG_ARCH="ARM64" $telemetry_id_override_flag .."
|
||||||
|
else
|
||||||
|
docker exec "$build_container" bash -c "cd $container_build_dir && $ACTIVATE_TOOLCHAIN && cmake -DCMAKE_BUILD_TYPE=release $telemetry_id_override_flag .."
|
||||||
|
fi
|
||||||
# ' is used instead of " because we need to run make within the allowed
|
# ' is used instead of " because we need to run make within the allowed
|
||||||
# container resources.
|
# container resources.
|
||||||
# shellcheck disable=SC2016
|
# shellcheck disable=SC2016
|
||||||
@@ -100,13 +104,13 @@ case "$1" in
|
|||||||
;;
|
;;
|
||||||
|
|
||||||
docker)
|
docker)
|
||||||
# NOTE: Docker is build on top of Debian 10 package.
|
# NOTE: Docker is build on top of Debian 11 package.
|
||||||
based_on_os="debian-10"
|
based_on_os="debian-11"
|
||||||
# shellcheck disable=SC2012
|
# shellcheck disable=SC2012
|
||||||
last_package_name=$(cd "$HOST_OUTPUT_DIR/$based_on_os" && ls -t memgraph* | head -1)
|
last_package_name=$(cd "$HOST_OUTPUT_DIR/$based_on_os" && ls -t memgraph* | head -1)
|
||||||
docker_build_folder="$PROJECT_ROOT/release/docker"
|
docker_build_folder="$PROJECT_ROOT/release/docker"
|
||||||
cd "$docker_build_folder"
|
cd "$docker_build_folder"
|
||||||
./package_deb_docker --latest "$HOST_OUTPUT_DIR/$based_on_os/$last_package_name"
|
./package_docker --latest "$HOST_OUTPUT_DIR/$based_on_os/$last_package_name"
|
||||||
# shellcheck disable=SC2012
|
# shellcheck disable=SC2012
|
||||||
docker_image_name=$(cd "$docker_build_folder" && ls -t memgraph* | head -1)
|
docker_image_name=$(cd "$docker_build_folder" && ls -t memgraph* | head -1)
|
||||||
docker_host_folder="$HOST_OUTPUT_DIR/docker"
|
docker_host_folder="$HOST_OUTPUT_DIR/docker"
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ RUN apt update && apt install -y \
|
|||||||
# Do NOT be smart here and clean the cache because the container is used in the
|
# Do NOT be smart here and clean the cache because the container is used in the
|
||||||
# stateful context.
|
# stateful context.
|
||||||
|
|
||||||
RUN wget -q https://s3-eu-west-1.amazonaws.com/deps.memgraph.io/${TOOLCHAIN_VERSION}/${TOOLCHAIN_VERSION}-binaries-ubuntu-18.04.tar.gz \
|
RUN wget -q https://s3-eu-west-1.amazonaws.com/deps.memgraph.io/${TOOLCHAIN_VERSION}/${TOOLCHAIN_VERSION}-binaries-ubuntu-18.04-amd64.tar.gz \
|
||||||
-O ${TOOLCHAIN_VERSION}-binaries-ubuntu-18.04.tar.gz \
|
-O ${TOOLCHAIN_VERSION}-binaries-ubuntu-18.04-amd64.tar.gz \
|
||||||
&& tar xzvf ${TOOLCHAIN_VERSION}-binaries-ubuntu-18.04.tar.gz -C /opt
|
&& tar xzvf ${TOOLCHAIN_VERSION}-binaries-ubuntu-18.04-amd64.tar.gz -C /opt
|
||||||
|
|
||||||
ENTRYPOINT ["sleep", "infinity"]
|
ENTRYPOINT ["sleep", "infinity"]
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ RUN apt update && apt install -y \
|
|||||||
# Do NOT be smart here and clean the cache because the container is used in the
|
# Do NOT be smart here and clean the cache because the container is used in the
|
||||||
# stateful context.
|
# stateful context.
|
||||||
|
|
||||||
RUN wget -q https://s3-eu-west-1.amazonaws.com/deps.memgraph.io/${TOOLCHAIN_VERSION}/${TOOLCHAIN_VERSION}-binaries-ubuntu-20.04.tar.gz \
|
RUN wget -q https://s3-eu-west-1.amazonaws.com/deps.memgraph.io/${TOOLCHAIN_VERSION}/${TOOLCHAIN_VERSION}-binaries-ubuntu-20.04-amd64.tar.gz \
|
||||||
-O ${TOOLCHAIN_VERSION}-binaries-ubuntu-20.04.tar.gz \
|
-O ${TOOLCHAIN_VERSION}-binaries-ubuntu-20.04-amd64.tar.gz \
|
||||||
&& tar xzvf ${TOOLCHAIN_VERSION}-binaries-ubuntu-20.04.tar.gz -C /opt
|
&& tar xzvf ${TOOLCHAIN_VERSION}-binaries-ubuntu-20.04-amd64.tar.gz -C /opt
|
||||||
|
|
||||||
ENTRYPOINT ["sleep", "infinity"]
|
ENTRYPOINT ["sleep", "infinity"]
|
||||||
|
|||||||
17
release/package/ubuntu-22.04/Dockerfile
Normal file
17
release/package/ubuntu-22.04/Dockerfile
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
FROM ubuntu:22.04
|
||||||
|
|
||||||
|
ARG TOOLCHAIN_VERSION
|
||||||
|
|
||||||
|
# Stops tzdata interactive configuration.
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
RUN apt update && apt install -y \
|
||||||
|
ca-certificates wget git
|
||||||
|
# Do NOT be smart here and clean the cache because the container is used in the
|
||||||
|
# stateful context.
|
||||||
|
|
||||||
|
RUN wget -q https://s3-eu-west-1.amazonaws.com/deps.memgraph.io/${TOOLCHAIN_VERSION}/${TOOLCHAIN_VERSION}-binaries-ubuntu-22.04-amd64.tar.gz \
|
||||||
|
-O ${TOOLCHAIN_VERSION}-binaries-ubuntu-22.04-amd64.tar.gz \
|
||||||
|
&& tar xzvf ${TOOLCHAIN_VERSION}-binaries-ubuntu-22.04-amd64.tar.gz -C /opt
|
||||||
|
|
||||||
|
ENTRYPOINT ["sleep", "infinity"]
|
||||||
@@ -5,16 +5,23 @@ add_subdirectory(lisp)
|
|||||||
add_subdirectory(utils)
|
add_subdirectory(utils)
|
||||||
add_subdirectory(requests)
|
add_subdirectory(requests)
|
||||||
add_subdirectory(io)
|
add_subdirectory(io)
|
||||||
|
add_subdirectory(io/simulator)
|
||||||
add_subdirectory(kvstore)
|
add_subdirectory(kvstore)
|
||||||
add_subdirectory(telemetry)
|
add_subdirectory(telemetry)
|
||||||
add_subdirectory(communication)
|
add_subdirectory(communication)
|
||||||
add_subdirectory(memory)
|
add_subdirectory(memory)
|
||||||
add_subdirectory(storage/v2)
|
add_subdirectory(storage/v2)
|
||||||
|
add_subdirectory(storage/v3)
|
||||||
add_subdirectory(integrations)
|
add_subdirectory(integrations)
|
||||||
add_subdirectory(query)
|
add_subdirectory(query)
|
||||||
|
add_subdirectory(query/v2)
|
||||||
add_subdirectory(slk)
|
add_subdirectory(slk)
|
||||||
add_subdirectory(rpc)
|
add_subdirectory(rpc)
|
||||||
add_subdirectory(auth)
|
add_subdirectory(auth)
|
||||||
|
add_subdirectory(parser)
|
||||||
|
add_subdirectory(expr)
|
||||||
|
add_subdirectory(coordinator)
|
||||||
|
add_subdirectory(functions)
|
||||||
|
|
||||||
if (MG_ENTERPRISE)
|
if (MG_ENTERPRISE)
|
||||||
add_subdirectory(audit)
|
add_subdirectory(audit)
|
||||||
@@ -31,13 +38,13 @@ include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
|||||||
# Memgraph Single Node v2 Executable
|
# Memgraph Single Node v2 Executable
|
||||||
# ----------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------
|
||||||
set(mg_single_node_v2_sources
|
set(mg_single_node_v2_sources
|
||||||
glue/communication.cpp
|
glue/v2/communication.cpp
|
||||||
memgraph.cpp
|
memgraph.cpp
|
||||||
glue/auth.cpp
|
glue/v2/auth.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
set(mg_single_node_v2_libs stdc++fs Threads::Threads
|
set(mg_single_node_v2_libs stdc++fs Threads::Threads
|
||||||
telemetry_lib mg-query mg-communication mg-memory mg-utils mg-auth)
|
telemetry_lib mg-query-v2 mg-communication mg-memory mg-utils mg-auth mg-license mg-settings mg-io mg-coordinator)
|
||||||
if (MG_ENTERPRISE)
|
if (MG_ENTERPRISE)
|
||||||
# These are enterprise subsystems
|
# These are enterprise subsystems
|
||||||
set(mg_single_node_v2_libs ${mg_single_node_v2_libs} mg-audit)
|
set(mg_single_node_v2_libs ${mg_single_node_v2_libs} mg-audit)
|
||||||
@@ -120,19 +127,3 @@ install(CODE "file(MAKE_DIRECTORY \$ENV{DESTDIR}/var/log/memgraph
|
|||||||
# ----------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------
|
||||||
# Memgraph CSV Import Tool Executable
|
# Memgraph CSV Import Tool Executable
|
||||||
# ----------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------
|
||||||
|
|
||||||
add_executable(mg_import_csv mg_import_csv.cpp)
|
|
||||||
target_link_libraries(mg_import_csv mg-storage-v2)
|
|
||||||
|
|
||||||
# Strip the executable in release build.
|
|
||||||
if (lower_build_type STREQUAL "release")
|
|
||||||
add_custom_command(TARGET mg_import_csv POST_BUILD
|
|
||||||
COMMAND strip -s mg_import_csv
|
|
||||||
COMMENT "Stripping symbols and sections from mg_import_csv")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
install(TARGETS mg_import_csv RUNTIME DESTINATION bin)
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------------------
|
|
||||||
# Memgraph CSV Import Tool Executable
|
|
||||||
# ----------------------------------------------------------------------------
|
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
set(audit_src_files log.cpp)
|
set(audit_src_files log.cpp)
|
||||||
|
|
||||||
|
find_package(fmt REQUIRED)
|
||||||
|
find_package(gflags REQUIRED)
|
||||||
|
|
||||||
add_library(mg-audit STATIC ${audit_src_files})
|
add_library(mg-audit STATIC ${audit_src_files})
|
||||||
target_link_libraries(mg-audit json gflags fmt)
|
target_link_libraries(mg-audit json gflags fmt::fmt)
|
||||||
target_link_libraries(mg-audit mg-utils mg-storage-v2)
|
target_link_libraries(mg-audit mg-utils mg-storage-v2)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Memgraph Ltd.
|
// Copyright 2022 Memgraph Ltd.
|
||||||
//
|
//
|
||||||
// Licensed as a Memgraph Enterprise file under the Memgraph Enterprise
|
// Licensed as a Memgraph Enterprise file under the Memgraph Enterprise
|
||||||
// License (the "License"); by using this file, you agree to be bound by the terms of the License, and you may not use
|
// License (the "License"); by using this file, you agree to be bound by the terms of the License, and you may not use
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
#include "utils/logging.hpp"
|
#include "utils/logging.hpp"
|
||||||
#include "utils/string.hpp"
|
#include "utils/string.hpp"
|
||||||
|
|
||||||
namespace audit {
|
namespace memgraph::audit {
|
||||||
|
|
||||||
// Helper function that converts a `storage::PropertyValue` to `nlohmann::json`.
|
// Helper function that converts a `storage::PropertyValue` to `nlohmann::json`.
|
||||||
inline nlohmann::json PropertyValueToJson(const storage::PropertyValue &pv) {
|
inline nlohmann::json PropertyValueToJson(const storage::PropertyValue &pv) {
|
||||||
@@ -143,4 +143,4 @@ void Log::Flush() {
|
|||||||
log_.Sync();
|
log_.Sync();
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace audit
|
} // namespace memgraph::audit
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Memgraph Ltd.
|
// Copyright 2022 Memgraph Ltd.
|
||||||
//
|
//
|
||||||
// Licensed as a Memgraph Enterprise file under the Memgraph Enterprise
|
// Licensed as a Memgraph Enterprise file under the Memgraph Enterprise
|
||||||
// License (the "License"); by using this file, you agree to be bound by the terms of the License, and you may not use
|
// License (the "License"); by using this file, you agree to be bound by the terms of the License, and you may not use
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
#include "utils/file.hpp"
|
#include "utils/file.hpp"
|
||||||
#include "utils/scheduler.hpp"
|
#include "utils/scheduler.hpp"
|
||||||
|
|
||||||
namespace audit {
|
namespace memgraph::audit {
|
||||||
|
|
||||||
const uint64_t kBufferSizeDefault = 100000;
|
const uint64_t kBufferSizeDefault = 100000;
|
||||||
const uint64_t kBufferFlushIntervalMillisDefault = 200;
|
const uint64_t kBufferFlushIntervalMillisDefault = 200;
|
||||||
@@ -71,4 +71,4 @@ class Log {
|
|||||||
std::mutex lock_;
|
std::mutex lock_;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace audit
|
} // namespace memgraph::audit
|
||||||
|
|||||||
@@ -5,10 +5,13 @@ set(auth_src_files
|
|||||||
module.cpp)
|
module.cpp)
|
||||||
|
|
||||||
find_package(Seccomp REQUIRED)
|
find_package(Seccomp REQUIRED)
|
||||||
|
find_package(fmt REQUIRED)
|
||||||
|
find_package(gflags REQUIRED)
|
||||||
|
|
||||||
|
|
||||||
add_library(mg-auth STATIC ${auth_src_files})
|
add_library(mg-auth STATIC ${auth_src_files})
|
||||||
target_link_libraries(mg-auth json libbcrypt gflags fmt)
|
target_link_libraries(mg-auth json libbcrypt gflags fmt::fmt)
|
||||||
target_link_libraries(mg-auth mg-utils mg-kvstore)
|
target_link_libraries(mg-auth mg-utils mg-kvstore mg-license )
|
||||||
|
|
||||||
target_link_libraries(mg-auth ${Seccomp_LIBRARIES})
|
target_link_libraries(mg-auth ${Seccomp_LIBRARIES})
|
||||||
target_include_directories(mg-auth SYSTEM PRIVATE ${Seccomp_INCLUDE_DIRS})
|
target_include_directories(mg-auth SYSTEM PRIVATE ${Seccomp_INCLUDE_DIRS})
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Memgraph Ltd.
|
// Copyright 2022 Memgraph Ltd.
|
||||||
//
|
//
|
||||||
// Licensed as a Memgraph Enterprise file under the Memgraph Enterprise
|
// Licensed as a Memgraph Enterprise file under the Memgraph Enterprise
|
||||||
// License (the "License"); by using this file, you agree to be bound by the terms of the License, and you may not use
|
// License (the "License"); by using this file, you agree to be bound by the terms of the License, and you may not use
|
||||||
@@ -42,8 +42,7 @@ DEFINE_VALIDATED_int32(auth_module_timeout_ms, 10000,
|
|||||||
"response from the auth module.",
|
"response from the auth module.",
|
||||||
FLAG_IN_RANGE(100, 1800000));
|
FLAG_IN_RANGE(100, 1800000));
|
||||||
|
|
||||||
namespace auth {
|
namespace memgraph::auth {
|
||||||
|
|
||||||
const std::string kUserPrefix = "user:";
|
const std::string kUserPrefix = "user:";
|
||||||
const std::string kRolePrefix = "role:";
|
const std::string kRolePrefix = "role:";
|
||||||
const std::string kLinkPrefix = "link:";
|
const std::string kLinkPrefix = "link:";
|
||||||
@@ -316,4 +315,4 @@ std::vector<auth::User> Auth::AllUsersForRole(const std::string &rolename_orig)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace auth
|
} // namespace memgraph::auth
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Memgraph Ltd.
|
// Copyright 2022 Memgraph Ltd.
|
||||||
//
|
//
|
||||||
// Licensed as a Memgraph Enterprise file under the Memgraph Enterprise
|
// Licensed as a Memgraph Enterprise file under the Memgraph Enterprise
|
||||||
// License (the "License"); by using this file, you agree to be bound by the terms of the License, and you may not use
|
// License (the "License"); by using this file, you agree to be bound by the terms of the License, and you may not use
|
||||||
@@ -18,8 +18,7 @@
|
|||||||
#include "kvstore/kvstore.hpp"
|
#include "kvstore/kvstore.hpp"
|
||||||
#include "utils/settings.hpp"
|
#include "utils/settings.hpp"
|
||||||
|
|
||||||
namespace auth {
|
namespace memgraph::auth {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class serves as the main Authentication/Authorization storage.
|
* This class serves as the main Authentication/Authorization storage.
|
||||||
* It provides functions for managing Users, Roles and Permissions.
|
* It provides functions for managing Users, Roles and Permissions.
|
||||||
@@ -163,4 +162,4 @@ class Auth final {
|
|||||||
kvstore::KVStore storage_;
|
kvstore::KVStore storage_;
|
||||||
auth::Module module_;
|
auth::Module module_;
|
||||||
};
|
};
|
||||||
} // namespace auth
|
} // namespace memgraph::auth
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Memgraph Ltd.
|
// Copyright 2022 Memgraph Ltd.
|
||||||
//
|
//
|
||||||
// Licensed as a Memgraph Enterprise file under the Memgraph Enterprise
|
// Licensed as a Memgraph Enterprise file under the Memgraph Enterprise
|
||||||
// License (the "License"); by using this file, you agree to be bound by the terms of the License, and you may not use
|
// License (the "License"); by using this file, you agree to be bound by the terms of the License, and you may not use
|
||||||
@@ -12,8 +12,7 @@
|
|||||||
|
|
||||||
#include "auth/exceptions.hpp"
|
#include "auth/exceptions.hpp"
|
||||||
|
|
||||||
namespace auth {
|
namespace memgraph::auth {
|
||||||
|
|
||||||
const std::string EncryptPassword(const std::string &password) {
|
const std::string EncryptPassword(const std::string &password) {
|
||||||
char salt[BCRYPT_HASHSIZE];
|
char salt[BCRYPT_HASHSIZE];
|
||||||
char hash[BCRYPT_HASHSIZE];
|
char hash[BCRYPT_HASHSIZE];
|
||||||
@@ -40,4 +39,4 @@ bool VerifyPassword(const std::string &password, const std::string &hash) {
|
|||||||
return ret == 0;
|
return ret == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace auth
|
} // namespace memgraph::auth
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Memgraph Ltd.
|
// Copyright 2022 Memgraph Ltd.
|
||||||
//
|
//
|
||||||
// Licensed as a Memgraph Enterprise file under the Memgraph Enterprise
|
// Licensed as a Memgraph Enterprise file under the Memgraph Enterprise
|
||||||
// License (the "License"); by using this file, you agree to be bound by the terms of the License, and you may not use
|
// License (the "License"); by using this file, you agree to be bound by the terms of the License, and you may not use
|
||||||
@@ -10,12 +10,11 @@
|
|||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
namespace auth {
|
namespace memgraph::auth {
|
||||||
|
|
||||||
/// @throw AuthException if unable to encrypt the password.
|
/// @throw AuthException if unable to encrypt the password.
|
||||||
const std::string EncryptPassword(const std::string &password);
|
const std::string EncryptPassword(const std::string &password);
|
||||||
|
|
||||||
/// @throw AuthException if unable to verify the password.
|
/// @throw AuthException if unable to verify the password.
|
||||||
bool VerifyPassword(const std::string &password, const std::string &hash);
|
bool VerifyPassword(const std::string &password, const std::string &hash);
|
||||||
|
|
||||||
} // namespace auth
|
} // namespace memgraph::auth
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Memgraph Ltd.
|
// Copyright 2022 Memgraph Ltd.
|
||||||
//
|
//
|
||||||
// Use of this software is governed by the Business Source License
|
// Use of this software is governed by the Business Source License
|
||||||
// included in the file licenses/BSL.txt; by using this file, you agree to be bound by the terms of the Business Source
|
// included in the file licenses/BSL.txt; by using this file, you agree to be bound by the terms of the Business Source
|
||||||
@@ -13,8 +13,7 @@
|
|||||||
|
|
||||||
#include "utils/exceptions.hpp"
|
#include "utils/exceptions.hpp"
|
||||||
|
|
||||||
namespace auth {
|
namespace memgraph::auth {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This exception class is thrown for all exceptions that can occur when dealing
|
* This exception class is thrown for all exceptions that can occur when dealing
|
||||||
* with the Auth library.
|
* with the Auth library.
|
||||||
@@ -23,4 +22,4 @@ class AuthException : public utils::BasicException {
|
|||||||
public:
|
public:
|
||||||
using utils::BasicException::BasicException;
|
using utils::BasicException::BasicException;
|
||||||
};
|
};
|
||||||
} // namespace auth
|
} // namespace memgraph::auth
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Memgraph Ltd.
|
// Copyright 2022 Memgraph Ltd.
|
||||||
//
|
//
|
||||||
// Licensed as a Memgraph Enterprise file under the Memgraph Enterprise
|
// Licensed as a Memgraph Enterprise file under the Memgraph Enterprise
|
||||||
// License (the "License"); by using this file, you agree to be bound by the terms of the License, and you may not use
|
// License (the "License"); by using this file, you agree to be bound by the terms of the License, and you may not use
|
||||||
@@ -22,13 +22,23 @@
|
|||||||
// NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables)
|
// NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables)
|
||||||
DEFINE_bool(auth_password_permit_null, true, "Set to false to disable null passwords.");
|
DEFINE_bool(auth_password_permit_null, true, "Set to false to disable null passwords.");
|
||||||
|
|
||||||
constexpr std::string_view default_password_regex = ".+";
|
inline constexpr std::string_view default_password_regex = ".+";
|
||||||
// NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables)
|
// NOLINTNEXTLINE(cppcoreguidelines-avoid-non-const-global-variables)
|
||||||
DEFINE_string(auth_password_strength_regex, default_password_regex.data(),
|
DEFINE_string(auth_password_strength_regex, default_password_regex.data(),
|
||||||
"The regular expression that should be used to match the entire "
|
"The regular expression that should be used to match the entire "
|
||||||
"entered password to ensure its strength.");
|
"entered password to ensure its strength.");
|
||||||
|
|
||||||
namespace auth {
|
namespace memgraph::auth {
|
||||||
|
namespace {
|
||||||
|
// Constant list of all available permissions.
|
||||||
|
const std::vector<Permission> kPermissionsAll = {
|
||||||
|
Permission::MATCH, Permission::CREATE, Permission::MERGE, Permission::DELETE,
|
||||||
|
Permission::SET, Permission::REMOVE, Permission::INDEX, Permission::STATS,
|
||||||
|
Permission::CONSTRAINT, Permission::DUMP, Permission::AUTH, Permission::REPLICATION,
|
||||||
|
Permission::DURABILITY, Permission::READ_FILE, Permission::FREE_MEMORY, Permission::TRIGGER,
|
||||||
|
Permission::CONFIG, Permission::STREAM, Permission::MODULE_READ, Permission::MODULE_WRITE,
|
||||||
|
Permission::WEBSOCKET, Permission::SCHEMA};
|
||||||
|
} // namespace
|
||||||
|
|
||||||
std::string PermissionToString(Permission permission) {
|
std::string PermissionToString(Permission permission) {
|
||||||
switch (permission) {
|
switch (permission) {
|
||||||
@@ -68,6 +78,14 @@ std::string PermissionToString(Permission permission) {
|
|||||||
return "AUTH";
|
return "AUTH";
|
||||||
case Permission::STREAM:
|
case Permission::STREAM:
|
||||||
return "STREAM";
|
return "STREAM";
|
||||||
|
case Permission::MODULE_READ:
|
||||||
|
return "MODULE_READ";
|
||||||
|
case Permission::MODULE_WRITE:
|
||||||
|
return "MODULE_WRITE";
|
||||||
|
case Permission::WEBSOCKET:
|
||||||
|
return "WEBSOCKET";
|
||||||
|
case Permission::SCHEMA:
|
||||||
|
return "SCHEMA";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -286,4 +304,4 @@ bool operator==(const User &first, const User &second) {
|
|||||||
return first.username_ == second.username_ && first.password_hash_ == second.password_hash_ &&
|
return first.username_ == second.username_ && first.password_hash_ == second.password_hash_ &&
|
||||||
first.permissions_ == second.permissions_ && first.role_ == second.role_;
|
first.permissions_ == second.permissions_ && first.role_ == second.role_;
|
||||||
}
|
}
|
||||||
} // namespace auth
|
} // namespace memgraph::auth
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Memgraph Ltd.
|
// Copyright 2022 Memgraph Ltd.
|
||||||
//
|
//
|
||||||
// Licensed as a Memgraph Enterprise file under the Memgraph Enterprise
|
// Licensed as a Memgraph Enterprise file under the Memgraph Enterprise
|
||||||
// License (the "License"); by using this file, you agree to be bound by the terms of the License, and you may not use
|
// License (the "License"); by using this file, you agree to be bound by the terms of the License, and you may not use
|
||||||
@@ -13,41 +13,36 @@
|
|||||||
|
|
||||||
#include <json/json.hpp>
|
#include <json/json.hpp>
|
||||||
|
|
||||||
namespace auth {
|
namespace memgraph::auth {
|
||||||
|
|
||||||
// These permissions must have values that are applicable for usage in a
|
// These permissions must have values that are applicable for usage in a
|
||||||
// bitmask.
|
// bitmask.
|
||||||
// clang-format off
|
// clang-format off
|
||||||
enum class Permission : uint64_t {
|
enum class Permission : uint64_t {
|
||||||
MATCH = 1,
|
MATCH = 1,
|
||||||
CREATE = 1U << 1U,
|
CREATE = 1U << 1U,
|
||||||
MERGE = 1U << 2U,
|
MERGE = 1U << 2U,
|
||||||
DELETE = 1U << 3U,
|
DELETE = 1U << 3U,
|
||||||
SET = 1U << 4U,
|
SET = 1U << 4U,
|
||||||
REMOVE = 1U << 5U,
|
REMOVE = 1U << 5U,
|
||||||
INDEX = 1U << 6U,
|
INDEX = 1U << 6U,
|
||||||
STATS = 1U << 7U,
|
STATS = 1U << 7U,
|
||||||
CONSTRAINT = 1U << 8U,
|
CONSTRAINT = 1U << 8U,
|
||||||
DUMP = 1U << 9U,
|
DUMP = 1U << 9U,
|
||||||
REPLICATION = 1U << 10U,
|
REPLICATION = 1U << 10U,
|
||||||
DURABILITY = 1U << 11U,
|
DURABILITY = 1U << 11U,
|
||||||
READ_FILE = 1U << 12U,
|
READ_FILE = 1U << 12U,
|
||||||
FREE_MEMORY = 1U << 13U,
|
FREE_MEMORY = 1U << 13U,
|
||||||
TRIGGER = 1U << 14U,
|
TRIGGER = 1U << 14U,
|
||||||
CONFIG = 1U << 15U,
|
CONFIG = 1U << 15U,
|
||||||
AUTH = 1U << 16U,
|
AUTH = 1U << 16U,
|
||||||
STREAM = 1U << 17U
|
STREAM = 1U << 17U,
|
||||||
|
MODULE_READ = 1U << 18U,
|
||||||
|
MODULE_WRITE = 1U << 19U,
|
||||||
|
WEBSOCKET = 1U << 20U,
|
||||||
|
SCHEMA = 1U << 21U
|
||||||
};
|
};
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
// Constant list of all available permissions.
|
|
||||||
const std::vector<Permission> kPermissionsAll = {Permission::MATCH, Permission::CREATE, Permission::MERGE,
|
|
||||||
Permission::DELETE, Permission::SET, Permission::REMOVE,
|
|
||||||
Permission::INDEX, Permission::STATS, Permission::CONSTRAINT,
|
|
||||||
Permission::DUMP, Permission::AUTH, Permission::REPLICATION,
|
|
||||||
Permission::DURABILITY, Permission::READ_FILE, Permission::FREE_MEMORY,
|
|
||||||
Permission::TRIGGER, Permission::CONFIG, Permission::STREAM};
|
|
||||||
|
|
||||||
// Function that converts a permission to its string representation.
|
// Function that converts a permission to its string representation.
|
||||||
std::string PermissionToString(Permission permission);
|
std::string PermissionToString(Permission permission);
|
||||||
|
|
||||||
@@ -159,4 +154,4 @@ class User final {
|
|||||||
};
|
};
|
||||||
|
|
||||||
bool operator==(const User &first, const User &second);
|
bool operator==(const User &first, const User &second);
|
||||||
} // namespace auth
|
} // namespace memgraph::auth
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Memgraph Ltd.
|
// Copyright 2022 Memgraph Ltd.
|
||||||
//
|
//
|
||||||
// Licensed as a Memgraph Enterprise file under the Memgraph Enterprise
|
// Licensed as a Memgraph Enterprise file under the Memgraph Enterprise
|
||||||
// License (the "License"); by using this file, you agree to be bound by the terms of the License, and you may not use
|
// License (the "License"); by using this file, you agree to be bound by the terms of the License, and you may not use
|
||||||
@@ -153,7 +153,7 @@ int Target(void *arg) {
|
|||||||
// process and something really bad could happen.
|
// process and something really bad could happen.
|
||||||
|
|
||||||
// Get a pointer to the passed arguments.
|
// Get a pointer to the passed arguments.
|
||||||
auto *ta = reinterpret_cast<auth::TargetArguments *>(arg);
|
auto *ta = reinterpret_cast<memgraph::auth::TargetArguments *>(arg);
|
||||||
|
|
||||||
// Redirect `stdin` to `/dev/null`.
|
// Redirect `stdin` to `/dev/null`.
|
||||||
int fd = open("/dev/null", O_RDONLY | O_CLOEXEC);
|
int fd = open("/dev/null", O_RDONLY | O_CLOEXEC);
|
||||||
@@ -312,8 +312,7 @@ nlohmann::json GetData(int fd, int timeout_millisec) {
|
|||||||
|
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
namespace auth {
|
namespace memgraph::auth {
|
||||||
|
|
||||||
Module::Module(const std::filesystem::path &module_executable_path) {
|
Module::Module(const std::filesystem::path &module_executable_path) {
|
||||||
if (!module_executable_path.empty()) {
|
if (!module_executable_path.empty()) {
|
||||||
module_executable_path_ = std::filesystem::absolute(module_executable_path);
|
module_executable_path_ = std::filesystem::absolute(module_executable_path);
|
||||||
@@ -447,4 +446,4 @@ void Module::Shutdown() {
|
|||||||
|
|
||||||
Module::~Module() { Shutdown(); }
|
Module::~Module() { Shutdown(); }
|
||||||
|
|
||||||
} // namespace auth
|
} // namespace memgraph::auth
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Memgraph Ltd.
|
// Copyright 2022 Memgraph Ltd.
|
||||||
//
|
//
|
||||||
// Licensed as a Memgraph Enterprise file under the Memgraph Enterprise
|
// Licensed as a Memgraph Enterprise file under the Memgraph Enterprise
|
||||||
// License (the "License"); by using this file, you agree to be bound by the terms of the License, and you may not use
|
// License (the "License"); by using this file, you agree to be bound by the terms of the License, and you may not use
|
||||||
@@ -16,8 +16,7 @@
|
|||||||
|
|
||||||
#include <json/json.hpp>
|
#include <json/json.hpp>
|
||||||
|
|
||||||
namespace auth {
|
namespace memgraph::auth {
|
||||||
|
|
||||||
struct TargetArguments {
|
struct TargetArguments {
|
||||||
std::filesystem::path module_executable_path;
|
std::filesystem::path module_executable_path;
|
||||||
int pipe_to_module{-1};
|
int pipe_to_module{-1};
|
||||||
@@ -70,4 +69,4 @@ class Module final {
|
|||||||
int pipe_from_module_[2] = {-1, -1};
|
int pipe_from_module_[2] = {-1, -1};
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace auth
|
} // namespace memgraph::auth
|
||||||
|
|||||||
68
src/common/errors.hpp
Normal file
68
src/common/errors.hpp
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
// Copyright 2022 Memgraph Ltd.
|
||||||
|
//
|
||||||
|
// Use of this software is governed by the Business Source License
|
||||||
|
// included in the file licenses/BSL.txt; by using this file, you agree to be bound by the terms of the Business Source
|
||||||
|
// License, and you may not use this file except in compliance with the Business Source License.
|
||||||
|
//
|
||||||
|
// As of the Change Date specified in that file, in accordance with
|
||||||
|
// the Business Source License, use of this software will be governed
|
||||||
|
// by the Apache License, Version 2.0, included in the file
|
||||||
|
// licenses/APL.txt.
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <cstdint>
|
||||||
|
#include <string_view>
|
||||||
|
|
||||||
|
namespace memgraph::common {
|
||||||
|
|
||||||
|
enum class ErrorCode : uint8_t {
|
||||||
|
SERIALIZATION_ERROR,
|
||||||
|
NONEXISTENT_OBJECT,
|
||||||
|
DELETED_OBJECT,
|
||||||
|
VERTEX_HAS_EDGES,
|
||||||
|
PROPERTIES_DISABLED,
|
||||||
|
VERTEX_ALREADY_INSERTED,
|
||||||
|
// Schema Violations
|
||||||
|
SCHEMA_NO_SCHEMA_DEFINED_FOR_LABEL,
|
||||||
|
SCHEMA_VERTEX_PROPERTY_WRONG_TYPE,
|
||||||
|
SCHEMA_VERTEX_UPDATE_PRIMARY_KEY,
|
||||||
|
SCHEMA_VERTEX_UPDATE_PRIMARY_LABEL,
|
||||||
|
SCHEMA_VERTEX_SECONDARY_LABEL_IS_PRIMARY,
|
||||||
|
SCHEMA_VERTEX_PRIMARY_PROPERTIES_UNDEFINED,
|
||||||
|
|
||||||
|
OBJECT_NOT_FOUND,
|
||||||
|
};
|
||||||
|
|
||||||
|
constexpr std::string_view ErrorCodeToString(const ErrorCode code) {
|
||||||
|
switch (code) {
|
||||||
|
case ErrorCode::SERIALIZATION_ERROR:
|
||||||
|
return "SERIALIZATION_ERROR";
|
||||||
|
case ErrorCode::NONEXISTENT_OBJECT:
|
||||||
|
return "NONEXISTENT_OBJECT";
|
||||||
|
case ErrorCode::DELETED_OBJECT:
|
||||||
|
return "DELETED_OBJECT";
|
||||||
|
case ErrorCode::VERTEX_HAS_EDGES:
|
||||||
|
return "VERTEX_HAS_EDGES";
|
||||||
|
case ErrorCode::PROPERTIES_DISABLED:
|
||||||
|
return "PROPERTIES_DISABLED";
|
||||||
|
case ErrorCode::VERTEX_ALREADY_INSERTED:
|
||||||
|
return "VERTEX_ALREADY_INSERTED";
|
||||||
|
case ErrorCode::SCHEMA_NO_SCHEMA_DEFINED_FOR_LABEL:
|
||||||
|
return "SCHEMA_NO_SCHEMA_DEFINED_FOR_LABEL";
|
||||||
|
case ErrorCode::SCHEMA_VERTEX_PROPERTY_WRONG_TYPE:
|
||||||
|
return "SCHEMA_VERTEX_PROPERTY_WRONG_TYPE";
|
||||||
|
case ErrorCode::SCHEMA_VERTEX_UPDATE_PRIMARY_KEY:
|
||||||
|
return "SCHEMA_VERTEX_UPDATE_PRIMARY_KEY";
|
||||||
|
case ErrorCode::SCHEMA_VERTEX_UPDATE_PRIMARY_LABEL:
|
||||||
|
return "SCHEMA_VERTEX_UPDATE_PRIMARY_LABEL";
|
||||||
|
case ErrorCode::SCHEMA_VERTEX_SECONDARY_LABEL_IS_PRIMARY:
|
||||||
|
return "SCHEMA_VERTEX_SECONDARY_LABEL_IS_PRIMARY";
|
||||||
|
case ErrorCode::SCHEMA_VERTEX_PRIMARY_PROPERTIES_UNDEFINED:
|
||||||
|
return "SCHEMA_VERTEX_PRIMARY_PROPERTIES_UNDEFINED";
|
||||||
|
case ErrorCode::OBJECT_NOT_FOUND:
|
||||||
|
return "OBJECT_NOT_FOUND";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace memgraph::common
|
||||||
19
src/common/types.hpp
Normal file
19
src/common/types.hpp
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
// Copyright 2022 Memgraph Ltd.
|
||||||
|
//
|
||||||
|
// Use of this software is governed by the Business Source License
|
||||||
|
// included in the file licenses/BSL.txt; by using this file, you agree to be bound by the terms of the Business Source
|
||||||
|
// License, and you may not use this file except in compliance with the Business Source License.
|
||||||
|
//
|
||||||
|
// As of the Change Date specified in that file, in accordance with
|
||||||
|
// the Business Source License, use of this software will be governed
|
||||||
|
// by the Apache License, Version 2.0, included in the file
|
||||||
|
// licenses/APL.txt.
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <cstdint>
|
||||||
|
|
||||||
|
namespace memgraph::common {
|
||||||
|
enum class SchemaType : uint8_t { BOOL, INT, STRING, DATE, LOCALTIME, LOCALDATETIME, DURATION };
|
||||||
|
|
||||||
|
} // namespace memgraph::common
|
||||||
@@ -1,4 +1,11 @@
|
|||||||
|
find_package(fmt REQUIRED)
|
||||||
|
find_package(gflags REQUIRED)
|
||||||
|
|
||||||
set(communication_src_files
|
set(communication_src_files
|
||||||
|
websocket/auth.cpp
|
||||||
|
websocket/server.cpp
|
||||||
|
websocket/listener.cpp
|
||||||
|
websocket/session.cpp
|
||||||
bolt/v1/value.cpp
|
bolt/v1/value.cpp
|
||||||
buffer.cpp
|
buffer.cpp
|
||||||
client.cpp
|
client.cpp
|
||||||
@@ -6,8 +13,10 @@ set(communication_src_files
|
|||||||
helpers.cpp
|
helpers.cpp
|
||||||
init.cpp)
|
init.cpp)
|
||||||
|
|
||||||
|
find_package(Boost REQUIRED)
|
||||||
|
|
||||||
add_library(mg-communication STATIC ${communication_src_files})
|
add_library(mg-communication STATIC ${communication_src_files})
|
||||||
target_link_libraries(mg-communication Threads::Threads mg-utils mg-io fmt gflags)
|
target_link_libraries(mg-communication Boost::headers Threads::Threads mg-utils mg-io mg-auth fmt::fmt gflags)
|
||||||
|
|
||||||
find_package(OpenSSL REQUIRED)
|
find_package(OpenSSL REQUIRED)
|
||||||
target_link_libraries(mg-communication ${OPENSSL_LIBRARIES})
|
target_link_libraries(mg-communication ${OPENSSL_LIBRARIES})
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Memgraph Ltd.
|
// Copyright 2022 Memgraph Ltd.
|
||||||
//
|
//
|
||||||
// Use of this software is governed by the Business Source License
|
// Use of this software is governed by the Business Source License
|
||||||
// included in the file licenses/BSL.txt; by using this file, you agree to be bound by the terms of the Business Source
|
// included in the file licenses/BSL.txt; by using this file, you agree to be bound by the terms of the Business Source
|
||||||
@@ -21,7 +21,7 @@
|
|||||||
#include "utils/exceptions.hpp"
|
#include "utils/exceptions.hpp"
|
||||||
#include "utils/logging.hpp"
|
#include "utils/logging.hpp"
|
||||||
|
|
||||||
namespace communication::bolt {
|
namespace memgraph::communication::bolt {
|
||||||
|
|
||||||
/// This exception is thrown whenever an error occurs during query execution
|
/// This exception is thrown whenever an error occurs during query execution
|
||||||
/// that isn't fatal (eg. mistyped query or some transient error occurred).
|
/// that isn't fatal (eg. mistyped query or some transient error occurred).
|
||||||
@@ -315,4 +315,4 @@ class Client final {
|
|||||||
ChunkedEncoderBuffer<communication::ClientOutputStream> encoder_buffer_{output_stream_};
|
ChunkedEncoderBuffer<communication::ClientOutputStream> encoder_buffer_{output_stream_};
|
||||||
ClientEncoder<ChunkedEncoderBuffer<communication::ClientOutputStream>> encoder_{encoder_buffer_};
|
ClientEncoder<ChunkedEncoderBuffer<communication::ClientOutputStream>> encoder_{encoder_buffer_};
|
||||||
};
|
};
|
||||||
} // namespace communication::bolt
|
} // namespace memgraph::communication::bolt
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Memgraph Ltd.
|
// Copyright 2022 Memgraph Ltd.
|
||||||
//
|
//
|
||||||
// Use of this software is governed by the Business Source License
|
// Use of this software is governed by the Business Source License
|
||||||
// included in the file licenses/BSL.txt; by using this file, you agree to be bound by the terms of the Business Source
|
// included in the file licenses/BSL.txt; by using this file, you agree to be bound by the terms of the Business Source
|
||||||
@@ -13,10 +13,10 @@
|
|||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
namespace communication::bolt {
|
namespace memgraph::communication::bolt {
|
||||||
|
|
||||||
static constexpr uint8_t kPreamble[4] = {0x60, 0x60, 0xB0, 0x17};
|
inline constexpr uint8_t kPreamble[4] = {0x60, 0x60, 0xB0, 0x17};
|
||||||
static constexpr uint8_t kProtocol[4] = {0x00, 0x00, 0x00, 0x01};
|
inline constexpr uint8_t kProtocol[4] = {0x00, 0x00, 0x00, 0x01};
|
||||||
|
|
||||||
enum class Signature : uint8_t {
|
enum class Signature : uint8_t {
|
||||||
Noop = 0x00,
|
Noop = 0x00,
|
||||||
@@ -95,9 +95,9 @@ enum class Marker : uint8_t {
|
|||||||
Struct16 = 0xDD,
|
Struct16 = 0xDD,
|
||||||
};
|
};
|
||||||
|
|
||||||
static constexpr uint8_t MarkerString = 0, MarkerList = 1, MarkerMap = 2;
|
inline constexpr uint8_t MarkerString = 0, MarkerList = 1, MarkerMap = 2;
|
||||||
static constexpr Marker MarkerTiny[3] = {Marker::TinyString, Marker::TinyList, Marker::TinyMap};
|
inline constexpr Marker MarkerTiny[3] = {Marker::TinyString, Marker::TinyList, Marker::TinyMap};
|
||||||
static constexpr Marker Marker8[3] = {Marker::String8, Marker::List8, Marker::Map8};
|
inline constexpr Marker Marker8[3] = {Marker::String8, Marker::List8, Marker::Map8};
|
||||||
static constexpr Marker Marker16[3] = {Marker::String16, Marker::List16, Marker::Map16};
|
inline constexpr Marker Marker16[3] = {Marker::String16, Marker::List16, Marker::Map16};
|
||||||
static constexpr Marker Marker32[3] = {Marker::String32, Marker::List32, Marker::Map32};
|
inline constexpr Marker Marker32[3] = {Marker::String32, Marker::List32, Marker::Map32};
|
||||||
} // namespace communication::bolt
|
} // namespace memgraph::communication::bolt
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Memgraph Ltd.
|
// Copyright 2022 Memgraph Ltd.
|
||||||
//
|
//
|
||||||
// Use of this software is governed by the Business Source License
|
// Use of this software is governed by the Business Source License
|
||||||
// included in the file licenses/BSL.txt; by using this file, you agree to be bound by the terms of the Business Source
|
// included in the file licenses/BSL.txt; by using this file, you agree to be bound by the terms of the Business Source
|
||||||
@@ -14,22 +14,22 @@
|
|||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
namespace communication::bolt {
|
namespace memgraph::communication::bolt {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sizes related to the chunk defined in Bolt protocol.
|
* Sizes related to the chunk defined in Bolt protocol.
|
||||||
*/
|
*/
|
||||||
static constexpr size_t kChunkHeaderSize = 2;
|
inline constexpr size_t kChunkHeaderSize = 2;
|
||||||
static constexpr size_t kChunkMaxDataSize = 65535;
|
inline constexpr size_t kChunkMaxDataSize = 65535;
|
||||||
static constexpr size_t kChunkWholeSize = kChunkHeaderSize + kChunkMaxDataSize;
|
inline constexpr size_t kChunkWholeSize = kChunkHeaderSize + kChunkMaxDataSize;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handshake size defined in the Bolt protocol.
|
* Handshake size defined in the Bolt protocol.
|
||||||
*/
|
*/
|
||||||
static constexpr size_t kHandshakeSize = 20;
|
inline constexpr size_t kHandshakeSize = 20;
|
||||||
|
|
||||||
static constexpr uint16_t kSupportedVersions[] = {0x0100, 0x0400, 0x0401, 0x0403};
|
inline constexpr uint16_t kSupportedVersions[] = {0x0100, 0x0400, 0x0401, 0x0403};
|
||||||
|
|
||||||
static constexpr int kPullAll = -1;
|
inline constexpr int kPullAll = -1;
|
||||||
static constexpr int kPullLast = -1;
|
inline constexpr int kPullLast = -1;
|
||||||
} // namespace communication::bolt
|
} // namespace memgraph::communication::bolt
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Memgraph Ltd.
|
// Copyright 2022 Memgraph Ltd.
|
||||||
//
|
//
|
||||||
// Use of this software is governed by the Business Source License
|
// Use of this software is governed by the Business Source License
|
||||||
// included in the file licenses/BSL.txt; by using this file, you agree to be bound by the terms of the Business Source
|
// included in the file licenses/BSL.txt; by using this file, you agree to be bound by the terms of the Business Source
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
|
|
||||||
#include "communication/bolt/v1/constants.hpp"
|
#include "communication/bolt/v1/constants.hpp"
|
||||||
|
|
||||||
namespace communication::bolt {
|
namespace memgraph::communication::bolt {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class is used as the return value of the GetChunk function of the
|
* This class is used as the return value of the GetChunk function of the
|
||||||
@@ -136,4 +136,4 @@ class ChunkedDecoderBuffer {
|
|||||||
std::vector<uint8_t> data_;
|
std::vector<uint8_t> data_;
|
||||||
size_t pos_{0};
|
size_t pos_{0};
|
||||||
};
|
};
|
||||||
} // namespace communication::bolt
|
} // namespace memgraph::communication::bolt
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Memgraph Ltd.
|
// Copyright 2022 Memgraph Ltd.
|
||||||
//
|
//
|
||||||
// Use of this software is governed by the Business Source License
|
// Use of this software is governed by the Business Source License
|
||||||
// included in the file licenses/BSL.txt; by using this file, you agree to be bound by the terms of the Business Source
|
// included in the file licenses/BSL.txt; by using this file, you agree to be bound by the terms of the Business Source
|
||||||
@@ -22,7 +22,7 @@
|
|||||||
#include "utils/logging.hpp"
|
#include "utils/logging.hpp"
|
||||||
#include "utils/temporal.hpp"
|
#include "utils/temporal.hpp"
|
||||||
|
|
||||||
namespace communication::bolt {
|
namespace memgraph::communication::bolt {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Bolt Decoder.
|
* Bolt Decoder.
|
||||||
@@ -591,4 +591,4 @@ class Decoder {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
} // namespace communication::bolt
|
} // namespace memgraph::communication::bolt
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Memgraph Ltd.
|
// Copyright 2022 Memgraph Ltd.
|
||||||
//
|
//
|
||||||
// Use of this software is governed by the Business Source License
|
// Use of this software is governed by the Business Source License
|
||||||
// included in the file licenses/BSL.txt; by using this file, you agree to be bound by the terms of the Business Source
|
// included in the file licenses/BSL.txt; by using this file, you agree to be bound by the terms of the Business Source
|
||||||
@@ -22,7 +22,7 @@ static_assert(std::is_same_v<std::uint8_t, char> || std::is_same_v<std::uint8_t,
|
|||||||
"communication::bolt::Encoder requires uint8_t to be "
|
"communication::bolt::Encoder requires uint8_t to be "
|
||||||
"implemented as char or unsigned char.");
|
"implemented as char or unsigned char.");
|
||||||
|
|
||||||
namespace communication::bolt {
|
namespace memgraph::communication::bolt {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Bolt BaseEncoder. Has public interfaces for writing Bolt encoded data.
|
* Bolt BaseEncoder. Has public interfaces for writing Bolt encoded data.
|
||||||
@@ -273,4 +273,4 @@ class BaseEncoder {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace communication::bolt
|
} // namespace memgraph::communication::bolt
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Memgraph Ltd.
|
// Copyright 2022 Memgraph Ltd.
|
||||||
//
|
//
|
||||||
// Use of this software is governed by the Business Source License
|
// Use of this software is governed by the Business Source License
|
||||||
// included in the file licenses/BSL.txt; by using this file, you agree to be bound by the terms of the Business Source
|
// included in the file licenses/BSL.txt; by using this file, you agree to be bound by the terms of the Business Source
|
||||||
@@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
#include "communication/bolt/v1/constants.hpp"
|
#include "communication/bolt/v1/constants.hpp"
|
||||||
|
|
||||||
namespace communication::bolt {
|
namespace memgraph::communication::bolt {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief ChunkedEncoderBuffer
|
* @brief ChunkedEncoderBuffer
|
||||||
@@ -123,4 +123,4 @@ class ChunkedEncoderBuffer {
|
|||||||
// Amount of data in chunk array.
|
// Amount of data in chunk array.
|
||||||
size_t have_{0};
|
size_t have_{0};
|
||||||
};
|
};
|
||||||
} // namespace communication::bolt
|
} // namespace memgraph::communication::bolt
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Memgraph Ltd.
|
// Copyright 2022 Memgraph Ltd.
|
||||||
//
|
//
|
||||||
// Use of this software is governed by the Business Source License
|
// Use of this software is governed by the Business Source License
|
||||||
// included in the file licenses/BSL.txt; by using this file, you agree to be bound by the terms of the Business Source
|
// included in the file licenses/BSL.txt; by using this file, you agree to be bound by the terms of the Business Source
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
#include "communication/bolt/v1/codes.hpp"
|
#include "communication/bolt/v1/codes.hpp"
|
||||||
#include "communication/bolt/v1/encoder/base_encoder.hpp"
|
#include "communication/bolt/v1/encoder/base_encoder.hpp"
|
||||||
|
|
||||||
namespace communication::bolt {
|
namespace memgraph::communication::bolt {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Bolt Client Encoder.
|
* Bolt Client Encoder.
|
||||||
@@ -169,4 +169,4 @@ class ClientEncoder : private BaseEncoder<Buffer> {
|
|||||||
return buffer_.Flush();
|
return buffer_.Flush();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
} // namespace communication::bolt
|
} // namespace memgraph::communication::bolt
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Memgraph Ltd.
|
// Copyright 2022 Memgraph Ltd.
|
||||||
//
|
//
|
||||||
// Use of this software is governed by the Business Source License
|
// Use of this software is governed by the Business Source License
|
||||||
// included in the file licenses/BSL.txt; by using this file, you agree to be bound by the terms of the Business Source
|
// included in the file licenses/BSL.txt; by using this file, you agree to be bound by the terms of the Business Source
|
||||||
@@ -14,7 +14,7 @@
|
|||||||
#include "communication/bolt/v1/codes.hpp"
|
#include "communication/bolt/v1/codes.hpp"
|
||||||
#include "communication/bolt/v1/encoder/base_encoder.hpp"
|
#include "communication/bolt/v1/encoder/base_encoder.hpp"
|
||||||
|
|
||||||
namespace communication::bolt {
|
namespace memgraph::communication::bolt {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Bolt Encoder.
|
* Bolt Encoder.
|
||||||
@@ -158,4 +158,4 @@ class Encoder : private BaseEncoder<Buffer> {
|
|||||||
return buffer_.Flush();
|
return buffer_.Flush();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
} // namespace communication::bolt
|
} // namespace memgraph::communication::bolt
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Memgraph Ltd.
|
// Copyright 2022 Memgraph Ltd.
|
||||||
//
|
//
|
||||||
// Use of this software is governed by the Business Source License
|
// Use of this software is governed by the Business Source License
|
||||||
// included in the file licenses/BSL.txt; by using this file, you agree to be bound by the terms of the Business Source
|
// included in the file licenses/BSL.txt; by using this file, you agree to be bound by the terms of the Business Source
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
#include "utils/exceptions.hpp"
|
#include "utils/exceptions.hpp"
|
||||||
|
|
||||||
namespace communication::bolt {
|
namespace memgraph::communication::bolt {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Used to indicate something is wrong with the client but the transaction is
|
* Used to indicate something is wrong with the client but the transaction is
|
||||||
@@ -83,4 +83,4 @@ class VerboseError : public utils::BasicException {
|
|||||||
std::string code_;
|
std::string code_;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace communication::bolt
|
} // namespace memgraph::communication::bolt
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Memgraph Ltd.
|
// Copyright 2022 Memgraph Ltd.
|
||||||
//
|
//
|
||||||
// Use of this software is governed by the Business Source License
|
// Use of this software is governed by the Business Source License
|
||||||
// included in the file licenses/BSL.txt; by using this file, you agree to be bound by the terms of the Business Source
|
// included in the file licenses/BSL.txt; by using this file, you agree to be bound by the terms of the Business Source
|
||||||
@@ -27,7 +27,7 @@
|
|||||||
#include "utils/exceptions.hpp"
|
#include "utils/exceptions.hpp"
|
||||||
#include "utils/logging.hpp"
|
#include "utils/logging.hpp"
|
||||||
|
|
||||||
namespace communication::bolt {
|
namespace memgraph::communication::bolt {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Bolt Session Exception
|
* Bolt Session Exception
|
||||||
@@ -195,4 +195,4 @@ class Session {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace communication::bolt
|
} // namespace memgraph::communication::bolt
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Memgraph Ltd.
|
// Copyright 2022 Memgraph Ltd.
|
||||||
//
|
//
|
||||||
// Use of this software is governed by the Business Source License
|
// Use of this software is governed by the Business Source License
|
||||||
// included in the file licenses/BSL.txt; by using this file, you agree to be bound by the terms of the Business Source
|
// included in the file licenses/BSL.txt; by using this file, you agree to be bound by the terms of the Business Source
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
namespace communication::bolt {
|
namespace memgraph::communication::bolt {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class represents states in execution of the Bolt protocol.
|
* This class represents states in execution of the Bolt protocol.
|
||||||
@@ -55,4 +55,4 @@ enum class State : uint8_t {
|
|||||||
*/
|
*/
|
||||||
Close
|
Close
|
||||||
};
|
};
|
||||||
} // namespace communication::bolt
|
} // namespace memgraph::communication::bolt
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Memgraph Ltd.
|
// Copyright 2022 Memgraph Ltd.
|
||||||
//
|
//
|
||||||
// Use of this software is governed by the Business Source License
|
// Use of this software is governed by the Business Source License
|
||||||
// included in the file licenses/BSL.txt; by using this file, you agree to be bound by the terms of the Business Source
|
// included in the file licenses/BSL.txt; by using this file, you agree to be bound by the terms of the Business Source
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
#include "utils/likely.hpp"
|
#include "utils/likely.hpp"
|
||||||
#include "utils/logging.hpp"
|
#include "utils/logging.hpp"
|
||||||
|
|
||||||
namespace communication::bolt {
|
namespace memgraph::communication::bolt {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Error state run function
|
* Error state run function
|
||||||
@@ -95,4 +95,4 @@ State StateErrorRun(TSession &session, State state) {
|
|||||||
return state;
|
return state;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} // namespace communication::bolt
|
} // namespace memgraph::communication::bolt
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
// Copyright 2021 Memgraph Ltd.
|
// Copyright 2022 Memgraph Ltd.
|
||||||
//
|
//
|
||||||
// Use of this software is governed by the Business Source License
|
// Use of this software is governed by the Business Source License
|
||||||
// included in the file licenses/BSL.txt; by using this file, you agree to be bound by the terms of the Business Source
|
// included in the file licenses/BSL.txt; by using this file, you agree to be bound by the terms of the Business Source
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
#include "utils/logging.hpp"
|
#include "utils/logging.hpp"
|
||||||
#include "utils/message.hpp"
|
#include "utils/message.hpp"
|
||||||
|
|
||||||
namespace communication::bolt {
|
namespace memgraph::communication::bolt {
|
||||||
|
|
||||||
template <typename TSession>
|
template <typename TSession>
|
||||||
State RunHandlerV1(Signature signature, TSession &session, State state, Marker marker) {
|
State RunHandlerV1(Signature signature, TSession &session, State state, Marker marker) {
|
||||||
@@ -74,7 +74,7 @@ State RunHandlerV4(Signature signature, TSession &session, State state, Marker m
|
|||||||
}
|
}
|
||||||
case Signature::Route: {
|
case Signature::Route: {
|
||||||
if constexpr (bolt_minor >= 3) {
|
if constexpr (bolt_minor >= 3) {
|
||||||
if (signature == Signature::Route) return HandleRoute<TSession>(session);
|
return HandleRoute<TSession>(session);
|
||||||
} else {
|
} else {
|
||||||
spdlog::trace("Supported only in bolt v4.3");
|
spdlog::trace("Supported only in bolt v4.3");
|
||||||
return State::Close;
|
return State::Close;
|
||||||
@@ -118,4 +118,4 @@ State StateExecutingRun(TSession &session, State state) {
|
|||||||
return State::Close;
|
return State::Close;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} // namespace communication::bolt
|
} // namespace memgraph::communication::bolt
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user