Skip to content

Inconsistency with evm verifier fixed #12

Inconsistency with evm verifier fixed

Inconsistency with evm verifier fixed #12

Workflow file for this run

name: Build
on:
pull_request:
push:
branches:
- 'master'
tags:
- '**'
jobs:
build-linux:
runs-on: [ "self-hosted", "aws_autoscaling"]
env:
CONTAINER_TMP: /opt/
HOST_TMP: /home/runner/work/_temp/
DEBIAN_FRONTEND: noninteractive
BOOST_VERSION: "1.80.0"
container:
image: ubuntu:22.04
volumes:
- /home/runner/work/_temp/:/opt/
steps:
- name: Install dependencies
run: |
env && \
apt update && \
apt install -y \
build-essential \
libssl-dev \
cmake \
git \
unzip \
libicu-dev \
curl \
pkg-config \
libspdlog-dev
- name: Print toolchain information
run: |
git --version
cc --version
cmake --version
- name: Checkout sources
uses: actions/checkout@v3
with:
submodules: 'recursive'
fetch-depth: 0
- name: Install Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
# Workaround: https://github.com/actions/checkout/issues/1169
- name: Mark directory as safe
run: |
git config --system --add safe.directory $PWD
- name: Install boost
uses: MarkusJx/install-boost@v2.4.1
id: install-boost
with:
# A list of supported versions can be found here:
# https://github.com/MarkusJx/prebuilt-boost/blob/main/versions-manifest.json
boost_version: ${{ env.BOOST_VERSION }}
boost_install_dir: ${{ env.CONTAINER_TMP }}
platform_version: 22.04
toolset: gcc
arch: x86
- name: Configure CMake
env:
BOOST_ROOT: "${{ steps.install-boost.outputs.BOOST_ROOT }}"
run: |
cmake -G "Unix Makefiles" \
-B build \
-DCMAKE_BUILD_TYPE=Release
- name: Build proof-producer
env:
BOOST_ROOT: "${{ steps.install-boost.outputs.BOOST_ROOT }}"
run: |
cd build
make
cd ..
- name: Create .deb package
# always build deb packages to check that they're buildable
# although, push them only on tags (see later)
run: |
mkdir -p .debpkg/usr/bin
cp ./build/bin/proof-generator/proof-generator .debpkg/usr/bin
chmod +x .debpkg/usr/bin/proof-generator
mkdir -p .debpkg/DEBIAN
- uses: jiro4989/build-deb-action@v3
with:
package: proof-generator
package_root: .debpkg
maintainer: =nil; Foundation
version: 0.1
arch: 'amd64'
desc: 'zkllvm proof-generator'
- name: Install aws tools
# these steps run only on tag push => deb package release
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')
run: |
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
./aws/install
pip3 install mkrepo
- name: Upload packages to repository
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/')
env:
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_DEFAULT_REGION: ${{ secrets.AWS_DEFAULT_REGION }}
run: |
PROOF_GENERATOR_PACKAGE=`ls proof-generator*.deb | cut -d'/' -f2`
POOL="ubuntu/pool/main/p/proof-generator"
aws s3api put-object --bucket deb.nil.foundation --key $POOL/$PROOF_GENERATOR_PACKAGE --body $PROOF_GENERATOR_PACKAGE
mkrepo s3://deb.nil.foundation/ubuntu/