mirror of
https://github.com/zama-ai/concrete.git
synced 2026-02-09 12:15:09 -05:00
123 lines
3.9 KiB
YAML
123 lines
3.9 KiB
YAML
name: Conformance
|
||
|
||
on:
|
||
push:
|
||
branches: [master, test-ci]
|
||
pull_request:
|
||
types: [opened, synchronize, reopened]
|
||
|
||
jobs:
|
||
Formatting:
|
||
runs-on: ubuntu-latest
|
||
steps:
|
||
- uses: actions/checkout@v2
|
||
with:
|
||
submodules: true
|
||
- name: Format with clang-format
|
||
run: .github/workflows/scripts/format_cpp.sh
|
||
|
||
BuildAndTest:
|
||
runs-on: ubuntu-latest
|
||
strategy:
|
||
matrix:
|
||
compiler: [gcc6, latest]
|
||
steps:
|
||
- uses: actions/checkout@v2
|
||
with:
|
||
submodules: recursive
|
||
|
||
- name: "KeySetCache"
|
||
if: ${{ matrix.compiler == 'gcc6' }}
|
||
uses: actions/cache@v2
|
||
with:
|
||
path: ${{ github.workspace }}/KeySetCache
|
||
# actions/cache does not permit to update a cache entry
|
||
key: ${{ runner.os }}-KeySetCache-2021-12-02
|
||
restore-keys: |
|
||
${{ runner.os }}-KeySetCache-
|
||
|
||
- name: Build and test compiler
|
||
if: ${{ matrix.compiler == 'gcc6' }}
|
||
uses: addnab/docker-run-action@v3
|
||
with:
|
||
registry: ghcr.io
|
||
image: ghcr.io/zama-ai/concretefhe-compiler:gcc6
|
||
username: ${{ secrets.GHCR_LOGIN }}
|
||
password: ${{ secrets.GHCR_PASSWORD }}
|
||
options: -v ${{ github.workspace }}/compiler:/compiler -v ${{ github.workspace }}/KeySetCache:/tmp/KeySetCache
|
||
shell: bash
|
||
run: |
|
||
set -e
|
||
echo "Debug: ccache statistics (prior to the build):"
|
||
ccache -s
|
||
cd /compiler
|
||
/opt/python/cp38-cp38/bin/pip install pytest
|
||
rm -rf /build
|
||
sed "s/pytest/\/opt\/python\/cp38-cp38\/bin\/python -m pytest/g" -i Makefile
|
||
make CCACHE=ON Python3_EXECUTABLE=/opt/python/cp38-cp38/bin/python BUILD_DIR=/build test
|
||
echo "Debug: ccache statistics (after the build):"
|
||
ccache -s
|
||
chmod -R ugo+rwx /tmp/KeySetCache
|
||
|
||
- name: Build compiler
|
||
if: ${{ matrix.compiler == 'latest' }}
|
||
uses: addnab/docker-run-action@v3
|
||
with:
|
||
registry: ghcr.io
|
||
image: ghcr.io/zama-ai/zamalang-compiler:latest
|
||
username: ${{ secrets.GHCR_LOGIN }}
|
||
password: ${{ secrets.GHCR_PASSWORD }}
|
||
options: -v ${{ github.workspace }}/compiler:/compiler
|
||
shell: bash
|
||
run: |
|
||
set -e
|
||
echo "Debug: ccache statistics (prior to the build):"
|
||
ccache -s
|
||
cd /compiler
|
||
rm -rf /build
|
||
export PYTHONPATH=""
|
||
make CCACHE=ON BUILD_DIR=/build zamacompiler python-bindings
|
||
echo "Debug: ccache statistics (after the build):"
|
||
ccache -s
|
||
|
||
BuildAndTestDF:
|
||
runs-on: ubuntu-latest
|
||
steps:
|
||
- uses: actions/checkout@v2
|
||
with:
|
||
submodules: recursive
|
||
|
||
- name: Build and test compiler (dataflow)
|
||
uses: addnab/docker-run-action@v3
|
||
with:
|
||
registry: ghcr.io
|
||
image: ghcr.io/zama-ai/zamalang-df-compiler:latest
|
||
username: ${{ secrets.GHCR_LOGIN }}
|
||
password: ${{ secrets.GHCR_PASSWORD }}
|
||
options: -v ${{ github.workspace }}/compiler:/compiler
|
||
shell: bash
|
||
run: |
|
||
set -e
|
||
echo "Debug: ccache statistics (prior to the build):"
|
||
ccache -s
|
||
cd /compiler
|
||
pip install pytest
|
||
rm -rf /build
|
||
export PYTHONPATH=""
|
||
make PARALLEL_EXECUTION_ENABLED=ON CCACHE=ON BUILD_DIR=/build test test-dataflow
|
||
echo "Debug: ccache statistics (after the build):"
|
||
ccache -s
|
||
chmod -R ugo+rwx /tmp/KeySetCache
|
||
|
||
BlockMerge:
|
||
runs-on: ubuntu-latest
|
||
steps:
|
||
- uses: actions/checkout@v2
|
||
with:
|
||
fetch-depth: 0
|
||
|
||
- name: Check Commit to Squash
|
||
run: |
|
||
set -e
|
||
git log origin/${{ github.base_ref }}..origin/${{ github.head_ref }} --format=%s | ( ! grep -e "^f [0-9a-f]\+" -q )
|