radare2/.github/workflows/tcc.yml

181 lines
5.2 KiB
YAML

name: tcc
on:
push:
branches:
- master
pull_request:
jobs:
build:
name: ubuntu-tcc-test
runs-on: ubuntu-latest
steps:
- name: Checkout TinyCC repository
run: |
git clone https://github.com/mirror/tinycc.git
cd tinycc
git checkout mob
git reset --hard 560526a49dfffef118bcb7fba83c727639ec0a1d
- name: Compiling and installing TinyCC
working-directory: tinycc
run: |
sh ./configure --prefix=/usr
make -j
sudo make install
- uses: actions/checkout@v3
- name: Checkout our Testsuite Binaries
uses: actions/checkout@v3
with:
repository: radareorg/radare2-testbins
path: test/bins
- name: Install dependencies
run: |
sudo apt-get --assume-yes install gperf wheel setuptools || true
sudo python -m pip install --upgrade pip
pip install r2pipe
- name: Configure, build and install
env:
CC: tcc
run: |
./configure --prefix=/usr --with-compiler=tcc
make -j
sudo make install
- name: Run tests
env:
PKG_CONFIG_PATH: /usr/lib/x86_64-linux-gnu/pkgconfig
run: |
r2 -v
r2r -v
export R2R_SKIP_ASM=1
export R2R_SKIP_ARCHOS=1
make -j -C test
nodbg:
name: ubuntu-tcc-nodbg
runs-on: ubuntu-latest
steps:
- name: Checkout TinyCC repository
run: |
git clone https://github.com/mirror/tinycc.git
cd tinycc && git checkout mob
git reset --hard 560526a49dfffef118bcb7fba83c727639ec0a1d
sudo apt-get --assume-yes install gperf wheel setuptools || true
sudo python -m pip install --upgrade pip
pip install r2pipe
- name: Compiling and installing TinyCC
working-directory: tinycc
run: |
sh ./configure --prefix=/usr --without-debugger
make -j && sudo make install
- uses: actions/checkout@v3
- name: Checkout our Testsuite Binaries
uses: actions/checkout@v3
with:
repository: radareorg/radare2-testbins
path: test/bins
- name: Configure, build and install
env:
CC: tcc
run: |
./configure --prefix=/usr --with-compiler=tcc
make -j
sudo make install
- name: Run tests
env:
PKG_CONFIG_PATH: /usr/lib/x86_64-linux-gnu/pkgconfig
run: |
r2 -v
r2r -v
export R2R_SKIP_ASM=1
export R2R_SKIP_ARCHOS=1
make -j -C test
r2pm:
name: r2pm-tcc
runs-on: ubuntu-latest
steps:
- name: Checkout TinyCC repository
run: |
git clone https://github.com/mirror/tinycc.git
cd tinycc
git checkout mob
git reset --hard 560526a49dfffef118bcb7fba83c727639ec0a1d
- name: Compiling and installing TinyCC
working-directory: tinycc
run: |
sh ./configure --prefix=/usr
make -j
sudo make install
- uses: actions/checkout@v3
- name: Configure, build and install
env:
CC: tcc
CFLAGS: -O0
run: |
./configure --prefix=/usr --with-compiler=tcc
make -j
sudo make install
- name: Initialize and update the r2pm package database
run: r2pm -U
- name: Install samurai
run: r2pm -i samurai
- name: Install samurai (clean)
run: r2pm -ci samurai
- name: Install samurai (native)
run: r2pm -i samurai
- name: Install muon
run: r2pm -i muon
- name: Install muon (native)
run: r2pm -i muon
- name: Building r2 with muon+samu
run: |
r2pm -r muon setup b
r2pm -r samu -j4 -C b >/dev/null
syslibs:
name: ubuntu-tcc-syslibs
runs-on: ubuntu-latest
steps:
- name: Checkout TinyCC repository
run: |
git clone https://github.com/mirror/tinycc.git
cd tinycc && git checkout mob
git reset --hard 560526a49dfffef118bcb7fba83c727639ec0a1d
sudo apt-get --assume-yes install gperf wheel setuptools || true
sudo python -m pip install --upgrade pip
pip install r2pipe
- name: Compiling and installing TinyCC
working-directory: tinycc
run: |
sh ./configure --prefix=/usr --without-debugger
make -j && sudo make install
- uses: actions/checkout@v3
- name: Checkout our Testsuite Binaries
uses: actions/checkout@v3
with:
repository: radareorg/radare2-testbins
path: test/bins
- name: Configure, build and install
env:
CC: tcc
run: |
sudo apt-get --assume-yes install libxxhash-dev liblz4-dev libzip-dev libmagic-dev libcapstone-dev
./configure --prefix=/usr --with-compiler=tcc \
--with-syscapstone \
--with-sysxxhash \
--with-sysmagic \
--with-syszip \
--with-syslz4
make -j
sudo make install
- name: Run tests
env:
PKG_CONFIG_PATH: /usr/lib/x86_64-linux-gnu/pkgconfig
run: |
r2 -v
r2r -v
export R2R_SKIP_ASM=1
export R2R_SKIP_ARCHOS=1
make -j -C test/unit