From 2079b888c8b14a72bd1558af532f1befd32bcc7c Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Sun, 11 Aug 2024 01:12:27 +0200 Subject: Remove the old concretizer (#45215) The old concretizer is still used to bootstrap clingo from source. If we switch to a DAG model where compilers are treated as nodes, we need to either: 1. fix the old concretizer to support this (which is a lot of work and possibly research), or 2. bootstrap `clingo` without the old concretizer. This PR takes the second approach and gets rid of the old concretizer code. To bootstrap `clingo`, we store some concrete spec prototypes as JSON, select one according to the coarse-grained system architecture, and tweak them according to the current host. The old concretizer and related dead code are removed. In particular, this removes `Spec.normalize()` and related methods, which were used in many unit-tests to set up the test context. The tests have been updated not to use `normalize()`. - [x] Bootstrap clingo concretization based on a JSON file - [x] Bootstrap clingo *before* patchelf - [x] Remove any use of the old concretizer, including: * Remove only_clingo and only_original fixtures * Remove _old_concretize and _new_concretize * Remove _concretize_together_old * Remove _concretize_together_new * Remove any use of `SPACK_TEST_SOLVER` * Simplify CI jobs - [x] ensure bootstrapping `clingo` works on on Darwin and Windows - [x] Raise an intelligible error when a compiler is missing - [x] Ensure bootstrapping works on FreeBSD - [x] remove normalize and related methods Signed-off-by: Todd Gamblin --- .github/workflows/unit_tests.yaml | 14 -------------- 1 file changed, 14 deletions(-) (limited to '.github/workflows') diff --git a/.github/workflows/unit_tests.yaml b/.github/workflows/unit_tests.yaml index d5737af27e..557fc8c581 100644 --- a/.github/workflows/unit_tests.yaml +++ b/.github/workflows/unit_tests.yaml @@ -16,38 +16,27 @@ jobs: matrix: os: [ubuntu-latest] python-version: ['3.7', '3.8', '3.9', '3.10', '3.11', '3.12'] - concretizer: ['clingo'] on_develop: - ${{ github.ref == 'refs/heads/develop' }} include: - - python-version: '3.11' - os: ubuntu-latest - concretizer: original - on_develop: ${{ github.ref == 'refs/heads/develop' }} - python-version: '3.6' os: ubuntu-20.04 - concretizer: clingo on_develop: ${{ github.ref == 'refs/heads/develop' }} exclude: - python-version: '3.7' os: ubuntu-latest - concretizer: 'clingo' on_develop: false - python-version: '3.8' os: ubuntu-latest - concretizer: 'clingo' on_develop: false - python-version: '3.9' os: ubuntu-latest - concretizer: 'clingo' on_develop: false - python-version: '3.10' os: ubuntu-latest - concretizer: 'clingo' on_develop: false - python-version: '3.11' os: ubuntu-latest - concretizer: 'clingo' on_develop: false steps: @@ -85,7 +74,6 @@ jobs: - name: Run unit tests env: SPACK_PYTHON: python - SPACK_TEST_SOLVER: ${{ matrix.concretizer }} SPACK_TEST_PARALLEL: 2 COVERAGE: true UNIT_TEST_COVERAGE: ${{ matrix.python-version == '3.11' }} @@ -182,7 +170,6 @@ jobs: - name: Run unit tests (full suite with coverage) env: COVERAGE: true - SPACK_TEST_SOLVER: clingo run: | share/spack/qa/run-unit-tests - uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 @@ -213,7 +200,6 @@ jobs: brew install dash fish gcc gnupg2 kcov - name: Run unit tests env: - SPACK_TEST_SOLVER: clingo SPACK_TEST_PARALLEL: 4 run: | git --version -- cgit v1.2.3-70-g09d2