Skip to content

Sanitizers tests

Sanitizers tests #2

Workflow file for this run

name: Sanitizers tests
on:
workflow_dispatch:
inputs:
# For more information about the supported sanitizers in Rust, see:
# https://rustc-dev-guide.rust-lang.org/sanitizers.html
rust-sanitizer:
required: false
default: 'address'
type: string
description: 'A sanitizer to build Rust code with. Possible values are: address, cfi, hwaddress, kcfi, leak, memory or thread'
# For more information about the supported sanitizers in LLVM, see `LLVM_USE_SANITIZER` option in:
# https://www.llvm.org/docs/CMake.html
llvm-sanitizer:
required: false
default: 'Address'
type: string
description: 'A sanitizer to build LLVM with. Possible values are Address, Memory, MemoryWithOrigins, Undefined, Thread, DataFlow, and Address;Undefined'
schedule:
- cron: '0 0 * * 0'
jobs:
run-with-sanitizers:
runs-on: ci-runner-compiler
container:
image: ghcr.io/matter-labs/zksync-llvm-runner:latest
options: -m 110g
env:
TARGET: x86_64-unknown-linux-gnu
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build LLVM
uses: matter-labs/era-compiler-ci/.github/actions/build-llvm@v1
with:
target-env: 'gnu'
enable-assertions: 'false'
sanitizer: ${{ inputs.llvm-sanitizer || 'Address' }}
- name: Build zksolc
uses: ./.github/actions/build
with:
target: ${{ env.TARGET }}
sanitizer: ${{ inputs.rust-sanitizer || 'address' }}
build-type: 'debug'
- name: Install solc compiler
uses: ./.github/actions/install-solc
- name: Run tests
uses: ./.github/actions/unit-tests
with:
target: ${{ env.TARGET }}
sanitizer: ${{ inputs.rust-sanitizer || 'address' }}
build-type: 'debug'
- name: Send Slack notification
uses: 8398a7/action-slack@v3
if: failure() && github.event_name == 'schedule'
with:
status: ${{ job.status }}
fields: repo,commit,author,action,eventName,ref,workflow,job,took
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }}