summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMassimiliano Culpo <massimiliano.culpo@gmail.com>2021-02-24 21:33:14 +0100
committerGitHub <noreply@github.com>2021-02-24 12:33:14 -0800
commit29201814cc2eee12d77e93802802bdfc5db684b8 (patch)
tree49c72c71b26e980e89fbdd3bd126200bd78b2e06
parent58241c2bbd33802c430347c778cba19d17781e0f (diff)
downloadspack-29201814cc2eee12d77e93802802bdfc5db684b8.tar.gz
spack-29201814cc2eee12d77e93802802bdfc5db684b8.tar.bz2
spack-29201814cc2eee12d77e93802802bdfc5db684b8.tar.xz
spack-29201814cc2eee12d77e93802802bdfc5db684b8.zip
Run clingo-cffi tests in a container (#21913)
There clingo-cffi job has two issues to be solved: 1. It uses the default concretizer 2. It requires a package from https://test.pypi.org/simple/ The former can be fixed by setting the SPACK_TEST_SOLVER environment variable to "clingo". The latter though requires clingo-cffi to be pushed to a more stable package index (since https://test.pypi.org/simple/ is meant as a scratch version of PyPI that can be wiped at any time). For the time being run the tests in a container. Switch back to PyPI whenever a new official version of clingo will be released.
-rw-r--r--.github/workflows/linux_unit_tests.yaml42
1 files changed, 6 insertions, 36 deletions
diff --git a/.github/workflows/linux_unit_tests.yaml b/.github/workflows/linux_unit_tests.yaml
index c6b9309e99..9e4332a19f 100644
--- a/.github/workflows/linux_unit_tests.yaml
+++ b/.github/workflows/linux_unit_tests.yaml
@@ -166,47 +166,17 @@ jobs:
with:
flags: unittests,linux,clingo
clingo-cffi:
- # Test for the clingo based solver using the CFFI package
+ # Test for the clingo based solver (using clingo-cffi)
runs-on: ubuntu-latest
+ container: spack/github-actions:clingo-cffi
steps:
- - uses: actions/checkout@v2
- with:
- fetch-depth: 0
- - uses: actions/setup-python@v2
- with:
- python-version: 3.8
- - name: Install System packages
- run: |
- sudo apt-get -y update
- # Needed for unit tests
- sudo apt-get install -y coreutils gfortran graphviz gnupg2 mercurial
- sudo apt-get install -y ninja-build patchelf
- # Needed for kcov
- sudo apt-get -y install cmake binutils-dev libcurl4-openssl-dev
- sudo apt-get -y install zlib1g-dev libdw-dev libiberty-dev
- - name: Install Python packages
- run: |
- pip install --upgrade pip six setuptools codecov coverage cffi
- pip install -i https://test.pypi.org/simple/ clingo-cffi
- - name: Setup git configuration
- run: |
- # Need this for the git tests to succeed.
- git --version
- . .github/workflows/setup_git.sh
- - name: Install kcov for bash script coverage
- env:
- KCOV_VERSION: 34
- run: |
- KCOV_ROOT=$(mktemp -d)
- wget --output-document=${KCOV_ROOT}/${KCOV_VERSION}.tar.gz https://github.com/SimonKagstrom/kcov/archive/v${KCOV_VERSION}.tar.gz
- tar -C ${KCOV_ROOT} -xzvf ${KCOV_ROOT}/${KCOV_VERSION}.tar.gz
- mkdir -p ${KCOV_ROOT}/build
- cd ${KCOV_ROOT}/build && cmake -Wno-dev ${KCOV_ROOT}/kcov-${KCOV_VERSION} && cd -
- make -C ${KCOV_ROOT}/build && sudo make -C ${KCOV_ROOT}/build install
- name: Run unit tests
run: |
whoami && echo PWD=$PWD && echo HOME=$HOME && echo SPACK_TEST_SOLVER=$SPACK_TEST_SOLVER
- python -c "import clingo; print(hasattr(clingo.Symbol, '_rep'), clingo.__version__)"
+ python3 -c "import clingo; print(hasattr(clingo.Symbol, '_rep'), clingo.__version__)"
+ git clone https://github.com/spack/spack.git && cd spack
+ git fetch origin ${{ github.ref }}:test-branch
+ git checkout test-branch
. share/spack/setup-env.sh
spack compiler find
spack solve mpileaks%gcc