Commit graph

302 commits

Author SHA1 Message Date
Anton Kochkov
f610b1f38f
Fix Coverity CI submission 2021-04-02 20:06:00 +08:00
Anton Kochkov
8dd3a61171 Fix Coverity Scan CI job 2021-04-02 18:18:25 +08:00
Florian Märkl
1545129388 Enable RZ_ASSERT_STDOUT for a PR Job 2021-03-20 12:32:24 +01:00
Khairul Azhar Kasmiran
7a4f9b3201
Set CI buildtypes to highest opt level possible and set default buildtype to debugoptimized (#260)
* Set default meson buildtype to debugoptimized
* Add separate Codecov build and remove linux-meson-gcc-build build
* Set test buildtypes to highest optimization level possible
* Run Codecov build only on dev branch
2021-03-10 18:00:56 +08:00
Florian Märkl
820615969a
Make clang-format.py call clang-format just once (#801) 2021-03-09 23:31:58 +08:00
Riccardo Schirone
084ea0a424 build: improve documentation for static building 2021-03-03 09:57:10 +01:00
Riccardo Schirone
6491975461 ci: fix tag generated for container 2021-02-26 21:49:40 +01:00
Riccardo Schirone
e1dcc69150 ci: fix tags filter 2021-02-26 20:55:28 +01:00
Riccardo Schirone
e70999e9d8
ci: push Docker tag also for tagged release (#627) 2021-02-26 18:48:17 +01:00
Anton Kochkov
09a473bb23 Use 'fetch-depth: 2' for actions/checkout 2021-02-25 20:27:50 +08:00
Riccardo Schirone
0a66fcbae3 ci: use -Dportable when compiling static builds 2021-02-25 19:41:38 +08:00
Riccardo Schirone
66a0024c3d ci: adapt cmd_descs linter check to new layout 2021-02-25 10:19:13 +01:00
Riccardo Schirone
e09e77aa1b ci: detect changes to .yaml files as well 2021-02-25 10:19:13 +01:00
Riccardo Schirone
cfbaf9ba68 ci: make sure to run tree-sitter tests 2021-02-25 10:19:13 +01:00
Anton Kochkov
0e950fb172 Update used TinyCC commit 2021-02-22 17:02:56 +08:00
Alexis Ehret
ae3fcc9d08 Disable clang analysis CI 2021-02-21 20:22:15 +01:00
Anton Kochkov
d73c2eb5b6 Fix GitHub labeler 2021-02-20 12:46:43 +08:00
Khairul Azhar Kasmiran
9f8f765578
Add test for bb overlapping fcn start (#643)
* Add test for bb overlapping fcn start

* Run tests on test changes by adding test/ to whitelist in ci.yml, .appveyor.yml and tcc.yml
2021-02-17 19:37:47 +08:00
Alexis Ehret
efc5954eb9 Fix code-scanning filtering for javascript / python 2021-02-15 10:24:46 +01:00
Alexis Ehret
8eae11ae4e Fix coding style python files (black, isort) 2021-02-15 10:24:46 +01:00
Alexis Ehret
d6b99195a5 Add workflow linter python 2021-02-15 10:24:46 +01:00
Alexis Ehret
a3f99ecf19 Move the conditional skip for ci.yml 2021-02-15 09:52:07 +01:00
Alexis Ehret
7e10f714a4
Fix no git repository on master (CI) (#621) 2021-02-14 21:32:37 +01:00
Alexis Ehret
6ccd1d1926 Add filter step for ci.yml 2021-02-13 20:36:29 +01:00
Alexis Ehret
09d7de4148 Add filter step for tcc.yml 2021-02-13 20:36:29 +01:00
Alexis Ehret
a250dd0b74 Add filter step for code-scanning.yml 2021-02-13 20:36:29 +01:00
Alexis Ehret
535a677f3f Add filter step for linter.yml 2021-02-13 20:36:29 +01:00
Riccardo Schirone
f5a8be350d
CI: Make sure to test src tarball (#600) 2021-02-13 16:17:07 +01:00
Riccardo Schirone
af5ebbb925
Dockerfile: take rizin source code from context (#602) 2021-02-12 19:48:12 +01:00
Alexis Ehret
82d1464f94 Add prettier - js coding style 2021-02-12 17:30:02 +01:00
Riccardo Schirone
0caa4bdca1 ci: download all meson subprojects before building container 2021-02-12 11:08:51 +08:00
Riccardo Schirone
1ea1d265b6 Move libuv to meson subproject wrap
* disable werror on libuv, it would fail otherwise
* ci.yml: use --werror instead of changing CFLAGS
* keep libuv optional but used by default
2021-02-12 11:08:51 +08:00
Riccardo Schirone
af1b15e6b7 ci: install meson before using it in publish-docker-image 2021-02-11 23:38:02 +01:00
Riccardo Schirone
dc5d5f44c2 ci: pre-download meson subprojects because of no-network containers 2021-02-11 23:35:47 +01:00
Alexis Ehret
6a95f3f233 Refacto code scanning CI with matrix 2021-02-11 17:29:58 +01:00
Alexis Ehret
a45388ff75 Update code analysis: treat warnings as errors 2021-02-11 17:29:58 +01:00
Alexis Ehret
b81c9894ac Merge all code scanning (CI) files 2021-02-11 17:29:58 +01:00
Anton Kochkov
cca2e0b7a1 Fix TinyCC CI build 2021-02-11 19:50:33 +08:00
Alexis Ehret
6820f2e0fa Add paths ignore (clang, codeql) with jq 2021-02-11 11:05:08 +01:00
Alexis Ehret
19f0699115 Add ignore paths codeql, remove CI warnings
* Add ignore paths for codeql analysis (python, javascript)
* Remove checkout HEAD^2 from codeql analysis
* Disable setup python dependencies codeql
2021-02-10 22:12:28 +01:00
Riccardo Schirone
23b9304e3e
Use gzip when compressing android release archives (#575) 2021-02-10 22:33:09 +08:00
Riccardo Schirone
3b4ed65c66
Provide both x86/x64 windows installers (#548) 2021-02-09 20:46:02 +00:00
Alexis Ehret
49e1874b09 Add flag diff sys/clang-format.py 2021-02-08 21:44:10 +01:00
yossizap
9ea2984174
Add gdbserver tests ##test (#502) 2021-02-06 12:09:53 +01:00
Khairul Azhar Kasmiran
169d7e5bce
Rename clang_format GHA to clang-format (#520) 2021-02-04 19:49:39 +08:00
Alexis Ehret
81692416db Add worflow clang-format 2021-02-04 07:19:19 -01:00
Riccardo Schirone
f8291ee3c1
Switch to meson subprojects and wraps
* Remove tree-sitter/sdb git submodules and move them to meson subprojects/wraps
* Use meson subprojects/wraps to get capstone
* Remove capstone patches as they are already applied to rizinorg/capstone repository
* Use meson from master branch to create the release tarball, as all released versions so far have a bug that prevent wrap-git to be patched correctly when creating the tarball with meson dist
* Add check_meson_subproject script to do a quick check if the currently downloaded subprojects are updated
* Add subprojects_check meson option to skip the check_meson_subproject script
* Update documentation to remove references to git submodules.
2021-02-03 14:31:11 +01:00
Riccardo Schirone
fb9df93981 Directly use rz-test instead of make in CI 2021-01-28 16:25:51 +01:00
Riccardo Schirone
4198091991 Remove configure.acr and use meson project version 2021-01-28 11:57:28 +01:00
Riccardo Schirone
ebd2ecc302 Use meson for codeql analysis 2021-01-28 11:57:28 +01:00
Riccardo Schirone
ff89b9c243 Use meson to compile with TCC 2021-01-28 11:57:28 +01:00
Riccardo Schirone
33e3289856 Use meson/ninja in CentOS 7 build and remove ACR builds 2021-01-28 11:57:28 +01:00
Riccardo Schirone
018c0eaa53
Change how version is reported in -v command flag 2021-01-27 16:42:47 +08:00
Riccardo Schirone
3821e03620
Make Tiny C Compiler configure script executable again (#451)
configure had the exec bit removed with
https://repo.or.cz/tinycc.git/commit/1ed4b6ba1a66a9836d325f0eb9c753d45518fb94,
so this commit makes sure it has it again so we can test tcc build.
2021-01-25 17:25:22 +08:00
Riccardo Schirone
2a080f443f Use rizin-src.tar.xz in rzpipe CI job 2021-01-22 00:30:02 +01:00
Riccardo Schirone
39466d4bf2 Use the right path for rizin-src tarball 2021-01-22 00:03:04 +01:00
Riccardo Schirone
84e5eff7c0 Fix names in the release job 2021-01-21 23:41:36 +01:00
Riccardo Schirone
208c538400 Try to fix workflow syntax 2021-01-21 21:59:06 +01:00
Riccardo Schirone
f738f327a5 Fix typo: heads not head 2021-01-21 16:57:27 +01:00
Riccardo Schirone
988773b2b2 Use full github.ref name 2021-01-21 16:48:54 +01:00
Riccardo Schirone
fb69f44e08 Enable releases for stable branch 2021-01-21 16:38:38 +01:00
Riccardo Schirone
cf1fc682a7 Fix rzpipe egg name 2021-01-21 16:38:38 +01:00
Anton Kochkov
1ce3f53fb5 Fix #394 - convert old Debian to Meson/Ninja 2021-01-21 16:38:38 +01:00
Anton Kochkov
ed8988fce0 Allow ptrace for Alpine static build 2021-01-21 16:38:38 +01:00
Anton Kochkov
012d3e96c2 Update issue template 2021-01-21 13:07:11 +08:00
Florian Märkl
06d194bbf7 Give rz_log some spinach (Fix #350) 2021-01-20 12:27:03 +08:00
Anton Kochkov
36936e87da Upload Rizin static artifact 2021-01-20 12:27:03 +08:00
Anton Kochkov
cf22001bf1 Remove the Debian package building 2021-01-20 12:27:03 +08:00
Anton Kochkov
cd98653349 Ignore failing debug tests for TinyCC 2021-01-18 08:29:30 +01:00
Anton Kochkov
8acb32113b
Use Meson dist for generating tarball (#354)
* Fix TinyCC workflow

* Use Meson dist for generating tarball

Co-authored-by: Riccardo Schirone <ret2libc@users.noreply.github.com>
2021-01-16 22:45:22 +08:00
Alexis Ehret
81cb9f7016 Exclude external lib of analysis (clang CI)
* shlr/capstone
* shlr/sdb
2021-01-15 14:54:14 +00:00
Anton Kochkov
4805f845d3
Use Meson for static build (#342)
* Use Meson for static build
* Use Alpine for static linking
2021-01-13 12:22:27 +08:00
Riccardo Schirone
6f41360178
MacOS improvements (#322)
* Ad-hoc sign rizin binary with debugger entitlements on MacOS
* Use re.rizin.rizin and move OSX pkg files in dist/osx
* Use dist/osx/build_osx_package.sh to create OSX pkg with meson
* Mention how to create OSX pkg in doc/PACKAGERS.md
* Remove doc/macos.md
2021-01-11 14:45:38 +01:00
Anton Kochkov
236d108ac9 Run also unit tests 2021-01-09 08:45:54 +08:00
Anton Kochkov
a967702d0a Fix rz-pipe URL 2021-01-09 08:45:54 +08:00
Anton Kochkov
58a8085a0e Add Debian Stretch the the CI matrix 2021-01-09 08:45:54 +08:00
Alexis Ehret
eef820a137 Fix clang static analysis
* remove the move step
* change build step (ninja -C build -> meson compile -C build)
* add the merge step (@microsoft/sarif-multitool)
2021-01-07 19:36:40 +08:00
Anton Kochkov
e97fd61741 CentOS 6 is EOL. Switch CI to CentOS 7 2021-01-07 14:02:49 +08:00
Anton Kochkov
48d0c0761b Fix GitHub labeler 2021-01-04 18:06:17 +08:00
Paul I
0ad7edd908 Update book link in PR template 2021-01-03 04:56:00 -06:00
Anton Kochkov
768951f7b6 Install cabextract on CI 2020-12-25 18:58:25 +08:00
Khairul Azhar Kasmiran
646d135323
Fix gcov working directory for Codecov (#222) 2020-12-19 20:33:59 +08:00
Riccardo Schirone
564e64be3e
Improve meson information, structure and move fortunes (#213)
* Simplify a bit meson.build
* Use meson summary and move fortunes install dir
* Use 0.55.0 meson version
* Use /CURRENTUSER to select local installation
2020-12-18 11:28:19 +01:00
Alexis Ehret
6465b42587
Add clang static analyzer CI job (#187) (#205) 2020-12-18 12:44:55 +08:00
Riccardo Schirone
9706d12ba2 Do not use LicenseLocation when creating Win installer 2020-12-17 18:54:16 +01:00
Riccardo Schirone
7114d3cec7 Ensure rizin can compile before pushing to DockerHub 2020-12-17 17:03:19 +01:00
Riccardo Schirone
6601ae9759
Use docker/build-push-action@v2 (#211)
* Use docker/build-push-action@v2
* Enable qemu + buildx
* Install cmake to enable compilation on other architectures
2020-12-17 16:52:52 +01:00
Riccardo Schirone
900beb199e
Switch to ubuntu-20.04 to fix gcov issue (#193)
* Switch Github CI to ubuntu-20.04
* Adapt tests for CI ubuntu-20.04
2020-12-17 10:24:00 +08:00
Riccardo Schirone
4168c77691
Missing ASAN env vars in CI (#190) 2020-12-15 11:12:26 +01:00
Riccardo Schirone
09d305ec10 Extract subprocess API used in rz-test into RzUtil 2020-12-15 10:18:50 +01:00
Anton Kochkov
77353cf012 Fix TinyCC workflow 2020-12-14 18:54:27 +08:00
Anton Kochkov
73ab3594c5 Run ASAN and AppVeyor builds for imported patches 2020-12-14 11:23:54 +01:00
Riccardo Schirone
c18a0fea6c
Use x64 when building windows binaries in ci.yml (#165) 2020-12-11 09:49:19 +01:00
Anton Kochkov
aa46502287
Fix CodeQL build 2020-12-09 18:31:27 +08:00
Anton Kochkov
6603cb48cc
Enable CodeQL Analysis back 2020-12-09 18:26:39 +08:00
Riccardo Schirone
4559740877
Enable all github jobs (#133) 2020-12-09 00:31:55 +08:00
Florian Märkl
b42bc69d3c
Revert temporary changes 2020-12-08 15:55:17 +01:00
Anton Kochkov
c384758c1c More verbose TCC tests 2020-12-07 23:18:29 -06:00
Florian Märkl
e53e87d8c7
Fix E-Mail in coverity job (#119) 2020-12-06 18:52:42 +01:00
Anton Kochkov
21e33128b7 Fix TCC CI job test dependencies 2020-12-04 10:14:30 +01:00
GustavoLCR
f820a489f6 Add option to log r2r test results and publish it in the CI (#17964) ##test 2020-11-24 14:51:44 +01:00
Riccardo Schirone
9b65d35c61
Use cmd_descs_generate.py to update src dir and fallback if no PyYAML (#91) 2020-11-17 11:04:34 +01:00
Riccardo Schirone
9ce5003ca6
Create RzCmdDesc generator from YAML file ##newshell
* Create RzCmdDesc generator from YAML file

The commands tree can be entirely described in a YAML file, that is
parsed at build-time and generates cmd_descs.c/cmd_descs.h files. The
developer then just needs to provide the handler with the proper name to
make sure things work.

* Add PyYAML to CI jobs
2020-11-16 09:36:51 +01:00
Giovanni
1790f3136d
adding self-hosted runners to the CI 2020-11-12 17:46:33 +01:00
Khairul Azhar Kasmiran
7c86add0dc Add 6 minutes to cmd_aae timeout and skip aaa for swift_read fuzz test (#17805)
* Add 6 minutes to the cmd_aae test
* Skip aaa when doing swift_read fuzz test on asan
* Bump linux-meson-gcc-newshell-tests timeout to 60 minutes
2020-10-30 10:44:38 +01:00
Riccardo Schirone
1a919ad65e Use -Wno-cpp to avoid errors on #warning (#17785) 2020-10-19 13:35:10 +08:00
Riccardo Schirone
c1865f7e93 Use -Werror when building in CI (#17781) 2020-10-15 12:27:09 +08:00
Riccardo Schirone
7ceebc725e Mass renaming r2 to rz/rizin 2020-10-13 12:43:34 +02:00
Riccardo Schirone
baea395572
Introduce FAKE command descryptor type ##newshell (#20)
* Show ? if additional commands are present as sub-commands #newshell
* Show ?? for ? command, because `??` is a variable ##newshell
* Provide RzCmdDescDetailEntry.arg_str to better show arguments ##newshell
* Provide new FAKE RZ_CMD_DESC_TYPE ##newshell
* Move @?, |?, >? to FAKE entries ##newshell
* Additional help for @@, @@@, ~
* Fix windows/osx ci
2020-10-08 15:31:54 +02:00
Riccardo Schirone
0a51d3daae Pass token for now [skip ci] 2020-10-06 16:01:01 +02:00
Riccardo Schirone
2028f53874
Enable newshell by default (#18)
* Checkout submodules as well in CI
* Enable cfg.newshell by default
2020-10-06 10:57:44 +02:00
Riccardo Schirone
c6d5597a7c Fix rizin-win-installer CI job 2020-10-03 22:12:56 +02:00
Florian Märkl
7216963186
Use Submodule for SDB (#11) 2020-10-03 16:44:58 +02:00
Florian Märkl
03c0eb80de
Move macOS to Travis (#7) 2020-10-03 13:34:06 +02:00
Riccardo Schirone
502e91aff7
Rename R_ and R2_ to RZ_ (#8)
* Rename R2_ -> RZ_
* Rename R_ -> RZ_
* Rename R2R_ -> RZ_TEST_
* Rename R2R defines and types to RZ_TEST/RzTest
* Keep R_ for REIL registers
2020-10-02 16:09:13 +02:00
Florian Märkl
20dfc1c441
Use use_webui for macOS CI (#6) 2020-10-01 20:25:37 +02:00
Florian Märkl
9c60a2f65b
Use Meson for macOS CI (#3) 2020-10-01 18:14:49 +02:00
Riccardo Schirone
338e6fe172 Other renames in man and small places
Remove rz link, just keep rizin

Remove r2 link from acr

Fix http test on macos
2020-10-01 17:53:29 +02:00
Riccardo Schirone
721609a17b
Rename to rizin (#2) 2020-10-01 16:13:03 +02:00
Florian Märkl
413055f67c
Temporarily disable some CI jobs 2020-10-01 14:11:08 +02:00
Florian Märkl
8a3b80eaf0
Temporarily disable CodeQL 2020-10-01 10:12:19 +02:00
Florian Märkl
f8e67549b0
Checkout testbins and fuzztargets with token 2020-10-01 09:47:47 +02:00
pancake
aa7de006e6 Fix TinyCC build ##build 2020-09-27 13:33:26 +08:00
Khairul Azhar Kasmiran
6511ec9cd9
Test =h on Linux (#17697) 2020-09-23 20:09:21 +08:00
Riccardo Schirone
478ba6eb25
Do not let ASAN crash on large allocations (#17683) 2020-09-21 23:00:10 +08:00
karliss
9823c753eb
Match PR coverage number with master. (#17662)
Fuzzing isn't done for pull requests which causes difference in coverage
report.
2020-09-17 12:27:30 +03:00
karliss
8e07354cdd
Move coverage testing to meson-gcc-newshell-tests (#17643)
Previosly used meson-gcc-tests which isn't run on pull requests.
2020-09-16 15:30:00 +08:00
Khairul Azhar Kasmiran
fe5b80d615
Fix asan r2pipe test by updating libasan and using LD_PRELOAD (#17594)
* Set LD_PRELOAD for unit tests
* Declare failed debug tests as broken if no assertion or Sanitizer in output
* Check for ASAN=1 in cmd_pipe test
* Set asan: true in the GitHubCI matrix
* Fix ttyname-related runtime error
* Upgrade asan build to Ubuntu 20.04
* Quick fix for reg/arena.c runtime error
2020-09-11 18:47:27 +08:00
Riccardo Schirone
391f8b77eb
Increase timeout for macos-clang-tests job (#17627) 2020-09-10 09:21:49 +02:00
Riccardo Schirone
0d6a2bcf91
CI is starting to reach the timeout on master. (#17622) 2020-09-09 18:11:36 +02:00
Riccardo Schirone
709fcab0e6 Do not disable build-static tests, just ignore the result 2020-09-09 15:39:33 +02:00
Riccardo Schirone
56510ad82f Make sure create-release CI step is run only on release- branch ##build 2020-09-09 15:39:33 +02:00
Riccardo Schirone
3e3efcc005 Test compilation with various capstone versions ##build
Do not use #include <capstone/..>

This ensures compatibility with both capstone v3 and capstone as
installed on most distributions, where the pkg-config file of capstone
already adds -I/usr/include/capstone (with that dir directly containing
the headers).
2020-09-09 15:39:33 +02:00
Riccardo Schirone
8de4315fa3 Add ASAN tests to github CI ##build 2020-09-09 15:39:33 +02:00
Riccardo Schirone
b8e90511c6 Publish docker images after build configurations are green ##build
Ensure that broken commits do not get pushed to docker registry.
2020-09-09 15:39:33 +02:00
Riccardo Schirone
adc3586425
Create new GitHub workflow for continuous build ##build (#17603)
Make "continuous" build a pre-release, to avoid hiding the real releases.
2020-09-08 10:13:47 +02:00
Riccardo Schirone
be39c822cf Add sdb header path to compile windows ##build 2020-09-02 10:07:02 +02:00
Riccardo Schirone
ffb58abd03 Allow to test windows build with "*windows*" PRs ##build 2020-09-02 10:07:02 +02:00
Riccardo Schirone
6aca12465f Do not run tests for build-static ##build
Something does not work well with static (it hasn't at least from the
moment build-static started running full tests). To avoid all kind of
brokeness all around, let's switch back to no-tests. We will enable them
together with the proper fixes for the static build.
2020-09-01 21:54:23 +08:00
Riccardo Schirone
f2e2f7383a
Enable CI checks on PRs against release-* branches as well (#17536) 2020-08-27 11:12:43 -05:00
Riccardo Schirone
dfde84d333
Merge all things in one workflow file, reducing duplication of CI code (#17355) 2020-08-27 12:14:58 +08:00
GustavoLCR
489538e02b
Add DbgEng based debug backend for Windows ##debug (#17491)
* Rename `windbg` plugin to `winkd` ##debug
* Add DbgEng based debug backend for Windows ##debug
2020-08-24 19:01:10 +08:00
Khairul Azhar Kasmiran
4bc96b847a
Fix MS-DOS fuzz tests (#17496) 2020-08-20 12:17:13 +08:00
pancake
8b33d764a7
Fix #3929 - Enable LTO in sys/static.sh ##build (#17141)
* Fix #3929 - Enable LTO in sys/static.sh
* Update Ubuntu to 20.04 for static build
* Use `gcc-ar` when needed
* Do not use "c" option for ${AR}
* Use `$$AR` instead of `$AR`
* Aim to fix  `-dynamiclib` issue outside darwin
* Run tests for static LTO build

Co-authored-by: pancake <pancake@nopcode.org>
Co-authored-by: Anton Kochkov <xvilka@gmail.com>
2020-08-13 13:55:39 +08:00
Anton Kochkov
f338c2b2bb
Test also Debian Wheezy (#17352) 2020-07-25 01:39:37 +08:00
Riccardo Schirone
ab7a4b8045
Install ldid2 as well, to sign packages for cydia ##build (#17341) 2020-07-23 14:24:26 +02:00
Riccardo Schirone
69abbec753
Hardcode the version of meson/ninja to use to ensure consistency (#17260) 2020-07-13 14:56:42 +02:00
Riccardo Schirone
e3b67f124c
Release pipeline with GitHub Actions (#17192)
* Make sure meson can build with `system` = `android`.
* Add support for binr/blob in meson build
* Create release GitHub Actions workflow
* Add publish-docker-image job
* Also create Ubuntu packages and ship static windows zip
2020-07-09 12:07:45 +08:00
Anton Kochkov
742b5098af
Install r2pipe.py for Debian Jessie CI job (#17241)
* Install r2pipe.py for Debian Jessie CI job
* Build Python 3.6 from source
2020-07-08 19:06:33 +08:00
Zi Fan
4fa2cffb43
Fix debug tests on Debian Jessie ##test (#17240) 2020-07-08 03:15:45 -05:00