From 2af0a1c19fe420731e513996635253e054a6b704 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20R=C3=BCth?= Date: Wed, 24 Apr 2024 00:19:50 +0300 Subject: [PATCH 1/4] Test with more version of sagelib --- .github/workflows/test.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7e95fa40..605d1ddb 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -36,6 +36,22 @@ jobs: sagelib: "9.7" - optionals: "sage,pplpy,gmpxxyy,pyeantic,pyintervalxt,sage_flatsurf" sagelib: "9.7" + - optionals: "sage,pplpy" + sagelib: "9.8" + - optionals: "sage,pplpy,gmpxxyy,pyeantic,pyintervalxt,sage_flatsurf" + sagelib: "9.8" + - optionals: "sage,pplpy" + sagelib: "10.0" + - optionals: "sage,pplpy,gmpxxyy,pyeantic,pyintervalxt,sage_flatsurf" + sagelib: "10.0" + - optionals: "sage,pplpy" + sagelib: "10.1" + - optionals: "sage,pplpy,gmpxxyy,pyeantic,pyintervalxt,sage_flatsurf" + sagelib: "10.1" + - optionals: "sage,pplpy" + sagelib: "10.2" + - optionals: "sage,pplpy,gmpxxyy,pyeantic,pyintervalxt,sage_flatsurf" + sagelib: "10.2" steps: - uses: actions/checkout@v2 with: { submodules: recursive } From 8e77a1ee6a294f0f28cdcd458043f31d8424b117 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20R=C3=BCth?= Date: Wed, 24 Apr 2024 21:43:05 +0300 Subject: [PATCH 2/4] Select supported python versions when testing --- .github/workflows/test.yml | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 605d1ddb..20a2606f 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,48 +15,66 @@ jobs: include: - optionals: "sage,pplpy" sagelib: "9.3" + python: "3.9.15" # Test SageMath 9.3 with all compiled optional dependencies that were # packaged in conda-forge at the time (the others cannot be installed # because of FLINT incompatibilities) - optionals: "sage,pplpy,sage_flatsurf" sagelib: "9.3" + python: "3.9.15" - optionals: "sage,pplpy" sagelib: "9.4" + python: "3.9.15" - optionals: "sage,pplpy,gmpxxyy,pyeantic,pyintervalxt,sage_flatsurf" sagelib: "9.4" + python: "3.9.15" - optionals: "sage,pplpy" sagelib: "9.5" + python: "3.9.15" - optionals: "sage,pplpy,gmpxxyy,pyeantic,pyintervalxt,sage_flatsurf" sagelib: "9.5" + python: "3.9.15" - optionals: "sage,pplpy" sagelib: "9.6" + python: "3.10.8" - optionals: "sage,pplpy,gmpxxyy,pyeantic,pyintervalxt,sage_flatsurf" sagelib: "9.6" + python: "3.10.8" - optionals: "sage,pplpy" sagelib: "9.7" + python: "3.10.8" - optionals: "sage,pplpy,gmpxxyy,pyeantic,pyintervalxt,sage_flatsurf" sagelib: "9.7" + python: "3.10.8" - optionals: "sage,pplpy" sagelib: "9.8" + python: "3.11.8" - optionals: "sage,pplpy,gmpxxyy,pyeantic,pyintervalxt,sage_flatsurf" sagelib: "9.8" + python: "3.11.8" - optionals: "sage,pplpy" sagelib: "10.0" + python: "3.11.8" - optionals: "sage,pplpy,gmpxxyy,pyeantic,pyintervalxt,sage_flatsurf" sagelib: "10.0" + python: "3.11.8" - optionals: "sage,pplpy" sagelib: "10.1" + python: "3.11.8" - optionals: "sage,pplpy,gmpxxyy,pyeantic,pyintervalxt,sage_flatsurf" sagelib: "10.1" + python: "3.11.8" - optionals: "sage,pplpy" sagelib: "10.2" + python: "3.11.8" - optionals: "sage,pplpy,gmpxxyy,pyeantic,pyintervalxt,sage_flatsurf" sagelib: "10.2" + python: "3.11.8" steps: - uses: actions/checkout@v2 with: { submodules: recursive } - uses: conda-incubator/setup-miniconda@v2 - with: { miniforge-variant: "Mambaforge", miniforge-version: "latest" } + with: { miniforge-variant: "Mambaforge", miniforge-version: "latest", python-version: "${{ matrix.python }}" } - name: Install dependencies shell: bash -l {0} run: | From 2b9b7809d785c2c4ac98adcb52ca71ab56d1c95b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20R=C3=BCth?= Date: Wed, 24 Apr 2024 22:33:55 +0300 Subject: [PATCH 3/4] install surface-dynamics first so it does not need to get pulled from conda-forge --- .github/workflows/test.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 20a2606f..7b9c77e3 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -75,6 +75,10 @@ jobs: with: { submodules: recursive } - uses: conda-incubator/setup-miniconda@v2 with: { miniforge-variant: "Mambaforge", miniforge-version: "latest", python-version: "${{ matrix.python }}" } + - name: Install surface-dynamics + shell: bash -l {0} + run: | + pip install --verbose --no-index --no-deps . - name: Install dependencies shell: bash -l {0} run: | @@ -92,10 +96,7 @@ jobs: mamba env update --quiet -n test -f environment.test.yml conda list - - name: Install surface-dynamics - shell: bash -l {0} - run: | - pip install --verbose --no-index . + # Show message about cppyy regenerating pre-compiled headers so it does not show during the tests python -c 'import cppyy' || true - name: Run SageMath doctests From bb7d17a93d8450e0cc8d4a341d53477f5c904088 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20R=C3=BCth?= Date: Wed, 24 Apr 2024 23:44:16 +0300 Subject: [PATCH 4/4] Split install between build and test environment --- .github/workflows/test.yml | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7b9c77e3..8087e2e9 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -75,16 +75,30 @@ jobs: with: { submodules: recursive } - uses: conda-incubator/setup-miniconda@v2 with: { miniforge-variant: "Mambaforge", miniforge-version: "latest", python-version: "${{ matrix.python }}" } + - name: Install minimal dependencies + shell: bash -l {0} + run: | + mamba install -n test sagelib=${{ matrix.sagelib }} + echo "sagelib ==${{ matrix.sagelib }}" >> $CONDA_PREFIX/conda-meta/pinned + + grep -v optional environment.yml > environment.build.yml + + echo "Installing the following build environment" + cat environment.build.yml + + mamba env update --quiet -n test -f environment.build.yml + + conda list - name: Install surface-dynamics shell: bash -l {0} run: | pip install --verbose --no-index --no-deps . + + # Show message about cppyy regenerating pre-compiled headers so it does not show during the tests + python -c 'import cppyy' || true - name: Install dependencies shell: bash -l {0} run: | - mamba install -n test sagelib=${{ matrix.sagelib }} - echo "sagelib ==${{ matrix.sagelib }}" >> $CONDA_PREFIX/conda-meta/pinned - while read; do optional=$(echo "$REPLY" | grep -o '# optional: [^ ]*' | awk '{ print $3; }') || true (test "$optional" == '' || (echo "${{ matrix.optionals }}" | grep -E '\b'"$optional"'\b') > /dev/null) && echo "$REPLY" || true @@ -96,9 +110,6 @@ jobs: mamba env update --quiet -n test -f environment.test.yml conda list - - # Show message about cppyy regenerating pre-compiled headers so it does not show during the tests - python -c 'import cppyy' || true - name: Run SageMath doctests shell: bash -l {0} run: |