From 84af0b74d4774dc46e9310efc73e377809842034 Mon Sep 17 00:00:00 2001 From: Justus Magin Date: Mon, 6 Apr 2026 14:48:50 +0200 Subject: [PATCH 1/7] remove the accidentally copied pypi publish step --- .github/workflows/nightly-wheels.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/nightly-wheels.yml b/.github/workflows/nightly-wheels.yml index 15330c60ca8..7411249c3ce 100644 --- a/.github/workflows/nightly-wheels.yml +++ b/.github/workflows/nightly-wheels.yml @@ -66,10 +66,6 @@ jobs: with: name: releases path: dist - - name: Publish package to PyPI - uses: pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e # v1.13.0 - with: - verbose: true - name: Upload wheel id: upload From 7ba1a1c2b372e3298ea43fae8f5950beee75cf95 Mon Sep 17 00:00:00 2001 From: Justus Magin Date: Mon, 6 Apr 2026 15:12:46 +0200 Subject: [PATCH 2/7] separate test execution from issue creation --- .github/workflows/upstream-dev-ci.yaml | 38 ++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/.github/workflows/upstream-dev-ci.yaml b/.github/workflows/upstream-dev-ci.yaml index 94288081805..ae82a461355 100644 --- a/.github/workflows/upstream-dev-ci.yaml +++ b/.github/workflows/upstream-dev-ci.yaml @@ -77,6 +77,7 @@ jobs: needs: cache-pixi-lock if: | always() && needs.cache-pixi-lock.result == 'success' + defaults: run: shell: bash -l {0} @@ -85,8 +86,8 @@ jobs: matrix: pixi-env: ["test-nightly"] - permissions: - issues: write + outputs: + log-file: ${{ steps.determine-log-path.outputs.log-file }} steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 @@ -109,21 +110,46 @@ jobs: - name: Import xarray run: | pixi run -e ${{matrix.pixi-env}} -- python -c 'import xarray' + - name: Determine log path + id: determine-log-path + run: | + echo "log-file=output-${{ matrix.pixi-env }}-log.jsonl" >> $GITHUB_OUTPUT; - name: Run Tests if: success() id: status + env: + LOG_PATH: ${{ steps.determine-log-path.output.log-file }} run: | pixi run -e ${{matrix.pixi-env}} -- python -m pytest --timeout=60 -rf -nauto \ - --report-log output-${{ matrix.pixi-env }}-log.jsonl + --report-log "$LOG_PATH" + - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 + with: + name: log file + path: ${{ steps.status.output.log-file }} + + create-issue: + needs: upstream-dev + runs-on: ubuntu-slim + if: | + needs.upstream-dev.result == 'failure' + && github.event_name == 'schedule' + && github.repository_owner == 'pydata' + + permissions: + issues: write + + steps: + - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1 + with: + name: log file + path: logs/ - name: Generate and publish the report if: | failure() && steps.status.outcome == 'failure' - && github.event_name == 'schedule' - && github.repository_owner == 'pydata' uses: scientific-python/issue-from-pytest-log-action@8e905db353437cda1d6a773de245343fbfc940dd # v1.5.0 with: - log-path: output-${{ matrix.pixi-env }}-log.jsonl + log-path: ${{ needs.upstream-dev.outputs.log-file }} mypy-upstream-dev: name: mypy-upstream-dev From bb867bd44b7c0b3b13dc729f6c3d5238ecbc64e7 Mon Sep 17 00:00:00 2001 From: Justus Magin Date: Mon, 6 Apr 2026 15:23:30 +0200 Subject: [PATCH 3/7] upload the artifact only if the tests failed --- .github/workflows/upstream-dev-ci.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/upstream-dev-ci.yaml b/.github/workflows/upstream-dev-ci.yaml index ae82a461355..b21fab7f972 100644 --- a/.github/workflows/upstream-dev-ci.yaml +++ b/.github/workflows/upstream-dev-ci.yaml @@ -123,6 +123,7 @@ jobs: pixi run -e ${{matrix.pixi-env}} -- python -m pytest --timeout=60 -rf -nauto \ --report-log "$LOG_PATH" - uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 + if: failure() && steps.status.outcome == 'failure' with: name: log file path: ${{ steps.status.output.log-file }} From 4b35fb03bc383f96a4b51ad3ffc4cb9069f08834 Mon Sep 17 00:00:00 2001 From: Justus Magin Date: Mon, 6 Apr 2026 15:52:39 +0200 Subject: [PATCH 4/7] correct source of the log-file path --- .github/workflows/upstream-dev-ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/upstream-dev-ci.yaml b/.github/workflows/upstream-dev-ci.yaml index b21fab7f972..8d8c86a9171 100644 --- a/.github/workflows/upstream-dev-ci.yaml +++ b/.github/workflows/upstream-dev-ci.yaml @@ -126,7 +126,7 @@ jobs: if: failure() && steps.status.outcome == 'failure' with: name: log file - path: ${{ steps.status.output.log-file }} + path: ${{ steps.determine-log-path.output.log-file }} create-issue: needs: upstream-dev From 080411d00ff3b80cc841020882e8dd10a09d3146 Mon Sep 17 00:00:00 2001 From: Justus Magin Date: Mon, 6 Apr 2026 15:55:51 +0200 Subject: [PATCH 5/7] debug: print github output [skip-rtd] --- .github/workflows/upstream-dev-ci.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/upstream-dev-ci.yaml b/.github/workflows/upstream-dev-ci.yaml index 8d8c86a9171..d7d4e38e1bc 100644 --- a/.github/workflows/upstream-dev-ci.yaml +++ b/.github/workflows/upstream-dev-ci.yaml @@ -114,6 +114,7 @@ jobs: id: determine-log-path run: | echo "log-file=output-${{ matrix.pixi-env }}-log.jsonl" >> $GITHUB_OUTPUT; + cat $GITHUB_OUTPUT - name: Run Tests if: success() id: status From 76aa72f0fcd21d0412a26c5000cf19e01b822f11 Mon Sep 17 00:00:00 2001 From: Justus Magin Date: Mon, 6 Apr 2026 15:59:26 +0200 Subject: [PATCH 6/7] typo [skip-rtd] --- .github/workflows/upstream-dev-ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/upstream-dev-ci.yaml b/.github/workflows/upstream-dev-ci.yaml index d7d4e38e1bc..20ae38994c0 100644 --- a/.github/workflows/upstream-dev-ci.yaml +++ b/.github/workflows/upstream-dev-ci.yaml @@ -127,7 +127,7 @@ jobs: if: failure() && steps.status.outcome == 'failure' with: name: log file - path: ${{ steps.determine-log-path.output.log-file }} + path: ${{ steps.determine-log-path.outputs.log-file }} create-issue: needs: upstream-dev From 509db34f0f6b2c8c52010f2a25630b5066dd0e3d Mon Sep 17 00:00:00 2001 From: Justus Magin Date: Tue, 7 Apr 2026 10:33:43 +0200 Subject: [PATCH 7/7] correct the path to the log file Co-authored-by: Nick Hodgskin <36369090+VeckoTheGecko@users.noreply.github.com> --- .github/workflows/upstream-dev-ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/upstream-dev-ci.yaml b/.github/workflows/upstream-dev-ci.yaml index 20ae38994c0..339b3ff939b 100644 --- a/.github/workflows/upstream-dev-ci.yaml +++ b/.github/workflows/upstream-dev-ci.yaml @@ -151,7 +151,7 @@ jobs: && steps.status.outcome == 'failure' uses: scientific-python/issue-from-pytest-log-action@8e905db353437cda1d6a773de245343fbfc940dd # v1.5.0 with: - log-path: ${{ needs.upstream-dev.outputs.log-file }} + log-path: logs/${{ needs.upstream-dev.outputs.log-file }} mypy-upstream-dev: name: mypy-upstream-dev