Skip to content

Initial implementation of tests with sanitizers #8

Initial implementation of tests with sanitizers

Initial implementation of tests with sanitizers #8

Workflow file for this run

name: Sanitizers CI
on:
push:
branches:
- 'master'
pull_request:
branches:
- 'master'
schedule:
- cron: '00 2 * * *' # At 02:00 UTC every day (like rustup-components-history).
# only one target for now
env:
TARGET: x86_64-unknown-linux-gnu
jobs:
enable_matrix:
strategy:
matrix:
crate: [core, alloc, std, simd, stdarch]
name: Test ${{ matrix.crate }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup environment
run: bash ./ci-sanitizers-setup.sh
- name: Test ASAN (Address Sanitizer)
run: bash ./ci-sanitizers-test.sh ${{ matrix.crate }} address
- name: Test MSAN (MemorySanitizer)
run: bash ./ci-sanitizers-test.sh ${{ matrix.crate }} memory
- name: Test TSAN (ThreadSanitizer)
run: bash ./ci-sanitizers-test.sh ${{ matrix.crate }} thread
- name: Test CFISAN (ControlFlowIntegrity)
run: bash ./ci-sanitizers-test.sh ${{ matrix.crate }} cfi
- name: Test SafeStack
run: bash ./ci-sanitizers-test.sh ${{ matrix.crate }} safestack
- name: Test LSAN (LeakSanitizer)
run: bash ./ci-sanitizers-test.sh ${{ matrix.crate }} leak
# Send a Zulip notification when a cron job fails
# cron-fail-notify:
# name: cronjob failure notification
# runs-on: ubuntu-latest
# needs: [test-core, test-alloc, test-std, test-simd]
# if: github.event_name == 'schedule' && (failure() || cancelled())
# steps:
# - name: Install zulip-send
# run: pip3 install zulip
# - name: Send Zulip notification
# shell: bash
# env:
# ZULIP_BOT_EMAIL: ${{ secrets.ZULIP_BOT_EMAIL }}
# ZULIP_API_TOKEN: ${{ secrets.ZULIP_API_TOKEN }}
# run: |
# ~/.local/bin/zulip-send --stream miri --subject "Cron Job Failure (miri-test-libstd, $(date -u +%Y-%m))" \
# --message 'Dear @*T-miri*,
# The standard library test suite is [failing under Miri]('"https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID"'). Would you mind investigating this issue?
# Thanks in advance!
# Sincerely,
# The Miri Cronjobs Bot' \
# --user $ZULIP_BOT_EMAIL --api-key $ZULIP_API_TOKEN --site https://rust-lang.zulipchat.com