name: Post-merge Tests
on:
  workflow_dispatch:  # allow manual triggering of this workflow
    inputs:
      outgoing_ref:
        description: "The ref to be built. Can be a tag, commit hash, or branch name"
        required: true
        default: "main"
  push:
    # Run when the main branch is pushed to
    branches:
      - main

jobs:
  prerelease-cython:
    name: Pre-release Cython
    runs-on: ubuntu-22.04
    timeout-minutes: 60
    env:
      HDF5_LIBDIR: /usr/lib/x86_64-linux-gnu/hdf5/serial
      HDF5_INCLUDEDIR: /usr/include/hdf5/serial
    steps:
    - uses: actions/checkout@v3
      name: Checkout the repository
      with:
        submodules: recursive
    - name: Setup Python
      uses: actions/setup-python@v4
      with:
        python-version: 3.11
        architecture: x64
    - name: Install Apt dependencies
      run: |
        sudo apt update
        sudo apt install libboost-dev libopenblas-dev libhdf5-dev
    - name: Upgrade pip
      run: python3 -m pip install -U pip setuptools wheel
    - name: Install Python dependencies
      run: |
        python3 -m pip install ruamel.yaml scons numpy pandas h5py pytest pint \
          pytest-github-actions-annotate-failures
        python3 -m pip install --pre cython
    - name: Build Cantera
      run: python3 `which scons` build env_vars=all
        CXX=clang++-12 CC=clang-12 f90_interface=n extra_lib_dirs=/usr/lib/llvm/lib
        -j2 debug=n --debug=time hdf_libdir=$HDF5_LIBDIR hdf_include=$HDF5_INCLUDEDIR
    - name: Test Cantera
      run:
        python3 `which scons` test show_long_tests=yes verbose_tests=yes --debug=time
