Skip to content

Commit

Permalink
Fix ASAN/Valgrind issues caused by LLVM and clang due to nlopt except…
Browse files Browse the repository at this point in the history
…ions. Removed OpenMP
  • Loading branch information
sciome-bot committed Nov 8, 2024
1 parent 78d07c5 commit 56b95c2
Show file tree
Hide file tree
Showing 166 changed files with 3,106 additions and 2,703 deletions.
1 change: 1 addition & 0 deletions .Rbuildignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
^.*\.Rproj$
^.*\.Rcheck$
^\.DS_Store$
^\.(RData|Rhistory|RProj\.user)$
^\.gitignore$
Expand Down
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
configure.ac text eol=lf
4 changes: 2 additions & 2 deletions .github/workflows/builds.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ name: Valgrind Check
on:
pull_request:
branches: [ "main" ]
# push:
# branches: [ "github-actions-build" ]
push:
branches: [ "seeder-valgrind" ]
workflow_dispatch:


Expand Down
52 changes: 11 additions & 41 deletions .github/workflows/cran-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ permissions:

jobs:
cran-check:
env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
strategy:
fail-fast: false
matrix:
Expand All @@ -18,13 +20,9 @@ jobs:
{os: "windows-latest", r: "release", compiler_version: 15},
{os: "windows-latest", r: "devel", compiler_version: 15},
{os: "macos-latest", r: "release", compiler_version: 15},
{os: "macos-latest", r: "devel", compiler_version: 15},
# {os: "macos-latest", r: "devel", compiler_version: 15},
{os: "macos-latest", r: "release", compiler_version: 14},
]
# os: [ubuntu-latest]
# r: ['release']
# compiler: ['clang']
# compiler_version: [14, 17]
runs-on: ${{matrix.os}}
name: ${{ matrix.os }}_${{ matrix.r}}
steps:
Expand Down Expand Up @@ -56,54 +54,26 @@ jobs:
with:
extra-packages: any::rcmdcheck, any::roxygen2
needs: check
- name: Setup compiler
- name: Install mac-r-tools
if: runner.os == 'macOs'
uses: KyleMayes/install-llvm-action@v2
with:
version: ${{matrix.compiler_version}}
env: true
directory: ".."
- name: Setup Xcode
if: runner.os == 'macOs'
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: latest
run: |
install.packages("remotes")
remotes::install_github("coatless-mac/macrtools")
macrtools::macos_rtools_install()
shell: Rscript {0}
- name: Build and Check ToxicR
if: runner.os != 'Windows'
run: |
R CMD build .
file config.log
cat config.log
r_output=$(R CMD build .)
echo "$r_output"
package_name=$(echo "$r_output" | sed -n "s/.*building ‘\([^’]*\.tar\.gz\)’.*/\1/p")
echo "$package_name"
package_name=$(echo "$r_output" | sed -n "s/.*building ‘\([^’]*\.tar\.gz\)’.*/\1/p")
R CMD check --as-cran --no-manual $package_name
file ToxicR.Rcheck/00install.log
file ToxicR/ToxicR.Rcheck/00install.log
cat ToxicR.Rcheck/00install.log
cat ToxicR.Rcheck/00check.log
shell: bash
working-directory: "."
- name: Build and Check ToxicR
if: runner.os == 'Windows'
run: |
r_output=$(R CMD build .)
echo "$r_output"
package_name=$(echo "$r_output" | sed -n "s/.*building '\([^']*\.tar\.gz\)'.*/\1/p")
echo "$package_name"
R CMD check --as-cran --no-manual $package_name
file ToxicR.Rcheck/00install.log
file ToxicR/ToxicR.Rcheck/00install.log
cat ToxicR.Rcheck/00install.log
cat ToxicR.Rcheck/00check.log
shell: bash
working-directory: "."
# - name: Show testthat output
# if: always()
# run: |
# echo ::group::Show testthat output
# find check -name 'testthat.Rout*' -exec cat '{}' \; || true
# echo ::endgroup::
# shell: bash
# working-directory: "."
working-directory: "."
81 changes: 81 additions & 0 deletions .github/workflows/mac-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: MacOS check

on:
push:
branches: [ "bk_omp" ]
workflow_dispatch:

permissions:
contents: read

jobs:
cran-check:
env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
strategy:
fail-fast: false
matrix:
include: [
{os: "macos-latest", r: "release", compiler_version: 15},
{os: "macos-latest", r: "release", compiler_version: 14},
]
runs-on: ${{matrix.os}}
name: ${{ matrix.os }}_${{ matrix.r}}_${{matrix.compiler_version}}
steps:
- uses: actions/checkout@v4
- uses: r-lib/actions/setup-r@v2
with:
r-version: ${{matrix.r}}
- uses: awalsh128/cache-apt-pkgs-action@latest
if: runner.os == 'Linux'
with:
packages: |
cmake cmake-data gsl dh-elpa-helper libcmark-gfm-extensions0.29.0.gfm.3
libcmark-gfm0.29.0.gfm.3 libcurl4-openssl-dev libjsoncpp25 librhash0
pandoc pandoc-data texlive-latex-base texlive-latex-recommended
texlive-fonts-recommended
version: 1.0
- name: Restore R package cache (Linux)
if: runner.os == 'Linux'
id: cache-packages
uses: actions/cache@v4
with:
key: r-${{ hashFiles('DESCRIPTION') }}
path: ${{ env.R_LIBS_USER }}
- name: Install GSL (macOS)
if: runner.os == 'macOs'
run: |
brew install gsl openssl
- uses: r-lib/actions/setup-r-dependencies@v2
with:
extra-packages: any::rcmdcheck, any::roxygen2
needs: check
- name: Install mac-r-tools
if: runner.os == 'macOs'
run: |
install.packages("remotes")
remotes::install_github("coatless-mac/macrtools")
macrtools::macos_rtools_install()
shell: Rscript {0}
- name: Build and Check ToxicR
if: runner.os == 'Linux'
run: |
R CMD build .
r_output=$(R CMD build .)
echo "$r_output"
package_name=$(echo "$r_output" | sed -n "s/.*building ‘\([^’]*\.tar\.gz\)’.*/\1/p")
echo "$package_name"
R CMD check --as-cran --no-manual $package_name
shell: bash
working-directory: "."
- name: Build and Check ToxicR (MacOs)
if: runner.os == 'macOs'
run: |
R CMD build .
r_output=$(R CMD build .)
echo "$r_output"
package_name=$(echo "$r_output" | sed -n "s/.*building ‘\([^’]*\.tar\.gz\)’.*/\1/p")
echo "$package_name"
R CMD check --as-cran --no-manual $package_name
shell: bash
working-directory: "."
95 changes: 95 additions & 0 deletions .github/workflows/rhub.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
# R-hub's generic GitHub Actions workflow file. It's canonical location is at
# https://github.com/r-hub/actions/blob/v1/workflows/rhub.yaml
# You can update this file to a newer version using the rhub2 package:
#
# rhub::rhub_setup()
#
# It is unlikely that you need to modify this file manually.

name: R-hub
run-name: "${{ github.event.inputs.id }}: ${{ github.event.inputs.name || format('Manually run by {0}', github.triggering_actor) }}"

on:
workflow_dispatch:
inputs:
config:
description: 'A comma separated list of R-hub platforms to use.'
type: string
default: 'linux,windows,macos'
name:
description: 'Run name. You can leave this empty now.'
type: string
id:
description: 'Unique ID. You can leave this empty now.'
type: string

jobs:

setup:
runs-on: ubuntu-latest
outputs:
containers: ${{ steps.rhub-setup.outputs.containers }}
platforms: ${{ steps.rhub-setup.outputs.platforms }}

steps:
# NO NEED TO CHECKOUT HERE
- uses: r-hub/actions/setup@v1
with:
config: ${{ github.event.inputs.config }}
id: rhub-setup

linux-containers:
needs: setup
if: ${{ needs.setup.outputs.containers != '[]' }}
runs-on: ubuntu-latest
name: ${{ matrix.config.label }}
strategy:
fail-fast: false
matrix:
config: ${{ fromJson(needs.setup.outputs.containers) }}
container:
image: ${{ matrix.config.container }}

steps:
- uses: r-hub/actions/checkout@v1
- uses: r-hub/actions/platform-info@v1
with:
token: ${{ secrets.RHUB_TOKEN }}
job-config: ${{ matrix.config.job-config }}
- uses: r-hub/actions/setup-deps@v1
with:
token: ${{ secrets.RHUB_TOKEN }}
job-config: ${{ matrix.config.job-config }}
- uses: r-hub/actions/run-check@v1
with:
token: ${{ secrets.RHUB_TOKEN }}
job-config: ${{ matrix.config.job-config }}

other-platforms:
needs: setup
if: ${{ needs.setup.outputs.platforms != '[]' }}
runs-on: ${{ matrix.config.os }}
name: ${{ matrix.config.label }}
strategy:
fail-fast: false
matrix:
config: ${{ fromJson(needs.setup.outputs.platforms) }}

steps:
- uses: r-hub/actions/checkout@v1
- uses: r-hub/actions/setup-r@v1
with:
job-config: ${{ matrix.config.job-config }}
token: ${{ secrets.RHUB_TOKEN }}
- uses: r-hub/actions/platform-info@v1
with:
token: ${{ secrets.RHUB_TOKEN }}
job-config: ${{ matrix.config.job-config }}
- uses: r-hub/actions/setup-deps@v1
with:
job-config: ${{ matrix.config.job-config }}
token: ${{ secrets.RHUB_TOKEN }}
- uses: r-hub/actions/run-check@v1
with:
job-config: ${{ matrix.config.job-config }}
token: ${{ secrets.RHUB_TOKEN }}
2 changes: 0 additions & 2 deletions .github/workflows/sanitizer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ name: UBSAN/ASAN Checks
on:
pull_request:
branches: [ "main" ]
push:
branches: [ "github-actions-build", "brian-bk22-plotting-patch", "bounds-check-testing" ]
workflow_dispatch:


Expand Down
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
*.o
*.so
*.Rproj
.Rproj.user
.Rhistory
.vscode/*
.RData
*.tar.gz
*.dll
*.dll
install.sh
5 changes: 3 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
# Changes
## Version 23.10.1.2.0
## The following cumulative fixes are in version 23.10.1.2.0
## Version 23.10.1.2.4
## The following cumulative fixes are in version 23.10.1.2.4
- Add the ability to set a seed for nlopt and GSL to allow for consistent results
- Set additional checks and guards for openMP
## New Features
- Added setseedGSL function with a default seed value of 12331
## Version 23.10.1.1.1
Expand Down
6 changes: 3 additions & 3 deletions DESCRIPTION
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
Package: ToxicR
Type: Package
Title: Analyzing Toxicology Dose-Response Data
Version: 24.1.1.2.1
Date: 2024-07-02
Version: 24.1.1.2.4
Date: 2024-08-24
Authors@R:
c(
person(given = "Matt",
Expand Down Expand Up @@ -77,7 +77,7 @@ Imports: Rcpp (>= 1.0.0), ggplot2 (>= 3.3.2), shiny (>= 1.5.0), coda
(>= 0.19-4), scales (>= 1.1.1), forcats, ggridges (>= 0.5.3),
doBy (>= 4.6.11), multcomp (>= 1.4), dplyr (>= 1.0.7), remotes
LinkingTo: Rcpp, RcppEigen, RcppGSL
RoxygenNote: 7.3.1
RoxygenNote: 7.3.2
Encoding: UTF-8
VignetteBuilder: knitr
Suggests: plotly (>= 4.9.2.1), rmarkdown, actuar (>= 3.2-0),ggpubr (>=
Expand Down
Loading

0 comments on commit 56b95c2

Please sign in to comment.