Auto merge of #14010 - silvergasp:ci, r=lnicola

fuzz: Fixes broken Cargo.toml for fuzz tests

Fixes broken Cargo.toml for fuzz tests and adds building of fuzz tests to the CI.
This commit is contained in:
bors 2023-02-03 11:15:54 +00:00
commit 3bc33c7e9f
2 changed files with 47 additions and 8 deletions

43
.github/workflows/fuzz.yml vendored Normal file
View file

@ -0,0 +1,43 @@
name: Fuzz
on:
schedule:
# Once a week
- cron: '0 0 * * 0'
push:
paths:
- '.github/workflows/fuzz.yml'
# Allow manual trigger
workflow_dispatch:
env:
CARGO_INCREMENTAL: 0
CARGO_NET_RETRY: 10
CI: 1
RUST_BACKTRACE: short
RUSTFLAGS: "-D warnings -W unreachable-pub -W bare-trait-objects"
RUSTUP_MAX_RETRIES: 10
jobs:
rust:
if: ${{ github.repository == 'rust-lang/rust-analyzer' || github.event.action == 'workflow_dispatch' }}
name: Rust
runs-on: ubuntu-latest
env:
CC: deny_c
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
fetch-depth: 1
- name: Install Rust toolchain
run: |
rustup install --profile minimal nightly
- name: Build fuzzers
run: |
cargo install cargo-fuzz
cd crates/syntax
cargo +nightly fuzz build

View file

@ -1,21 +1,17 @@
[package] [package]
name = "syntax-fuzz" name = "syntax-fuzz"
version = "0.0.1" version = "0.0.1"
publish = false publish = false
edition = "2021"
authors.workspace = true rust-version = "1.66.1"
edition.workspace = true
license.workspace = true
rust-version.workspace = true
[package.metadata] [package.metadata]
cargo-fuzz = true cargo-fuzz = true
[dependencies] [dependencies]
syntax = { path = "..", version = "0.0.0" } syntax = { path = "..", version = "0.0.0" }
text_edit = { path = "../../text_edit", version = "0.0.0" } text-edit = { path = "../../text-edit", version = "0.0.0" }
libfuzzer-sys = { git = "https://github.com/rust-fuzz/libfuzzer-sys.git" } libfuzzer-sys = "0.4.5"
# Prevent this from interfering with workspaces # Prevent this from interfering with workspaces
[workspace] [workspace]