Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Detailed installation instructions #126

Merged
merged 159 commits into from
Jul 14, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
159 commits
Select commit Hold shift + click to select a range
53941d8
on label install check mac & windows
j-i-l Jul 3, 2024
e87a154
fixing running condition
j-i-l Jul 3, 2024
a1da57d
installing dependencies for macos
j-i-l Jul 3, 2024
b6678f5
try installing gsl package
j-i-l Jul 3, 2024
f2ff8d9
dedicated window pipeline
j-i-l Jul 8, 2024
de9d914
fixing os parameter
j-i-l Jul 8, 2024
3b8dc5c
dedicated macos workflow
j-i-l Jul 8, 2024
5724c61
Revert "try installing gsl package"
j-i-l Jul 8, 2024
3ee1ecb
minor label formatting
j-i-l Jul 8, 2024
b7d21c5
fixing container declaration
j-i-l Jul 8, 2024
47c81a2
installing jags
j-i-l Jul 8, 2024
7bf00df
adding jags path
j-i-l Jul 8, 2024
fb22456
trying again with install
j-i-l Jul 8, 2024
935f6b1
installing rjags providing Jags home
j-i-l Jul 8, 2024
5e8c341
try with silent mode fore setup exe'
j-i-l Jul 9, 2024
e7053fb
adding more R versions
j-i-l Jul 9, 2024
cd4c9a2
install INLA
j-i-l Jul 9, 2024
0cde7e5
renaming workflow
j-i-l Jul 9, 2024
5b858b3
debugging - show gls configs
j-i-l Jul 9, 2024
7efc236
fixing to always report
j-i-l Jul 9, 2024
d458de5
create configure file with autoconf
j-i-l Jul 9, 2024
313caaa
installing automake
j-i-l Jul 9, 2024
0bd4348
debugging - gsl path
j-i-l Jul 9, 2024
2553b5e
providing flags for clang/gcc as well
j-i-l Jul 9, 2024
b3230bc
debugging - check jags location
j-i-l Jul 9, 2024
97033ce
try to detect the paths for jags
j-i-l Jul 9, 2024
8aa1f10
passing the args to Makevars
j-i-l Jul 9, 2024
b90ff58
better test
j-i-l Jul 9, 2024
b0501ca
debugging
j-i-l Jul 9, 2024
60e75c9
unconditional try
j-i-l Jul 9, 2024
7c87e25
debugging
j-i-l Jul 9, 2024
373aadc
separate install of rjags
j-i-l Jul 9, 2024
965d7c4
simplify
j-i-l Jul 9, 2024
9a3af1a
working with only configure.ac file
j-i-l Jul 10, 2024
ceef3ca
providing jags paths does not help
j-i-l Jul 10, 2024
4b71bc1
started with Fedora installation workflow
j-i-l Jul 10, 2024
44bf34c
started with restructuring installation section
j-i-l Jul 10, 2024
1b84605
adding installing ... sections
j-i-l Jul 10, 2024
5480669
workflow to Fedora
j-i-l Jul 10, 2024
32d7d7d
in a container it is
j-i-l Jul 10, 2024
c9e24fa
installing missing tools
j-i-l Jul 10, 2024
030f63a
specify mirror
j-i-l Jul 10, 2024
deb6cff
missing gfortran and deps
j-i-l Jul 10, 2024
5ec8092
wip on README
j-i-l Jul 10, 2024
e209b8a
fixing INLA installation mirror
j-i-l Jul 10, 2024
d44ab9f
more details on jags
j-i-l Jul 10, 2024
c9ba618
adding mirrors
j-i-l Jul 10, 2024
765a397
Info about GSL
j-i-l Jul 10, 2024
af68530
fixing installation command
j-i-l Jul 10, 2024
ead6eee
done with extre installation steps
j-i-l Jul 10, 2024
ec1f05e
Merge pull request #122 from furrer-lab/120-mac-based-testing
j-i-l Jul 10, 2024
1d3a293
harmonizing structure
j-i-l Jul 10, 2024
0d9b2bc
fixing gsl download
j-i-l Jul 10, 2024
df75193
providig mirror
j-i-l Jul 10, 2024
7cde62f
separately install rjags
j-i-l Jul 10, 2024
08d3e2a
install R-devtools
j-i-l Jul 10, 2024
9379b4a
adding BiocManager deps
j-i-l Jul 10, 2024
b20ada3
fixing testthat call
j-i-l Jul 10, 2024
bd57b51
installing INLA separately
j-i-l Jul 10, 2024
b947d8f
fixing name
j-i-l Jul 10, 2024
4166ad8
intalling R on macos
j-i-l Jul 10, 2024
60ace2e
test without cmake
j-i-l Jul 10, 2024
2d0bd77
getting the tests and run testthat
j-i-l Jul 10, 2024
8db3c5d
properly handling renv
j-i-l Jul 10, 2024
3eb29f3
attempt to link (r)jags
j-i-l Jul 10, 2024
03458a3
intalling alos Suggests
j-i-l Jul 10, 2024
6d6dc4a
fixing path to jags.pc
j-i-l Jul 10, 2024
503eb35
installing Suggests
j-i-l Jul 10, 2024
4ed0aa1
also install rjags explicitly
j-i-l Jul 10, 2024
33f8949
install pkg-config for rjags
j-i-l Jul 10, 2024
c09f9e3
working config on fedora server
j-i-l Jul 10, 2024
be0c4ef
try with the pkg-config path
j-i-l Jul 10, 2024
6e9e0e1
without specifying type
j-i-l Jul 10, 2024
d69f0bc
debugging
j-i-l Jul 10, 2024
bf4abe5
fixed R script run
j-i-l Jul 10, 2024
1b79080
check runtime linkage
j-i-l Jul 10, 2024
d6c5e2d
better highlighting
j-i-l Jul 10, 2024
f6b207b
debugging
j-i-l Jul 10, 2024
f724d4b
provide path to jags library
j-i-l Jul 10, 2024
4437722
try without pkg_config_path
j-i-l Jul 10, 2024
219e0e1
details about fedora and jags
j-i-l Jul 10, 2024
731d865
including entropy package
j-i-l Jul 11, 2024
79b9304
to revert - test with actual version
j-i-l Jul 11, 2024
f87bcc7
run autoconf before installing from source
j-i-l Jul 11, 2024
0350550
started with prereq part
j-i-l Jul 11, 2024
7971f17
started with macos prereqs
j-i-l Jul 11, 2024
2ad346a
separate location for build and test
j-i-l Jul 11, 2024
fae06ae
Ubuntu installation workflow
j-i-l Jul 11, 2024
54872ba
Ubuntu based workflow
j-i-l Jul 11, 2024
995d8ad
debugging folder permisssions
j-i-l Jul 11, 2024
94c21bd
allow adm group to write to /usr/local/lib
j-i-l Jul 11, 2024
163df63
install dependencies
j-i-l Jul 11, 2024
ac3f2d9
completing installing from ... parts
j-i-l Jul 11, 2024
7ca8e25
formatting
j-i-l Jul 11, 2024
34ca1ac
specify which dependencies
j-i-l Jul 11, 2024
22314ba
identical testing workflow
j-i-l Jul 11, 2024
cf5c91c
fixing pkg root
j-i-l Jul 11, 2024
a4d3b87
adding dependencies for testing
j-i-l Jul 11, 2024
361d512
adding udunits for INLA #125
j-i-l Jul 11, 2024
12466a4
typeo
j-i-l Jul 11, 2024
90b52cc
adiding curl dev for inla dep.
j-i-l Jul 12, 2024
9530635
installing INLA dependencies
j-i-l Jul 12, 2024
0875d41
try to avoid version check issue in devtools
j-i-l Jul 12, 2024
f7254de
installing openssl heasders
j-i-l Jul 12, 2024
06f9a06
installing openssl dev
j-i-l Jul 12, 2024
b43939e
fixing package name
j-i-l Jul 12, 2024
30cfd5e
first make dir writeable
j-i-l Jul 12, 2024
16f58f5
macos install gdal for s2>fmesher>INLA
j-i-l Jul 12, 2024
100272c
installing gdal for INLA
j-i-l Jul 12, 2024
6fd91a0
fixing folder perms for R site-library
j-i-l Jul 12, 2024
d04f4db
jpeg headers for INLA dependency
j-i-l Jul 12, 2024
f55a6c0
includig gdal headers for INLA
j-i-l Jul 12, 2024
e90c50f
adding gdal headers for INLA
j-i-l Jul 12, 2024
b2c1453
adding testthat again
j-i-l Jul 12, 2024
da6debb
try install avoiding useing local .o and .so
j-i-l Jul 12, 2024
3f3944c
testing the install via CRAN
j-i-l Jul 12, 2024
661d5a8
bouncing moments dependency
j-i-l Jul 12, 2024
fbea50d
fixing typeo
j-i-l Jul 12, 2024
7289f2f
proj headers for sf>fmesher>INLA
j-i-l Jul 12, 2024
44c80c0
adding proj headers for INLA
j-i-l Jul 12, 2024
ceb9833
adding configure built with configure.ac - see #127
j-i-l Jul 12, 2024
5268ae3
specify mirror for CRAN install
j-i-l Jul 12, 2024
800825f
adding some more info to configure
j-i-l Jul 12, 2024
557f460
fixing typeo
j-i-l Jul 12, 2024
bc60eac
uniform naming
j-i-l Jul 12, 2024
d730521
loading library
j-i-l Jul 12, 2024
b733774
cleaning up windows workflow
j-i-l Jul 12, 2024
17d5860
cleaning up macos workflow
j-i-l Jul 12, 2024
b301aeb
cleaning up fedora workflow
j-i-l Jul 12, 2024
724061b
cleaning up ubuntu workflow
j-i-l Jul 12, 2024
e79210a
installing geos headers for INLA
j-i-l Jul 12, 2024
622879d
installing geos>terra>INLA
j-i-l Jul 12, 2024
32259f3
corrected comment
j-i-l Jul 12, 2024
881de35
building from source
j-i-l Jul 12, 2024
450757a
how to install from source
j-i-l Jul 12, 2024
43a8519
adding pandoc to build from source
j-i-l Jul 13, 2024
3b57a82
do not build vignettes
j-i-l Jul 13, 2024
e089bd3
fixing devtools info for mac +
j-i-l Jul 13, 2024
ddbb641
do not build vignettes
j-i-l Jul 13, 2024
07a0433
specify repos
j-i-l Jul 13, 2024
9722eb9
ditch the matrix
j-i-l Jul 13, 2024
f79ea38
using autoreconf
j-i-l Jul 13, 2024
a7f44bb
removing virtual env setup for now (is untested)
j-i-l Jul 13, 2024
6cb47f2
only claim what we really tested
j-i-l Jul 13, 2024
0e7f79b
minor completion by adding mirror
j-i-l Jul 13, 2024
03336c8
adding install status badges
j-i-l Jul 13, 2024
9de0247
minor formatting
j-i-l Jul 13, 2024
6a90b73
running on specific branch
j-i-l Jul 14, 2024
181888d
more structure in INLA part
j-i-l Jul 14, 2024
9bba820
test headers
j-i-l Jul 14, 2024
c535cef
formatting dropdowns as headers
j-i-l Jul 14, 2024
a297424
properly set targeted branch
j-i-l Jul 14, 2024
4b8e41d
minor formatting
j-i-l Jul 14, 2024
4de2075
adding rjags install for ubunut
j-i-l Jul 14, 2024
9152eec
fixing typos
j-i-l Jul 14, 2024
0db3391
fixing #129 - typo
j-i-l Jul 14, 2024
0ec8d38
better indentation
j-i-l Jul 14, 2024
fbc544b
fixing some permissions for fedora
j-i-l Jul 14, 2024
4bcf837
simply ignore the installation issue for html docs
j-i-l Jul 14, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions .github/workflows/onlabel_CRAN_checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -87,10 +87,9 @@ jobs:
run: |
renv::deactivate()
shell: Rscript {0}
- name: Change permissions of configure
- name: Configure ABN for installation
run: |
chmod +x configure
shell: bash
autoreconf
- name: Install package dependencies
run: |
devtools::install_deps(pkg = '.', dependencies = TRUE, upgrade='never')
Expand Down
164 changes: 164 additions & 0 deletions .github/workflows/onlabel_Fedora_setup.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,164 @@
# Workflow is triggered on label and check installation on various operating systems
# This action is adapted from https://github.com/t4d-gmbh/stubbed_versioning
name: Fedora Install

on:
pull_request:
types: [ labeled ]

env:
LABEL_CHECK: 'fedoraInstall::check'
LABEL_SUCCESS: 'fedoraInstall::passed'
LABEL_FAILURE: 'fedoraInstall::failed'
JAGS: '4.3.2'
BUILD_LOC: "./build"
BRANCH: ${{ github.head_ref || github.ref_name }}

permissions:
packages: read
contents: write
pull-requests: write
repository-projects: write

jobs:
setup-and-install:
runs-on: ubuntu-latest
container:
image: "fedora:latest"
if: ${{ github.event.label.name == 'fedoraInstall::check' }}
name: fedora-latest R release
env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
R_KEEP_PKG_SOURCE: yes
steps:
- name: prepare fedora
run: |
dnf -y install wget
dnf -y install gcc
dnf -y install gcc-c++
dnf -y install gfortran
dnf -y install lapack* # is needed on fedora server
dnf -y install blas*
dnf -y install atlas*

- name: install R
run: |
dnf -y install R

- name: install config and build dependencies
run: |
dnf -y install pkg-config
dnf -y install cmake
dnf -y install R-devtools

- name: install GSL
run: |
dnf -y install gsl-devel

- name: install JAGS
run: |
wget -O /tmp/jags.tar.gz https://sourceforge.net/projects/mcmc-jags/files/JAGS/4.x/Source/JAGS-${{ env.JAGS }}.tar.gz/download
cd /tmp
tar -xf jags.tar.gz
cd /tmp/JAGS-${{ env.JAGS }}
./configure --libdir=/usr/local/lib64
make
make install

- name: assert runtime linkage
run: |
echo "/usr/local/lib64" > /etc/ld.so.conf.d/jags.conf
/sbin/ldconfig

- name: install rjags
run: |
install.packages("rjags", configure.args="--enable-rpath", repos=c(CRAN="https://cran.r-project.org"))
library("rjags")
shell: Rscript {0}

- name: install INLA dependencies
run: |
dnf -y install udunits2-devel
dnf -y install libcurl-devel # rCurls package (for INLA)
dnf -y install openssl-devel # s2 package
dnf -y install libjpeg-devel # jpeg package
dnf -y install proj-devel # sf package
dnf -y install geos-devel # sf package
dnf -y install gdal-devel # terra package

- name: install INLA
run: |
install.packages("INLA", repos = c(CRAN = "https://cran.r-project.org", INLA = "https://inla.r-inla-download.org/R/stable"), dep = TRUE)
shell: Rscript {0}

- name: installing dependencies from BiocManager
run: |
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager", repos=c(CRAN="https://cran.r-project.org"))
BiocManager::install("Rgraphviz")
BiocManager::install("graph")
shell: Rscript {0}

- name: install from CRAN
run: |
install.packages('abn', repos=c(CRAN="https://cran.r-project.org"))
library('abn')
shell: Rscript {0}

- name: install from GitHub
run: |
devtools::install_github("furrer-lab/abn", ref="${{ env.BRANCH }}", dependencies=c("Depends", "Imports", "LinkingTo"), local=FALSE)
library('abn')
shell: Rscript {0}

- name: fetch the repository from GitHub
uses: actions/checkout@v4

- name: deactivate the renv
run: |
renv::deactivate()
shell: Rscript {0}

- name: install from source
run: |
devtools::install_deps(pkg = '.', dependencies = TRUE, upgrade='never', repos=c(CRAN="https://cran.r-project.org"))
devtools::build(pkg = '.', path = '${{ env.BUILD_LOC }}/abn.tar.gz', vignettes = FALSE)
install.packages('${{ env.BUILD_LOC }}/abn.tar.gz', repos=NULL, type="source")
shell: Rscript {0}

report_Fedora_setup:
if: ${{ (success() || failure()) }}
needs:
- setup-and-install
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
repository-projects: write
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
OWNER: ${{ github.repository_owner }}
REPO: ${{ github.event.repository.name }}
steps:
- uses: actions/checkout@v4
- name: Check if on demand tasks succeeded
run: |
gh pr edit ${{ env.EVENT }} --remove-label ${{ env.LABEL_CHECK }} --repo ${{ env.OWNER }}/${{ env.REPO }}
if [ ${{ needs.setup-and-install.result }} == "success" ]; then
gh pr edit ${{ env.EVENT }} --remove-label ${{ env.LABEL_FAILURE }} --repo ${{ env.OWNER }}/${{ env.REPO }}
gh pr edit ${{ env.EVENT }} --add-label ${{ env.LABEL_SUCCESS }} --repo ${{ env.OWNER }}/${{ env.REPO }}
echo "### ${{ github.event.label.url }} passed! :rocket:" >> $GITHUB_STEP_SUMMARY
exit 0
elif [ ${{ needs.setup-and-install.result }} == "failure" ]; then
gh pr edit ${{ env.EVENT }} --remove-label ${{ env.LABEL_SUCCESS }} --repo ${{ env.OWNER }}/${{ env.REPO }}
gh pr edit ${{ env.EVENT }} --add-label ${{ env.LABEL_FAILURE }} --repo ${{ env.OWNER }}/${{ env.REPO }}
echo "### ${{ github.event.label.url }} failed!" >> $GITHUB_STEP_SUMMARY
exit 1
else
gh pr edit ${{ env.EVENT }} --add-label ${{ env.LABEL_CHECK }} --repo ${{ env.OWNER }}/${{ env.REPO }}
echo "On demand task outcome was ${{ needs.setup-and-installoutcome }}"
fi
shell: bash
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
EVENT: ${{ github.event.number }} # This is either the issue or pr
134 changes: 134 additions & 0 deletions .github/workflows/onlabel_Macos_setup.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
# Workflow is triggered on label and check installation on various operating systems
# This action is adapted from https://github.com/t4d-gmbh/stubbed_versioning
name: Macos Install

on:
pull_request:
types: [ labeled ]

env:
LABEL_CHECK: 'macosInstall::check'
LABEL_SUCCESS: 'macosInstall::passed'
LABEL_FAILURE: 'macosInstall::failed'
BUILD_LOC: "./build"
BRANCH: ${{ github.head_ref || github.ref_name }}

permissions:
packages: read
contents: write
pull-requests: write
repository-projects: write

jobs:
setup-and-install:
if: ${{ github.event.label.name == 'macosInstall::check' }}
name: macos-latest R release
runs-on: macos-latest
env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
R_KEEP_PKG_SOURCE: yes
steps:
- name: prepare macos
run: |
brew install R
brew install pkg-config
brew install automake # needed to run autoconf

- name: install GSL
run: |
brew install gsl

- name: install JAGS
run: |
brew install jags

- name: install rjags
run: |
install.packages("rjags", type="source", repos=c(CRAN="https://cran.r-project.org"))
library("rjags")
shell: Rscript {0}

- name: install INLA dependencies
run: |
brew install udunits
brew install openssl@1.1 # s2 package
brew install gdal # installs geos as dependency
# for s2 fmesher terra)
brew install proj # sf package

- name: install INLA
run: |
install.packages("INLA", repos = c(CRAN = "https://cran.r-project.org", INLA = "https://inla.r-inla-download.org/R/stable"), dep = TRUE)
shell: Rscript {0}

- name: installing dependencies from BiocManager
run: |
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager", repos=c(CRAN="https://cran.r-project.org"))
BiocManager::install("Rgraphviz")
BiocManager::install("graph")
shell: Rscript {0}

- name: install from CRAN
run: |
install.packages('abn', repos=c(CRAN="https://cran.r-project.org"))
library('abn')
shell: Rscript {0}

- name: install from GitHub
run: |
devtools::install_github("furrer-lab/abn", ref="${{ env.BRANCH }}", dependencies=c("Depends", "Imports", "LinkingTo"), local=FALSE)
library('abn')
shell: Rscript {0}

- name: fetch the repository from GitHub
uses: actions/checkout@v4

- name: deactivate the renv
run: |
renv::deactivate()
shell: Rscript {0}

- name: install from source
run: |
devtools::install_deps(pkg = '.', dependencies = TRUE, upgrade='never', repos=c(CRAN="https://cran.r-project.org"))
devtools::build(pkg = '.', path = '${{ env.BUILD_LOC }}/abn.tar.gz', vignettes = FALSE)
install.packages('${{ env.BUILD_LOC }}/abn.tar.gz', repos=NULL, type="source")
shell: Rscript {0}

report_Macos_setup:
if: ${{ (success() || failure()) }}
needs:
- setup-and-install
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
repository-projects: write
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
OWNER: ${{ github.repository_owner }}
REPO: ${{ github.event.repository.name }}
steps:
- uses: actions/checkout@v4
- name: Check if on demand tasks succeeded
run: |
gh pr edit ${{ env.EVENT }} --remove-label ${{ env.LABEL_CHECK }} --repo ${{ env.OWNER }}/${{ env.REPO }}
if [ ${{ needs.setup-and-install.result }} == "success" ]; then
gh pr edit ${{ env.EVENT }} --remove-label ${{ env.LABEL_FAILURE }} --repo ${{ env.OWNER }}/${{ env.REPO }}
gh pr edit ${{ env.EVENT }} --add-label ${{ env.LABEL_SUCCESS }} --repo ${{ env.OWNER }}/${{ env.REPO }}
echo "### ${{ github.event.label.url }} passed! :rocket:" >> $GITHUB_STEP_SUMMARY
exit 0
elif [ ${{ needs.setup-and-install.result }} == "failure" ]; then
gh pr edit ${{ env.EVENT }} --remove-label ${{ env.LABEL_SUCCESS }} --repo ${{ env.OWNER }}/${{ env.REPO }}
gh pr edit ${{ env.EVENT }} --add-label ${{ env.LABEL_FAILURE }} --repo ${{ env.OWNER }}/${{ env.REPO }}
echo "### ${{ github.event.label.url }} failed!" >> $GITHUB_STEP_SUMMARY
exit 1
else
gh pr edit ${{ env.EVENT }} --add-label ${{ env.LABEL_CHECK }} --repo ${{ env.OWNER }}/${{ env.REPO }}
echo "On demand task outcome was ${{ needs.setup-and-install.outcome }}"
fi
shell: bash
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
EVENT: ${{ github.event.number }} # This is either the issue or pr
Loading