Skip to content

DockerHub push

DockerHub push #199

Workflow file for this run

name: Compile and test SymCC
on: [pull_request, workflow_dispatch]
jobs:
# Building and running the tests with Dockerfile
build_and_test_symcc:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- name: Setup docker compilation environment
run: docker build --target builder -t symcc .
- name: Build and test SymCC with simple backend
run: docker build --target builder_simple -t symcc .
- name: Build libcxx using SymCC simple backend
run: docker build --target builder_libcxx -t symcc .
- name: Build and test SymCC with Qsym backend
run: docker build --target builder_qsym -t symcc .
- name: Creation of the final SymCC docker image with Qsym backend and libcxx
# checking compatibility with ubuntu llvm packages
llvm_compatibility:
runs-on: ubuntu-22.04
strategy:
matrix:
llvm_version: [11, 12, 13, 14, 15]
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
llvm-${{ matrix.llvm_version }}-dev \
libz3-dev
- name: Build SymCC with the QSYM backend
run: |
mkdir build
cd build
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DZ3_TRUST_SYSTEM_VERSION=ON \
-DQSYM_BACKEND=ON \
-DLLVM_DIR=/usr/lib/llvm-${{ matrix.llvm_version }}/cmake \
..
make tests
# checking compatibility (compilation only) with more recent packages
llvm_compatibility_latest_llvm:
runs-on: ubuntu-22.04
strategy:
matrix:
llvm_version: [16, 17, 18]
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Add LLVM project deb repository
uses: myci-actions/add-deb-repo@11
with:
repo: deb http://apt.llvm.org/jammy/ llvm-toolchain-jammy-${{ matrix.llvm_version }} main
repo-name: llvm
update: false
keys-asc: https://apt.llvm.org/llvm-snapshot.gpg.key
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
llvm-${{ matrix.llvm_version }}-dev \
libz3-dev \
- name: Build SymCC with the QSYM backend
run: |
mkdir build
cd build
cmake \
-DCMAKE_BUILD_TYPE=Release \
-DZ3_TRUST_SYSTEM_VERSION=ON \
-DQSYM_BACKEND=ON \
-DLLVM_DIR=/usr/lib/llvm-${{ matrix.llvm_version }}/cmake \
..
make tests