more #219
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: genieclust for Python | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: ['3.10', '3.11', '3.12', '3.13'] | |
env: | |
R_LIBS_SITE: /usr/lib/R/site-library | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get -y upgrade | |
sudo apt-get -y install libcurl4-openssl-dev python3-rpy2 libmlpack-dev r-base-dev python3-dev pandoc libtirpc-dev | |
sudo mkdir -p /usr/lib/R/site-library | |
sudo Rscript -e "install.packages(c('genie', 'Rcpp', 'tinytest', 'roxygen2', 'pkgbuild'), lib='/usr/lib/R/site-library')" | |
#sudo Rscript -e "devtools::install_github('gagolews/Rd2rst')" | |
sudo make r | |
python3 -m venv python-venv | |
source python-venv/bin/activate | |
python3 -m pip install --upgrade pip | |
if [ -f requirements.txt ]; then python3 -m pip install -r requirements.txt --upgrade; fi | |
python3 -m pip install wheel flake8 pytest --upgrade | |
python3 -m pip install sphinx numpydoc sphinx_rtd_theme sphinx-bootstrap-theme sphinxcontrib-jsmath sphinxcontrib-bibtex myst_parser --upgrade | |
python3 -m pip install rpy2 pweave ipython jupyter tabulate --upgrade | |
- name: Install optional dependencies (nmslib) | |
continue-on-error: true | |
run: | | |
#sudo pip3 install nmslib --upgrade | |
- name: Install optional dependencies (mlpack) | |
continue-on-error: true | |
run: | | |
#sudo pip3 install mlpack --upgrade | |
- name: Test and check Python | |
run: | | |
source python-venv/bin/activate | |
python3 -m pip install . | |
pytest |