2020-07-31 13:50:27 +00:00
|
|
|
name: C/C++ CI
|
|
|
|
|
|
|
|
on:
|
|
|
|
push:
|
|
|
|
branches: [ master ]
|
2020-07-31 15:12:55 +00:00
|
|
|
paths-ignore:
|
|
|
|
- '*.md'
|
|
|
|
- 'docs/**'
|
|
|
|
- 'isagenerator/**'
|
|
|
|
- 'bddisasm_test/**'
|
|
|
|
- 'bdshemu_test/**'
|
|
|
|
- 'LICENSE'
|
2020-07-31 13:50:27 +00:00
|
|
|
pull_request:
|
|
|
|
branches: [ master ]
|
2020-07-31 15:12:55 +00:00
|
|
|
paths-ignore:
|
|
|
|
- '*.md'
|
|
|
|
- 'docs/**'
|
|
|
|
- 'isagenerator/**'
|
|
|
|
- 'bddisasm_test/**'
|
|
|
|
- 'bdshemu_test/**'
|
|
|
|
- 'LICENSE'
|
2020-11-20 13:39:24 +00:00
|
|
|
release:
|
|
|
|
types: [published]
|
|
|
|
|
2020-07-31 13:50:27 +00:00
|
|
|
|
|
|
|
jobs:
|
2020-07-31 14:59:54 +00:00
|
|
|
Linux-build:
|
2020-07-31 13:50:27 +00:00
|
|
|
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v2
|
2020-07-31 14:15:50 +00:00
|
|
|
- name: Install rapidjson
|
|
|
|
uses: actions/checkout@master
|
|
|
|
with:
|
|
|
|
repository: Tencent/rapidjson
|
2020-07-31 14:17:46 +00:00
|
|
|
path: rapidjson
|
2020-07-31 14:15:50 +00:00
|
|
|
- name: Build dependencies
|
|
|
|
run: |
|
|
|
|
cd rapidjson
|
2021-03-30 10:36:00 +00:00
|
|
|
mkdir build
|
|
|
|
cd build
|
2020-07-31 14:15:50 +00:00
|
|
|
cmake ..
|
|
|
|
make -j$(nproc)
|
|
|
|
sudo make install
|
|
|
|
cd ..
|
|
|
|
cd ..
|
2021-03-30 10:36:00 +00:00
|
|
|
- name: Build all
|
2020-11-20 14:07:24 +00:00
|
|
|
run: |
|
|
|
|
mkdir build
|
|
|
|
cd build
|
2021-03-30 10:36:00 +00:00
|
|
|
cmake .. -DCMAKE_BUILD_TYPE=Release
|
|
|
|
make -j$(nproc)
|
2020-11-20 14:07:24 +00:00
|
|
|
cd -
|
2021-03-30 10:36:00 +00:00
|
|
|
- name: Install
|
2020-07-31 14:15:50 +00:00
|
|
|
run: |
|
2020-11-20 14:04:50 +00:00
|
|
|
cd build
|
2021-03-30 10:36:00 +00:00
|
|
|
sudo make install
|
2020-11-20 14:04:50 +00:00
|
|
|
cd -
|
2020-07-31 14:29:10 +00:00
|
|
|
- name: Install setuptools
|
|
|
|
run: |
|
|
|
|
python3 -m pip install --upgrade pip
|
|
|
|
python3 -m pip install setuptools
|
2020-08-04 11:13:16 +00:00
|
|
|
- name: Build pybddisasm
|
2020-07-31 14:25:43 +00:00
|
|
|
run: |
|
2020-08-04 11:13:16 +00:00
|
|
|
cd pybddisasm
|
2020-07-31 14:25:43 +00:00
|
|
|
python3 setup.py build
|
2021-03-30 10:36:00 +00:00
|
|
|
cd -
|
2020-11-20 14:07:24 +00:00
|
|
|
- name: Create package
|
|
|
|
if: ${{ github.event_name == 'release' }}
|
|
|
|
run: |
|
|
|
|
cd build
|
|
|
|
make package
|
|
|
|
cd -
|
2020-11-20 14:04:50 +00:00
|
|
|
- name: Release
|
|
|
|
if: ${{ github.event_name == 'release' }}
|
|
|
|
uses: AButler/upload-release-assets@v2.0
|
|
|
|
with:
|
|
|
|
files: 'build/*.deb'
|
|
|
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
2020-07-31 14:58:48 +00:00
|
|
|
|
2021-03-30 10:36:00 +00:00
|
|
|
Windows-msbuild:
|
2020-07-31 14:58:48 +00:00
|
|
|
|
|
|
|
runs-on: windows-latest
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v2
|
|
|
|
- name: Add msbuild to PATH
|
2020-11-17 08:41:59 +00:00
|
|
|
uses: microsoft/setup-msbuild@v1.0.2
|
2021-03-30 10:36:00 +00:00
|
|
|
- name: Build all
|
2020-07-31 14:58:48 +00:00
|
|
|
run: MSBuild /t:Rebuild /p:Configuration=Release /p:Platform=x64 bddisasm.sln
|
|
|
|
- name: Build bddisasm and bdshemu for Win32
|
|
|
|
run: MSBuild /t:Rebuild /p:Configuration=Release /p:Platform=Win32 bddisasm.sln
|
2020-11-20 13:39:24 +00:00
|
|
|
- name: Zip binaries
|
2020-11-20 13:41:23 +00:00
|
|
|
if: ${{ github.event_name == 'release' }}
|
2020-11-20 13:39:24 +00:00
|
|
|
run: |
|
|
|
|
del bin\x64\Release\*.idb
|
2020-11-20 13:57:58 +00:00
|
|
|
del bin\x64\Release\*.iobj
|
|
|
|
del bin\x64\Release\*.ipdb
|
2020-11-20 13:39:24 +00:00
|
|
|
del bin\Win32\Release\*.idb
|
2020-11-20 13:57:58 +00:00
|
|
|
del bin\Win32\Release\*.iobj
|
|
|
|
del bin\Win32\Release\*.ipdb
|
2020-11-20 13:39:24 +00:00
|
|
|
tar.exe -acf x64-windows-release.zip bin\x64\Release
|
|
|
|
tar.exe -acf x86-windows-release.zip bin\Win32\Release
|
|
|
|
- name: Release
|
2020-11-20 13:41:23 +00:00
|
|
|
if: ${{ github.event_name == 'release' }}
|
2020-11-20 13:39:24 +00:00
|
|
|
uses: AButler/upload-release-assets@v2.0
|
|
|
|
with:
|
|
|
|
files: 'x64-windows-release.zip;x86-windows-release.zip'
|
|
|
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
2021-03-30 10:36:00 +00:00
|
|
|
|
|
|
|
Windows-cmake-build:
|
|
|
|
|
|
|
|
runs-on: windows-latest
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v2
|
2021-03-30 10:39:44 +00:00
|
|
|
- uses: ashutoshvarma/setup-ninja@master
|
2021-03-30 10:36:00 +00:00
|
|
|
- name: Build all
|
|
|
|
run: |
|
|
|
|
mkdir build
|
|
|
|
cd build
|
|
|
|
cmake .. -G Ninja
|
|
|
|
ninja
|
|
|
|
cd -
|
2020-09-22 15:04:27 +00:00
|
|
|
|
2020-09-22 15:06:45 +00:00
|
|
|
Code-checks:
|
2020-09-22 15:04:27 +00:00
|
|
|
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v2
|
|
|
|
- name: Install cppcheck
|
|
|
|
run: sudo apt install -y cppcheck
|
|
|
|
- name: Run cppcheck
|
2020-09-22 15:26:33 +00:00
|
|
|
run: cppcheck --error-exitcode=1 --language=c \
|
|
|
|
--enable=all --suppress=missingIncludeSystem --suppress=unusedStructMember --suppress=unusedFunction \
|
2020-11-17 14:09:36 +00:00
|
|
|
-I inc/ -I bddisasm/include bddisasm/ bdshemu/ \
|
2020-09-22 15:26:33 +00:00
|
|
|
/
|