name: TinyCC build on: push: paths: - '**.c' - '**.h' - '**.in' - '**.inc' - '**/meson.build' - 'subprojects/**' - 'test/**' - '.github/workflows/tcc.yml' branches: - 'dev' - 'stable' - 'container-*' schedule: - cron: '0 18 * * 1,3,5' # Three-weekly at 18:00 UTC on Monday, Wednesday, and Friday pull_request: paths: - '**.c' - '**.h' - '**.in' - '**.inc' - '**/meson.build' - 'subprojects/**' - '.github/workflows/tcc.yml' branches: - 'dev' - 'stable' - 'release-*' jobs: build: name: ubuntu-tcc-test runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Checkout TinyCC repository run: | git clone https://github.com/tinycc/tinycc cd tinycc #git checkout mob # Well-tested commit git checkout 675046bd59bc6977bb2016c7d2e115ace8a6ae6c chmod +x ./configure - name: Compiling and installing TinyCC working-directory: tinycc run: | ./configure --prefix=/usr make sudo make install - name: Install dependencies run: | sudo apt-get --assume-yes install python3-wheel python3-setuptools sudo python3 -m pip install ninja - name: Checkout meson from ret2libc git run: | git clone https://github.com/ret2libc/meson.git cd meson git checkout tiny-cc python3 setup.py build sudo python3 setup.py install - name: Checkout our Testsuite Binaries uses: actions/checkout@v2 with: repository: rizinorg/rizin-testbins path: test/bins - name: Meson setup env: CC: tcc run: meson --prefix=/usr build - name: Meson compile and install run: ninja -C build && sudo ninja -C build install - name: Run unit tests run: ninja -C build test - name: Install test dependencies run: | python3 -m pip install --user 'git+https://github.com/rizinorg/rz-pipe#egg=rzpipe&subdirectory=python' - name: Run tests env: PKG_CONFIG_PATH: /usr/lib/x86_64-linux-gnu/pkgconfig run: | rizin -v rz-test -v cd test rz-test -L -o results.json