Repository: astropy/pyvo (language: python)

Issue:
CI: move devtest to a separate workflow, and add workflow dispatch to all
This would make it easier to manually trigger builds (e.g. currently a lot of deprecations are happening due to the upcoming numpy 2.0, and we started to see errors in astroquery, and I wanted to make sure we are all clear of those here in pyvo).


Discussion / hints:

Fix patch:
diff --git a/.readthedocs.yml b/.readthedocs.yml
index 5307a8e93..664fc4834 100644
--- a/.readthedocs.yml
+++ b/.readthedocs.yml
@@ -16,6 +16,9 @@ build:
     python: "3.10"
   apt_packages:
     - graphviz
+  jobs:
+    post_checkout:
+      - git fetch --unshallow || true
 
 python:
   system_packages: false
diff --git a/tox.ini b/tox.ini
index c5ba7a978..193416297 100644
--- a/tox.ini
+++ b/tox.ini
@@ -25,10 +25,14 @@ description =
 setenv =
     PYTEST_ARGS = -rsxf --show-capture=no
     online: PYTEST_ARGS = --remote-data=any --reruns=1 --reruns-delay 10 -rsxf --show-capture=no
+    devdeps: PIP_EXTRA_INDEX_URL =  https://pypi.anaconda.org/scientific-python-nightly-wheels/simple https://pypi.anaconda.org/astropy/simple
 
 deps =
     cov: coverage
 
+    devdeps: numpy>=0.0.dev0
+    devdeps: astropy>=0.0.dev0
+
     oldestdeps: astropy==4.1
     # We set a suitably old numpy along with an old astropy, no need to pick up
     # deprecations and errors due to their unmatching versions
@@ -37,9 +41,6 @@ deps =
     online: pytest-rerunfailures
 
 commands =
-    devdeps: pip install -U --pre --only-binary :all: -i https://pypi.anaconda.org/scientific-python-nightly-wheels/simple numpy
-    devdeps: pip install -U --pre -i https://pypi.anaconda.org/astropy/simple astropy
-
     pip freeze
     !cov: pytest --pyargs {env:PYTEST_ARGS}
     cov: pytest --pyargs --cov pyvo --cov-config={toxinidir}/setup.cfg {env:PYTEST_ARGS}


Test patch:
diff --git a/.github/workflows/ci_devtests.yml b/.github/workflows/ci_devtests.yml
new file mode 100644
index 000000000..3bb453fbc
--- /dev/null
+++ b/.github/workflows/ci_devtests.yml
@@ -0,0 +1,38 @@
+# This test job is separated out into its own workflow to be able to trigger separately
+name: CI-devtest
+
+on:
+  push:
+    branches:
+    - main
+    - 'v*'
+    tags:
+    - '*'
+  pull_request:
+  schedule:
+    - cron: "0 3 * * 6"
+  workflow_dispatch:
+
+concurrency:
+  group: ${{ github.workflow }}-${{ github.ref }}
+  cancel-in-progress: true
+
+jobs:
+  devdeps:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v3
+      - name: Set up Python 3.11
+        uses: actions/setup-python@v4
+        with:
+          python-version: "3.11"
+      - name: Install tox
+        run: python -m pip install --upgrade tox
+      - name: Run tests against dev dependencies
+        run: tox -e py311-test-devdeps-alldeps-cov
+
+      - name: Upload coverage to codecov
+        uses: codecov/codecov-action@v3
+        with:
+          file: ./coverage.xml
+          verbose: true
diff --git a/.github/workflows/cibuild.yml b/.github/workflows/ci_tests.yml
similarity index 79%
rename from .github/workflows/cibuild.yml
rename to .github/workflows/ci_tests.yml
index bd1ef1791..73eae268c 100644
--- a/.github/workflows/cibuild.yml
+++ b/.github/workflows/ci_tests.yml
@@ -1,3 +1,4 @@
+# Developer version testing is in separate workflow
 name: CI
 
 on:
@@ -10,6 +11,11 @@ on:
   pull_request:
   schedule:
     - cron: "0 3 * * 6"
+  workflow_dispatch:
+
+concurrency:
+  group: ${{ github.workflow }}-${{ github.ref }}
+  cancel-in-progress: true
 
 jobs:
   tests:
@@ -69,6 +75,8 @@ jobs:
 
   stylecheck:
     runs-on: ubuntu-latest
+    strategy:
+      fail-fast: false
     steps:
       - uses: actions/checkout@v3
       - name: Set up Python 3.8
@@ -79,23 +87,3 @@ jobs:
         run: python -m pip install --upgrade tox
       - name: Check codestyle
         run: tox -e codestyle
-
-
-  devdeps:
-    runs-on: ubuntu-latest
-    steps:
-      - uses: actions/checkout@v3
-      - name: Set up Python 3.11
-        uses: actions/setup-python@v4
-        with:
-          python-version: "3.11"
-      - name: Install tox
-        run: python -m pip install --upgrade tox
-      - name: Run tests against dev dependencies
-        run: tox -e py311-test-devdeps-alldeps-cov
-
-      - name: Upload coverage to codecov
-        uses: codecov/codecov-action@v3
-        with:
-          file: ./coverage.xml
-          verbose: true