Skip to content

Commit 81237c0

Browse files
authored
Issue-356: Support Python 3.13 (#357)
* Issue-356: Support Python 3.13 * Fix deprecated upload/download artifact v3 * Fix deprecated upload/download artifact v3 for python * Fix dup artifact * Fix python test and dotnet artifact * Fix artifact for python again * Fix new dotnet and python issues * Fix download artifact * Fix test upload * Add merge-multiple * Try another fix for the python description * Try again * Revert the password removal
1 parent cda2299 commit 81237c0

File tree

11 files changed

+48
-33
lines changed

11 files changed

+48
-33
lines changed

.github/workflows/apps.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,10 @@ jobs:
5353
- name: Test Artifacts
5454
run: ls dist/*
5555

56-
- uses: actions/upload-artifact@v3
56+
- uses: actions/upload-artifact@v4
5757
if: matrix.buildtype == 'Release'
5858
with:
59+
name: artifact_${{matrix.os}}
5960
path: dist/*.*
6061

6162
publish:
@@ -64,10 +65,10 @@ jobs:
6465
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
6566

6667
steps:
67-
- uses: actions/download-artifact@v3
68+
- uses: actions/download-artifact@v4
6869
with:
69-
name: artifact
7070
path: dist
71+
merge-multiple: true
7172
- name: Publish Artifacts to Github Releases
7273
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
7374
uses: fnkr/github-action-ghr@v1

.github/workflows/dotnet.yml

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,15 @@ jobs:
2929
3030
- name: Configure Windows
3131
if: matrix.os == 'windows-latest'
32-
run: cmake ${{github.workspace}} -Ax64 -B${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{matrix.buildtype}} -DPACKAGE_OUTPUT_FILE_PREFIX=${{github.workspace}}/dist -DENABLE_SWIG=ON -DENABLE_PORTABLE=ON -DENABLE_EXAMPLES=OFF -DENABLE_CSHARP=ON -DENABLE_PYTHON=OFF -DCSHARP_TEST_FRAMEWORK=netcoreapp6
32+
run: cmake ${{github.workspace}} -Ax64 -B${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{matrix.buildtype}} -DPACKAGE_OUTPUT_FILE_PREFIX=${{github.workspace}}/dist -DENABLE_SWIG=ON -DENABLE_PORTABLE=ON -DENABLE_EXAMPLES=OFF -DENABLE_CSHARP=ON -DENABLE_PYTHON=OFF -DCSHARP_TEST_FRAMEWORK=netcoreapp8
3333

3434
- name: Install Swig
3535
if: matrix.os == 'macOS-13'
3636
run: pip install swig==4.0.2 --prefix="$(pwd)/usr"
3737

3838
- name: Configure OSX
3939
if: matrix.os == 'macOS-13'
40-
run: cmake ${{github.workspace}} -B${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{matrix.buildtype}} -DPACKAGE_OUTPUT_FILE_PREFIX=${{github.workspace}}/dist -DENABLE_SWIG=ON -DENABLE_PORTABLE=ON -DENABLE_EXAMPLES=OFF -DENABLE_CSHARP=ON -DENABLE_PYTHON=OFF -DCSHARP_TEST_FRAMEWORK=netcoreapp7 -DSWIG_EXECUTABLE=$(ls $(pwd)/usr/lib/python3.*/site-packages/swig/data/bin/swig) -DSWIG_DIR=$(dirname $(ls $(pwd)/usr/lib/python3.*/site-packages/swig/data/share/swig/4.0.2/swig.swg))
40+
run: cmake ${{github.workspace}} -B${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{matrix.buildtype}} -DPACKAGE_OUTPUT_FILE_PREFIX=${{github.workspace}}/dist -DENABLE_SWIG=ON -DENABLE_PORTABLE=ON -DENABLE_EXAMPLES=OFF -DENABLE_CSHARP=ON -DENABLE_PYTHON=OFF -DCSHARP_TEST_FRAMEWORK=netcoreapp8 -DSWIG_EXECUTABLE=$(ls $(pwd)/usr/lib/python3.*/site-packages/swig/data/bin/swig) -DSWIG_DIR=$(dirname $(ls $(pwd)/usr/lib/python3.*/site-packages/swig/data/share/swig/4.0.2/swig.swg))
4141

4242
- name: Build OSX and Windows
4343
if: matrix.os != 'ubuntu-latest'
@@ -58,9 +58,10 @@ jobs:
5858
- name: Test Artifacts
5959
run: ls dist/*
6060

61-
- uses: actions/upload-artifact@v3
61+
- uses: actions/upload-artifact@v4
6262
if: matrix.buildtype == 'Release'
6363
with:
64+
name: artifact_${{matrix.os}}
6465
path: dist/illumina*.*
6566

6667
publish:
@@ -69,10 +70,10 @@ jobs:
6970
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
7071

7172
steps:
72-
- uses: actions/download-artifact@v3
73+
- uses: actions/download-artifact@v4
7374
with:
74-
name: artifact
7575
path: dist
76+
merge-multiple: true
7677
- name: Publish Artifacts to Github Releases
7778
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
7879
uses: fnkr/github-action-ghr@v1

.github/workflows/python.yml

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
strategy:
1818
matrix:
1919
os: [ubuntu-latest, windows-2019, macOS-13]
20-
pyver: ['3.8', '3.9', '3.10', '3.11', '3.12']
20+
pyver: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13']
2121

2222
steps:
2323
- uses: actions/checkout@v3
@@ -37,7 +37,7 @@ jobs:
3737
git --version
3838
3939
- name: Package Python 3.8 and earlier
40-
if: matrix.os == 'ubuntu-latest' && matrix.pyver != '3.9' && matrix.pyver != '3.10' && matrix.pyver != '3.11' && matrix.pyver != '3.12'
40+
if: matrix.os == 'ubuntu-latest' && matrix.pyver != '3.9' && matrix.pyver != '3.10' && matrix.pyver != '3.11' && matrix.pyver != '3.12' && matrix.pyver != '3.13'
4141
run: docker run --rm -v ${{github.workspace}}/:/io ezralanglois/interop sh /io/tools/package.sh /io /io/dist travis OFF
4242

4343
- name: Package Python 3.9
@@ -52,10 +52,14 @@ jobs:
5252
if: matrix.os == 'ubuntu-latest' && matrix.pyver == '3.11'
5353
run: docker run --rm -v ${{github.workspace}}/:/io $DOCKER_IMAGE sh /io/tools/package.sh /io /io/dist travis OFF Release cp311-cp311
5454

55-
- name: Package Python 3.11
55+
- name: Package Python 3.12
5656
if: matrix.os == 'ubuntu-latest' && matrix.pyver == '3.12'
5757
run: docker run --rm -v ${{github.workspace}}/:/io $DOCKER_IMAGE sh /io/tools/package.sh /io /io/dist travis OFF Release cp312-cp312
5858

59+
- name: Package Python 3.13
60+
if: matrix.os == 'ubuntu-latest' && matrix.pyver == '3.13'
61+
run: docker run --rm -v ${{github.workspace}}/:/io $DOCKER_IMAGE sh /io/tools/package.sh /io /io/dist travis OFF Release cp313-cp313
62+
5963
- name: Windows Package Python
6064
if: matrix.os == 'windows-2019'
6165
shell: cmd
@@ -67,8 +71,9 @@ jobs:
6771
if: matrix.os == 'macOS-latest' || matrix.os == 'macOS-13'
6872
run: bash ./tools/package.sh ${{github.workspace}} ${{github.workspace}}/dist travis OFF Release ${{matrix.pyver}}
6973

70-
- uses: actions/upload-artifact@v3
74+
- uses: actions/upload-artifact@v4
7175
with:
76+
name: artifact_${{matrix.pyver}}_${{matrix.os}}
7277
path: dist/*.whl
7378

7479
publishtest:
@@ -77,10 +82,12 @@ jobs:
7782
if: startsWith(github.ref, 'refs/tags') != true
7883

7984
steps:
80-
- uses: actions/download-artifact@v3
85+
- uses: actions/download-artifact@v4
8186
with:
82-
name: artifact
8387
path: dist
88+
merge-multiple: true
89+
- name: Print dist
90+
run: ls -lR dist
8491
- name: Test Publish a Python distribution to PyPI
8592
uses: pypa/gh-action-pypi-publish@release/v1
8693
with:
@@ -89,17 +96,18 @@ jobs:
8996
packages_dir: ./dist
9097
repository_url: https://test.pypi.org/legacy/
9198
skip_existing: true
99+
verbose: true
92100

93101
publish:
94102
needs: [build]
95103
runs-on: ubuntu-latest
96104
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
97105

98106
steps:
99-
- uses: actions/download-artifact@v3
107+
- uses: actions/download-artifact@v4
100108
with:
101-
name: artifact
102109
path: dist
110+
merge-multiple: true
103111
- name: Publish a Python distribution to PyPI
104112
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
105113
uses: pypa/gh-action-pypi-publish@release/v1

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ Illumina sequencers including **NextSeq 1k/2k** and NovaSeqX. These libraries ar
1010
with one exception: GA systems have been excluded.
1111

1212
***
13-
> We now support an interface to 3.8-3.12
14-
> Note that 3.10-3.12 are CentOS 7 or later while earlier versions support Centos 5 or later
13+
> We now support an interface to 3.8-3.13
14+
> Note that 3.10-3.13 are CentOS 7 or later while earlier versions support Centos 5 or later
1515
> Note: dumptext has been deprecated in favor of imaging_table and will be removed in the next version
1616
***
1717

@@ -74,9 +74,9 @@ Install
7474

7575
### Python
7676

77-
Supported versions for binary distribution: 3.5-3.10.
77+
Supported versions for binary distribution: 3.8-3.13.
7878

79-
** Python 2.7 support has been removed **
79+
** Python 2.7, 3.5, 3.6, 3.7 support has been removed **
8080

8181
You should have NumPy already installed.
8282

docs/src/changes.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Changes {#changes}
22

3+
## v1.4.0
4+
5+
| Date | Description |
6+
|------------|--------------------------------|
7+
| 2025-03-13 | Issue-356: Support Python 3.13 |
8+
39
## v1.3.2
410

511
| Date | Description |

docs/src/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ metric files are produced after a run during secondary analysis (index metrics)
1010
the original data (collapsed quality scores).
1111

1212
***
13-
> We now support an interface to Python 3.6 to 3.11 (see contents below)
13+
> We now support an interface to Python 3.8 to 3.13 (see contents below)
1414
***
1515

1616
Compatibility

docs/src/install.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ In addition to the binary archive below, there are language specific packages in
1919

2020
Note, we only distribute from GitHub currently, and not PyPi or NuGet.org. These should
2121
be compatible with most Linux Versions, Mac OSX and Windows. We support
22-
Python 3.8 to 3.12.
22+
Python 3.8 to 3.13.
2323

2424
### Binary Archive (C++, C#, Python, Java)
2525

@@ -35,7 +35,7 @@ For Pythons users, a Wheel package is available on Github Releases or PyPI:
3535
$ pip install interop
3636
~~~~~~~~~~~~~
3737

38-
Supported versions for binary distribution: 3.8 to 3.12.
38+
Supported versions for binary distribution: 3.8 to 3.13.
3939

4040
Test the installation
4141

docs/src/python_binding.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Older versions (prior to 1.1.3) can be installed using:
1616
$ pip install -f https://github.com/Illumina/interop/releases/tag/v1.1.2 interop
1717
$ pip install -f https://github.com/Illumina/interop/releases/latest interop
1818

19-
Note, only Python versions 3.8 to 3.12 are currently
19+
Note, only Python versions 3.8 to 3.13 are currently
2020
supported as binary builds. Other Python versions must be built
2121
from source.
2222

src/ext/python/__main__.py.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ def execute_from_commandline():
1515
parser.set_defaults(test=False)
1616
param = parser.parse_args()
1717
if param.test:
18-
testsuite = unittest.makeSuite(CoreTests)
18+
testsuite = unittest.defaultTestLoader.loadTestsFromTestCase(CoreTests)
1919
unittest.TextTestRunner(verbosity=1).run(testsuite)
2020
interop.core._run_doctests()
2121

src/ext/python/setup.py.in

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,7 @@ class InstallPlatlib(install):
1919
setup(
2020
name='interop',
2121
version='@INTEROP_VERSION@',
22-
description="""The Illumina InterOp libraries are a set of common routines used for reading InterOp metric files
23-
produced by Illumina sequencers. These libraries are backwards compatible and capable of supporting
24-
prior releases of the software, with one exception: GA systems have been excluded.""",
22+
description="The Illumina InterOp libraries are a set of common routines used for reading InterOp metric files.",
2523
long_description="""The Illumina InterOp libraries are a set of common routines used for reading InterOp metric files
2624
produced by Illumina sequencers. These libraries are backwards compatible and capable of supporting
2725
prior releases of the software, with one exception: GA systems have been excluded.""",

0 commit comments

Comments
 (0)