diff --git a/.github/workflows/amd64.yml b/.github/workflows/amd64.yml index c4d087b1..b7cf2ba6 100644 --- a/.github/workflows/amd64.yml +++ b/.github/workflows/amd64.yml @@ -11,7 +11,7 @@ env: jobs: ubuntu-latest: - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 @@ -19,9 +19,10 @@ jobs: run: cargo build --all-features --verbose - name: Run tests run: | - sudo apt update && sudo apt install -y gdb pip curl python3.10-dev llvm \ + sudo apt update && sudo apt install -y gdb pip curl python3-dev llvm \ openjdk-17-jdk ca-certificates gnupg - pip3 install atheris + # Atheris fails to install on Ubuntu 24.04, see https://github.com/google/atheris/issues/82 + # pip3 install atheris sudo mkdir -p /etc/apt/keyrings curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg export NODE_MAJOR=20 diff --git a/.github/workflows/coverage.yaml b/.github/workflows/coverage.yaml index 64a1b3c4..2cd5900c 100644 --- a/.github/workflows/coverage.yaml +++ b/.github/workflows/coverage.yaml @@ -11,6 +11,7 @@ env: jobs: ubuntu-latest: + # Atheris fails to install on Ubuntu 24.04, see https://github.com/google/atheris/issues/82 runs-on: ubuntu-22.04 steps: diff --git a/casr/Cargo.toml b/casr/Cargo.toml index 412e827e..5a5916e0 100644 --- a/casr/Cargo.toml +++ b/casr/Cargo.toml @@ -53,3 +53,4 @@ required-features = ["dojo"] [dev-dependencies] lazy_static = "1.4" +lsb_release = "0.1" diff --git a/casr/tests/tests.rs b/casr/tests/tests.rs index 1e7fe468..26e20c65 100644 --- a/casr/tests/tests.rs +++ b/casr/tests/tests.rs @@ -4159,6 +4159,10 @@ fn test_casr_libfuzzer() { #[test] #[cfg(target_arch = "x86_64")] fn test_casr_libfuzzer_atheris() { + if lsb_release::info().unwrap().version == "24.04" { + // Atheris fails to install, see https://github.com/google/atheris/issues/82 + return; + } use std::collections::HashMap; let paths = [ @@ -4439,6 +4443,10 @@ fn test_casr_java_native_lib() { #[test] #[cfg(target_arch = "x86_64")] fn test_casr_python_atheris() { + if lsb_release::info().unwrap().version == "24.04" { + // Atheris fails to install, see https://github.com/google/atheris/issues/82 + return; + } // Division by zero atheris test let paths = [ abs_path("tests/casr_tests/python/test_casr_python_atheris.py"), @@ -4577,6 +4585,10 @@ fn test_casr_san_python_df() { #[test] #[cfg(target_arch = "x86_64")] fn test_casr_san_atheris_df() { + if lsb_release::info().unwrap().version == "24.04" { + // Atheris fails to install, see https://github.com/google/atheris/issues/82 + return; + } // Double free python C extension test // Copy files to tmp dir let work_dir = abs_path("tests/casr_tests/python"); @@ -4678,6 +4690,10 @@ fn test_casr_san_atheris_df() { #[test] #[cfg(target_arch = "x86_64")] fn test_casr_python_call_san_df() { + if lsb_release::info().unwrap().version == "24.04" { + // Atheris fails to install, see https://github.com/google/atheris/issues/82 + return; + } // Double free python C extension test // Copy files to tmp dir let work_dir = abs_path("tests/casr_tests/python");