diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3abdfc0..1005a13 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -5,7 +5,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, macos-latest, windows-latest] + os: [ubuntu-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 @@ -17,3 +17,5 @@ jobs: bundler-cache: true - run: bundle exec rake compile - run: bundle exec rake test + - run: sudo apt-get update && sudo apt-get install valgrind + - run: bundle exec rake test:valgrind diff --git a/Gemfile b/Gemfile index 78e3274..b197916 100644 --- a/Gemfile +++ b/Gemfile @@ -5,3 +5,4 @@ gemspec gem "rake" gem "rake-compiler" gem "minitest", ">= 5" +gem "ruby_memcheck" diff --git a/Rakefile b/Rakefile index 8766054..9e7fd26 100644 --- a/Rakefile +++ b/Rakefile @@ -1,12 +1,18 @@ require "bundler/gem_tasks" require "rake/testtask" require "rake/extensiontask" +require "ruby_memcheck" task default: :test -Rake::TestTask.new do |t| +test_config = lambda do |t| t.libs << "test" t.pattern = "test/**/*_test.rb" end +Rake::TestTask.new(:test, &test_config) + +namespace :test do + RubyMemcheck::TestTask.new(:valgrind, &test_config) +end Rake::ExtensionTask.new("midas") do |ext| ext.name = "ext"