name: Build and run tests on: push: pull_request: schedule: - cron: '0 2 * * *' jobs: build-ubuntu-gcc: runs-on: ubuntu-latest strategy: matrix: version: [12, 13, 14] steps: - uses: actions/checkout@v4 - name: Setting up gcc version run: | sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-${{ matrix.version }} 100 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${{ matrix.version }} 100 - name: Build run: make test build-ubuntu-clang: runs-on: ubuntu-latest strategy: matrix: version: [14, 15, 16, 17, 18] steps: - uses: actions/checkout@v4 - name: Install dependencies run: sudo apt-get update && sudo apt-get install -y --no-install-recommends clang-14 clang-15 - name: Setting up clang version run: | sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-${{ matrix.version }} 100 sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-${{ matrix.version }} 100 - name: Build run: CC=clang CXX=clang++ make test build-musl: runs-on: ubuntu-latest container: image: alpine:latest steps: - uses: actions/checkout@v4 - name: Install dependencies run: apk update && apk add build-base python3 - name: Build run: make test build-ubuntu-gcc-aarch64: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install dependencies run: sudo apt-get update && sudo apt-get install -y --no-install-recommends gcc-aarch64-linux-gnu g++-aarch64-linux-gnu libgcc-s1-arm64-cross cpp-aarch64-linux-gnu - name: Build run: CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-gcc++ make CONFIG_NATIVE=false