Skip to content

Ribbon config initial #2013

Ribbon config initial

Ribbon config initial #2013

Workflow file for this run

name: 'Ubuntu'
on:
pull_request:
paths: ['**.cpp', '**.h', '**.R', '**.cmake', '**.txt', '**.in', '**.yml']
workflow_dispatch:
jobs:
# to run locally install https://github.com/nektos/act and run `act --reuse -j build-jasp --env DISPLAY=$DISPLAY `
# docker commit 484f3a622a13 my-jasp-image:latest
# run desktop with
# xhost +local:docker
# docker exec -it -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --entrypoint bash my-jasp-image:latest
# ./jasp-build/Desktop/JASP
build-jasp:
runs-on: ubuntu-latest
env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
JASP_R_VERSION: '4.5.3'
steps:
- uses: actions/checkout@v3
- uses: r-lib/actions/setup-r@v2
with:
r-version: ${{ env.JASP_R_VERSION }}
- name: Get Installed R Version
run: echo "R_VERSION=$(R --version | head -n 1 | awk '{print $3}')" >> $GITHUB_ENV
- name: Install Qt6
uses: jurplel/install-qt-action@v3
with:
version: 6.10.*
aqtversion: '==3.1.*'
host: 'linux'
target: 'desktop'
arch: 'linux_gcc_64'
cache: 'true'
modules: 'qtpositioning qtwebchannel qtwebengine qtwebsockets qtwebview debug_info qt5compat qtshadertools qtwaylandcompositor'
tools: 'tools_qtcreator,qt.tools.qtcreator tools_cmake tools_ninja'
# act can not use ../ (the default) as dir, so be explicit
dir: '${{ github.workspace }}/qtinstall'
- name: Install dependencies of build system
run: |
# act -j build-jasp was stuck on typing y to continue
sudo apt install -y libboost-dev libjsoncpp25 libjsoncpp-dev libarchive13 libarchive-dev
sudo apt install -y libxcb-xkb-dev libxcb-xkb1 libxcb-xinerama0 libxkbcommon-dev libxkbcommon-x11-dev autoconf zlib1g zlib1g-dev cmake
sudo apt install -y gfortran build-essential flex libssl-dev libgl1-mesa-dev libsqlite3-dev
sudo apt install -y libharfbuzz-dev libfribidi-dev libfreetype6-dev libpng-dev libtiff5-dev libjpeg-dev #required by some r packgaes
sudo apt install -y libglpk-dev libcurl4-openssl-dev libmpfr-dev libfontconfig1-dev libcairo2-dev netcdf-bin #required by some r packages
sudo apt install -y jags
sudo apt install -y libminizip-dev # required by freexl
sudo apt install -y librdata-dev
# to solve qt missing so files.
sudo apt install -y libnss3-dev libnspr4-dev
sudo apt install -y libxcomposite-dev libxdamage-dev libxrandr-dev libxtst-dev libxi-dev
sudo apt install -y libasound2-dev libxkbfile-dev
sudo apt install -y libsodium-dev
git clone https://github.com/jasp-stats/freexl.git
cd freexl && ./configure && make && sudo make install
env:
DEBIAN_FRONTEND: noninteractive
- name: Install boost
uses: MarkusJx/install-boost@v2
id: install-boost
with:
# REQUIRED: Specify the required boost version
# A list of supported versions can be found here:
# https://github.com/MarkusJx/prebuilt-boost/blob/main/versions-manifest.json
boost_version: 1.83.0
platform_version: 22.04
- name: Install Readstat
run: |
wget https://github.com/WizardMac/ReadStat/releases/download/v1.1.9/readstat-1.1.9.tar.gz
tar -xzf readstat-*.tar.gz && cd readstat-*/
./configure
make CFLAGS='-Wno-error=use-after-free' CXXFLAGS='-Wno-error=use-after-free'
sudo make install
- name: Configure JASP desktop
run: |
git submodule update --init
cmake -S . -B jasp-build -DJASP_TEST_BUILD=ON
env:
BOOST_ROOT: ${{ steps.install-boost.outputs.BOOST_ROOT }}
Boost_INCLUDE_DIR: "${{steps.install-boost.outputs.BOOST_ROOT}}/include"
Boost_LIBRARY_DIRS: "${{steps.install-boost.outputs.BOOST_ROOT}}/lib"
R_HOME: "/opt/R/${{ env.R_VERSION }}/lib/R"
- name: Build JASP desktop
run: |
# speed up build with -j
cmake --build jasp-build --target all -j6