Skip to content

Commit cd10941

Browse files
authored
Merge pull request #130 from MridulS/cobump
Copier and tox deps bump
2 parents 7a36bf3 + 1f28104 commit cd10941

30 files changed

+295
-145
lines changed

.copier-answers.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
# Changes here will be overwritten by Copier; NEVER EDIT MANUALLY
2-
_commit: 75b9a8f
2+
_commit: 5c4fd02
33
_src_path: gh:scipp/copier_template
44
description: Diffraction data reduction for the European Spallation Source
5-
max_python: '3.12'
5+
max_python: '3.13'
66
min_python: '3.10'
77
namespace_package: ess
88
nightly_deps: scipp,scippnexus,sciline,plopp,scippneutron,essreduce
99
orgname: scipp
1010
prettyname: ESSdiffraction
1111
projectname: essdiffraction
1212
related_projects: Scipp,ScippNexus,ScippNeutron,Sciline,Plopp,ESSreduce
13-
year: 2024
13+
year: 2025

.github/workflows/ci.yml

+6-6
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ on:
1010
jobs:
1111
formatting:
1212
name: Formatting and static analysis
13-
runs-on: 'ubuntu-22.04'
13+
runs-on: 'ubuntu-24.04'
1414
outputs:
1515
min_python: ${{ steps.vars.outputs.min_python }}
1616
min_tox_env: ${{ steps.vars.outputs.min_tox_env }}
@@ -19,15 +19,15 @@ jobs:
1919
- name: Get Python version for other CI jobs
2020
id: vars
2121
run: |
22-
echo "min_python=$(cat .github/workflows/python-version-ci)" >> $GITHUB_OUTPUT
23-
echo "min_tox_env=py$(cat .github/workflows/python-version-ci | sed 's/\.//g')" >> $GITHUB_OUTPUT
22+
echo "min_python=$(< .github/workflows/python-version-ci)" >> "$GITHUB_OUTPUT"
23+
echo "min_tox_env=py$(sed 's/\.//g' < .github/workflows/python-version-ci)" >> "$GITHUB_OUTPUT"
2424
- uses: actions/setup-python@v5
2525
with:
2626
python-version-file: '.github/workflows/python-version-ci'
2727
- uses: pre-commit/[email protected]
2828
with:
2929
extra_args: --all-files
30-
- uses: pre-commit-ci/lite-action@v1.0.3
30+
- uses: pre-commit-ci/lite-action@v1.1.0
3131
if: always()
3232
with:
3333
msg: Apply automatic formatting
@@ -37,7 +37,7 @@ jobs:
3737
needs: formatting
3838
strategy:
3939
matrix:
40-
os: ['ubuntu-22.04']
40+
os: ['ubuntu-24.04']
4141
python:
4242
- version: '${{needs.formatting.outputs.min_python}}'
4343
tox-env: '${{needs.formatting.outputs.min_tox_env}}'
@@ -53,6 +53,6 @@ jobs:
5353
uses: ./.github/workflows/docs.yml
5454
with:
5555
publish: false
56-
linkcheck: ${{ contains(matrix.variant.os, 'ubuntu') && github.ref == 'refs/heads/main' }}
56+
linkcheck: ${{ github.ref == 'refs/heads/main' }}
5757
branch: ${{ github.head_ref == '' && github.ref_name || github.head_ref }}
5858
secrets: inherit

.github/workflows/docs.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ env:
4141
jobs:
4242
docs:
4343
name: Build documentation
44-
runs-on: 'ubuntu-22.04'
44+
runs-on: 'ubuntu-24.04'
4545
env:
4646
ESS_PROTECTED_FILESTORE_USERNAME: ${{ secrets.ESS_PROTECTED_FILESTORE_USERNAME }}
4747
ESS_PROTECTED_FILESTORE_PASSWORD: ${{ secrets.ESS_PROTECTED_FILESTORE_PASSWORD }}
@@ -58,7 +58,7 @@ jobs:
5858
python-version-file: '.github/workflows/python-version-ci'
5959
- run: python -m pip install --upgrade pip
6060
- run: python -m pip install -r requirements/ci.txt
61-
- run: tox -e releasedocs -- ${VERSION}
61+
- run: tox -e releasedocs -- "${VERSION}"
6262
if: ${{ inputs.version != '' }}
6363
- run: tox -e docs
6464
if: ${{ inputs.version == '' }}
@@ -69,7 +69,7 @@ jobs:
6969
name: docs_html
7070
path: html/
7171

72-
- uses: JamesIves/github-pages-deploy-action@v4.6.4
72+
- uses: JamesIves/github-pages-deploy-action@v4.7.2
7373
if: ${{ inputs.publish }}
7474
with:
7575
branch: gh-pages

.github/workflows/nightly_at_main.yml

+3-3
Original file line numberDiff line numberDiff line change
@@ -8,21 +8,21 @@ on:
88
jobs:
99
setup:
1010
name: Setup variables
11-
runs-on: 'ubuntu-22.04'
11+
runs-on: 'ubuntu-24.04'
1212
outputs:
1313
min_python: ${{ steps.vars.outputs.min_python }}
1414
steps:
1515
- uses: actions/checkout@v4
1616
- name: Get Python version for other CI jobs
1717
id: vars
18-
run: echo "min_python=$(cat .github/workflows/python-version-ci)" >> $GITHUB_OUTPUT
18+
run: echo "min_python=$(< .github/workflows/python-version-ci)" >> "$GITHUB_OUTPUT"
1919

2020
tests:
2121
name: Tests
2222
needs: setup
2323
strategy:
2424
matrix:
25-
os: ['ubuntu-22.04']
25+
os: ['ubuntu-24.04']
2626
python:
2727
- version: '${{needs.setup.outputs.min_python}}'
2828
tox-env: 'nightly'

.github/workflows/nightly_at_release.yml

+4-4
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ on:
88
jobs:
99
setup:
1010
name: Setup variables
11-
runs-on: 'ubuntu-22.04'
11+
runs-on: 'ubuntu-24.04'
1212
outputs:
1313
min_python: ${{ steps.vars.outputs.min_python }}
1414
release_tag: ${{ steps.release.outputs.release_tag }}
@@ -18,17 +18,17 @@ jobs:
1818
fetch-depth: 0 # history required so we can determine latest release tag
1919
- name: Get last release tag from git
2020
id: release
21-
run: echo "release_tag=$(git describe --tags --abbrev=0 --match '[0-9]*.[0-9]*.[0-9]*')" >> $GITHUB_OUTPUT
21+
run: echo "release_tag=$(git describe --tags --abbrev=0 --match '[0-9]*.[0-9]*.[0-9]*')" >> "$GITHUB_OUTPUT"
2222
- name: Get Python version for other CI jobs
2323
id: vars
24-
run: echo "min_python=$(cat .github/workflows/python-version-ci)" >> $GITHUB_OUTPUT
24+
run: echo "min_python=$(cat .github/workflows/python-version-ci)" >> "$GITHUB_OUTPUT"
2525

2626
tests:
2727
name: Tests
2828
needs: setup
2929
strategy:
3030
matrix:
31-
os: ['ubuntu-22.04']
31+
os: ['ubuntu-24.04']
3232
python:
3333
- version: '${{needs.setup.outputs.min_python}}'
3434
tox-env: 'nightly'

.github/workflows/release.yml

+5-5
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ defaults:
1212
jobs:
1313
build_conda:
1414
name: Conda build
15-
runs-on: 'ubuntu-22.04'
15+
runs-on: 'ubuntu-24.04'
1616

1717
steps:
1818
- uses: actions/checkout@v4
@@ -35,7 +35,7 @@ jobs:
3535

3636
build_wheels:
3737
name: Wheels
38-
runs-on: 'ubuntu-22.04'
38+
runs-on: 'ubuntu-24.04'
3939

4040
steps:
4141
- uses: actions/checkout@v4
@@ -61,7 +61,7 @@ jobs:
6161
upload_pypi:
6262
name: Deploy PyPI
6363
needs: [build_wheels, build_conda]
64-
runs-on: 'ubuntu-22.04'
64+
runs-on: 'ubuntu-24.04'
6565
environment: release
6666
permissions:
6767
id-token: write
@@ -73,7 +73,7 @@ jobs:
7373
upload_conda:
7474
name: Deploy Conda
7575
needs: [build_wheels, build_conda]
76-
runs-on: 'ubuntu-22.04'
76+
runs-on: 'ubuntu-24.04'
7777
if: github.event_name == 'release' && github.event.action == 'published'
7878

7979
steps:
@@ -97,7 +97,7 @@ jobs:
9797
assets:
9898
name: Upload docs
9999
needs: docs
100-
runs-on: 'ubuntu-22.04'
100+
runs-on: 'ubuntu-24.04'
101101
permissions:
102102
contents: write # This is needed so that the action can upload the asset
103103
steps:

.github/workflows/test.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ on:
44
workflow_dispatch:
55
inputs:
66
os-variant:
7-
default: 'ubuntu-22.04'
7+
default: 'ubuntu-24.04'
88
type: string
99
python-version:
1010
type: string
@@ -23,7 +23,7 @@ on:
2323
workflow_call:
2424
inputs:
2525
os-variant:
26-
default: 'ubuntu-22.04'
26+
default: 'ubuntu-24.04'
2727
type: string
2828
python-version:
2929
type: string

.github/workflows/unpinned.yml

+4-4
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ on:
88
jobs:
99
setup:
1010
name: Setup variables
11-
runs-on: 'ubuntu-22.04'
11+
runs-on: 'ubuntu-24.04'
1212
outputs:
1313
min_python: ${{ steps.vars.outputs.min_python }}
1414
release_tag: ${{ steps.release.outputs.release_tag }}
@@ -18,17 +18,17 @@ jobs:
1818
fetch-depth: 0 # history required so we can determine latest release tag
1919
- name: Get last release tag from git
2020
id: release
21-
run: echo "release_tag=$(git describe --tags --abbrev=0 --match '[0-9]*.[0-9]*.[0-9]*')" >> $GITHUB_OUTPUT
21+
run: echo "release_tag=$(git describe --tags --abbrev=0 --match '[0-9]*.[0-9]*.[0-9]*')" >> "$GITHUB_OUTPUT"
2222
- name: Get Python version for other CI jobs
2323
id: vars
24-
run: echo "min_python=$(cat .github/workflows/python-version-ci)" >> $GITHUB_OUTPUT
24+
run: echo "min_python=$(cat .github/workflows/python-version-ci)" >> "$GITHUB_OUTPUT"
2525

2626
tests:
2727
name: Tests
2828
needs: setup
2929
strategy:
3030
matrix:
31-
os: ['ubuntu-22.04']
31+
os: ['ubuntu-24.04']
3232
python:
3333
- version: '${{needs.setup.outputs.min_python}}'
3434
tox-env: 'unpinned'
+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: Windows and MacOS weekly tests
2+
3+
on:
4+
workflow_dispatch:
5+
schedule:
6+
- cron: '0 2 * * 1'
7+
8+
jobs:
9+
pytox:
10+
name: Python and Tox env
11+
runs-on: 'ubuntu-24.04'
12+
outputs:
13+
min_python: ${{ steps.vars.outputs.min_python }}
14+
min_tox_env: ${{ steps.vars.outputs.min_tox_env }}
15+
steps:
16+
- uses: actions/checkout@v4
17+
- name: Get Python version for other CI jobs
18+
id: vars
19+
run: |
20+
echo "min_python=$(cat .github/workflows/python-version-ci)" >> $GITHUB_OUTPUT
21+
echo "min_tox_env=py$(cat .github/workflows/python-version-ci | sed 's/\.//g')" >> $GITHUB_OUTPUT
22+
tests:
23+
name: Tests
24+
needs: pytox
25+
strategy:
26+
matrix:
27+
os: ['macos-latest', 'windows-latest']
28+
python:
29+
- version: '${{needs.pytox.outputs.min_python}}'
30+
tox-env: '${{needs.pytox.outputs.min_tox_env}}'
31+
uses: ./.github/workflows/test.yml
32+
with:
33+
os-variant: ${{ matrix.os }}
34+
python-version: ${{ matrix.python.version }}
35+
tox-env: ${{ matrix.python.tox-env }}
36+
37+
docs:
38+
needs: tests
39+
uses: ./.github/workflows/docs.yml
40+
with:
41+
publish: false
42+
branch: ${{ github.head_ref == '' && github.ref_name || github.head_ref }}

.gitignore

+4-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ dist
44
html
55
.tox
66
*.egg-info
7-
uv.lock # we lock dependencies with pip-compile, not uv
7+
# we lock dependencies with pip-compile, not uv
8+
uv.lock
89

910
*.sw?
1011

@@ -42,3 +43,5 @@ docs/generated/
4243
*.rcif
4344
*.ort
4445
*.zip
46+
*.sqw
47+
*.nxspe

.pre-commit-config.yaml

+10-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
repos:
22
- repo: https://github.com/pre-commit/pre-commit-hooks
3-
rev: v4.6.0
3+
rev: v5.0.0
44
hooks:
55
- id: check-added-large-files
6+
- id: check-case-conflict
7+
- id: check-illegal-windows-names
68
- id: check-json
79
exclude: asv.conf.json
810
- id: check-merge-conflict
@@ -21,7 +23,7 @@ repos:
2123
args: [ "--drop-empty-cells",
2224
"--extra-keys 'metadata.language_info.version cell.metadata.jp-MarkdownHeadingCollapsed cell.metadata.pycharm'" ]
2325
- repo: https://github.com/astral-sh/ruff-pre-commit
24-
rev: v0.6.2
26+
rev: v0.8.0
2527
hooks:
2628
- id: ruff
2729
args: [ --fix ]
@@ -44,3 +46,9 @@ repos:
4446
- id: rst-directive-colons
4547
- id: rst-inline-touching-normal
4648
- id: text-unicode-replacement-char
49+
- repo: https://github.com/rhysd/actionlint
50+
rev: v1.7.3
51+
hooks:
52+
- id: actionlint
53+
# Disable because of false-positive SC2046
54+
args: ["-shellcheck="]

LICENSE

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
BSD 3-Clause License
22

3-
Copyright (c) 2024, Scipp contributors (https://github.com/scipp)
3+
Copyright (c) 2025, Scipp contributors (https://github.com/scipp)
44
All rights reserved.
55

66
Redistribution and use in source and binary forms, with or without

docs/conf.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# SPDX-License-Identifier: BSD-3-Clause
2-
# Copyright (c) 2024 Scipp contributors (https://github.com/scipp)
2+
# Copyright (c) 2025 Scipp contributors (https://github.com/scipp)
33

44
import doctest
55
import os
@@ -14,9 +14,9 @@
1414
logger = logging.getLogger(__name__)
1515

1616
# General information about the project.
17-
project = "ESSdiffraction"
18-
copyright = "2024 Scipp contributors"
19-
author = "Scipp contributors"
17+
project = 'ESSdiffraction'
18+
copyright = '2025 Scipp contributors'
19+
author = 'Scipp contributors'
2020

2121
html_show_sourcelink = True
2222

pyproject.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ classifiers = [
2121
"Programming Language :: Python :: 3.10",
2222
"Programming Language :: Python :: 3.11",
2323
"Programming Language :: Python :: 3.12",
24+
"Programming Language :: Python :: 3.13",
2425
"Topic :: Scientific/Engineering",
2526
"Typing :: Typed",
2627
]
@@ -90,13 +91,12 @@ ignore = [
9091
# https://docs.astral.sh/ruff/formatter/#conflicting-lint-rules
9192
"COM812", "COM819", "D206", "D300", "E111", "E114", "E117", "ISC001", "ISC002", "Q000", "Q001", "Q002", "Q003", "W191",
9293
]
93-
fixable = ["B010", "I001", "PT001"]
94+
fixable = ["B010", "I001", "PT001", "RUF022"]
9495
isort.known-first-party = ["ess.diffraction", "ess.dream", "ess.powder"]
9596
pydocstyle.convention = "numpy"
9697

9798
[tool.ruff.lint.per-file-ignores]
9899
# those files have an increased risk of relying on import order
99-
"__init__.py" = ["I"]
100100
"tests/*" = [
101101
"S101", # asserts are fine in tests
102102
"B018", # 'useless expressions' are ok because some tests just check for exceptions

0 commit comments

Comments
 (0)