cmake/xplatform builds using github/tox/conda workflows #76
Workflow file for this run
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: CondaDev | |
on: | |
workflow_dispatch: | |
pull_request: | |
push: | |
branches: | |
- master | |
- develop | |
jobs: | |
build: | |
name: abc ${{ matrix.python-version }} ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: ['ubuntu-22.04', 'ubuntu-20.04', 'macOS-11', 'windows-2022'] | |
python-version: ['3.11'] | |
use_namespace: [false, true] | |
include: | |
- os: 'ubuntu-22.04' | |
generator: 'Ninja' | |
build_type: 'Release' | |
- os: 'ubuntu-20.04' | |
generator: 'Ninja' | |
build_type: 'RelWithDebInfo' | |
- os: 'macOS-11' | |
generator: 'Ninja' | |
build_type: 'Release' | |
- os: 'windows-2022' | |
generator: 'Ninja' | |
build_type: 'Release' | |
extra_args: '-DABC_USE_NO_PTHREADS=ON -DABC_USE_NO_READLINE=ON' | |
env: | |
OS: ${{ matrix.os }} | |
PY_VER: ${{ matrix.python-version }} | |
PYTHONIOENCODING: utf-8 | |
CMAKE_ARGS: ${{ matrix.use_namespace && '-DABC_USE_NAMESPACE=xxx' || '' }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup base python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: '3.x' | |
- name: Cache conda | |
id: cache | |
uses: actions/cache@v3 | |
env: | |
# Increase this value to reset cache if environment.devenv.yml has not changed | |
CACHE_NUMBER: 2 | |
with: | |
path: ~/conda_pkgs_dir | |
key: ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-${{ hashFiles('environment.devenv.yml') }} | |
- uses: conda-incubator/setup-miniconda@v3 | |
with: | |
auto-update-conda: true | |
auto-activate-base: true | |
activate-environment: '' | |
channels: conda-forge | |
channel-priority: flexible | |
- name: Configure condadev environment | |
shell: bash -l {0} | |
env: | |
PY_VER: ${{ matrix.python-version }} | |
run: | | |
conda config --set always_yes yes --set changeps1 no | |
conda install conda-devenv=3.2.0 | |
conda info | |
conda list | |
- name: Build and test | |
shell: bash -l {0} | |
env: | |
PY_VER: ${{ matrix.python-version }} | |
run: | | |
conda devenv | |
conda activate abc | |
conda info --envs | |
conda list | |
echo $CONDA_PREFIX | |
find $CONDA_PREFIX -maxdepth 2 -type d -name bin | |
cat $(find $CONDA_PREFIX -maxdepth 5 -type f -name dirent.h) || true | |
echo $PATH | |
ctest --build-generator "${{ matrix.generator }}" \ | |
--build-and-test . build \ | |
--build-options ${CMAKE_ARGS} ${{ matrix.extra_args }} \ | |
-DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \ | |
--test-command ctest --rerun-failed --output-on-failure -V |