Skip to content

CI: Update plugindb.yml to allow flexible deps in plugins #51

CI: Update plugindb.yml to allow flexible deps in plugins

CI: Update plugindb.yml to allow flexible deps in plugins #51

Workflow file for this run

name: manualcore
# Manual cmake installation of ncrystal_core, running core ctests, adding
# ncrystal-python and ncrystal-verify.
on:
push:
pull_request:
schedule:
- cron: '13 15 * * 0' # 13:15 every Sunday
jobs:
ncdevtool_check:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
path: src
- name: Pip install packages for ncdevtool
run: pip install -r ./src/devel/reqs/requirements_devel.txt
- name: ncdevtool checks
run: ./src/devel/bin/ncdevtool check -n "fix""me"
build:
needs: [ ncdevtool_check ]
strategy:
matrix:
os: [ubuntu-latest, macos-latest,windows-latest]
name: ${{ matrix.os }}
runs-on: ${{ matrix.os }}
timeout-minutes: 20
steps:
- name: Setup python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Checkout
uses: actions/checkout@v4
with:
path: src
- name: Show CMake version
run: cmake --version
- name: Enable parallel cmake
run: python ./src/devel/bin/ncdevtool nprocs --enable-github-parallel
- name: CMake cfg ncrystal-core
run: >
cmake
-S ./src/ncrystal_core
-B ./build
-DCMAKE_BUILD_TYPE=Debug
"-DCMAKE_INSTALL_PREFIX=./install"
-DCMAKE_INSTALL_BINDIR=bin
-DCMAKE_INSTALL_LIBDIR=lib
-DNCRYSTAL_ENABLE_CORE_TESTING=ON
- name: CMake build
run: cmake --build ./build --config Debug
- name: CTest ncrystal_core
run: ctest --test-dir ./build --build-config Debug --no-tests=error --output-on-failure
timeout-minutes: 1
- name: CMake install
run: cmake --install ./build --config Debug
- name: Pip install ncrystal-python
run: pip install ./src/ncrystal_python
- name: Setup paths (Unix)
if: runner.os != 'Windows'
run: |
export PATH="${PWD}/install/bin:${PATH}"
echo "PATH=${PATH}" >> $GITHUB_ENV
echo "LD_LIBRARY_PATH=$(ncrystal-config --show shlibdir):${LD_LIBRARY_PATH}" >> $GITHUB_ENV
echo "DYLD_LIBRARY_PATH=$(ncrystal-config --show shlibdir):${DYLD_LIBRARY_PATH}" >> $GITHUB_ENV
- name: Setup paths (Windows)
if: runner.os == 'Windows'
shell: python
run: |
import pathlib, os
instdir = pathlib.Path('.').joinpath('install')
gh = pathlib.Path(os.environ['GITHUB_ENV'])
gh.write_text( gh.read_text()
+ f"\nPATH={instdir/'bin'};{os.environ.get('PATH','')}\n" )
- name: ncrystal-config -s
run: ncrystal-config -s
- name: nctool test
timeout-minutes: 1
run: nctool --test
- name: Pip install ncrystal-verify
run: pip install "./src/ncrystal_verify[all]"