Files
mlib/doc/DEV.md
T
2018-03-31 10:05:24 +02:00

42 lines
1.3 KiB
Markdown

How to make a release?
======================
1) Check that all test pass on all primary systems.
Run 'make check' on all primary systems.
No error shall be reported.
2) Check that no memory leak is reported by valgrind:
Run 'make valgrind' in tests folder on a system.
NOTE: valgrind seems completly lost in all the tests which spawn a lot of threads.
3) Check that no undefined behavior, nor data race, ... is reported by sanitizer:
Run 'make sanitize' in tests folder on a system.
This needs at least GCC 7
4) Check that no new warning is reported by static analyser:
Run 'make scan-build' in tests folder on a system.
This needs at least clang 4.
Currently there is a false positive detected in m-shared:
"Argument to free() is offset by 8 bytes from the start of memory allocated by malloc()"
scan-build is not able to properly track that this case cannot open.
5) Check that coverage is reasonnable.
Run 'make coverage' and analyze result.
6) Publish the release
In case of problem, open a problem report.
List of primary systems
=======================
* gcc 4.9 on linux/x86-64
* gcc 7 on linux/x86-64
* clang 3.5 on linux/x86-64
* clang 4 on linux/x86-64
* g++ 7 on linux/x86-64
* clang++ 4 on linux/x86-64
* tcc on linux/x86-64
* gcc 6 on windows/x86-64