Skip to content

Commit ccc07b8

Browse files
committed
feat(ci): test with GitHub Actions
1 parent 01a30a8 commit ccc07b8

File tree

6 files changed

+90
-200
lines changed

6 files changed

+90
-200
lines changed

.github/workflows/build.yml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# This workflow will install Python dependencies, run tests and lint with a single version of Python
2+
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python
3+
4+
name: build
5+
6+
on:
7+
push:
8+
branches: [ "master", "gha" ]
9+
pull_request:
10+
branches: [ "master" ]
11+
12+
permissions:
13+
contents: read
14+
15+
jobs:
16+
build:
17+
18+
runs-on: ubuntu-latest
19+
strategy:
20+
matrix:
21+
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"]
22+
23+
steps:
24+
- uses: actions/checkout@v4
25+
- name: Set up Python ${{ matrix.python-version }}
26+
uses: actions/setup-python@v5
27+
with:
28+
python-version: ${{ matrix.python-version }}
29+
- name: Display Python verison
30+
run: python -c "import sys; print(sys.version)"
31+
- name: Install dependencies
32+
run: |
33+
python -m pip install --upgrade pip
34+
pip install flake8 pytest pytest-cov sortedcontainers
35+
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
36+
- name: Lint with flake8
37+
run: |
38+
# stop the build if there are Python syntax errors or undefined names
39+
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
40+
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
41+
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
42+
- name: Test with pytest
43+
run: |
44+
pytest
45+

.github/workflows/manual.yml

Lines changed: 0 additions & 47 deletions
This file was deleted.

Dockerfile

Lines changed: 0 additions & 137 deletions
This file was deleted.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -364,7 +364,7 @@ Licensed under the [Apache License, version 2.0][Apache].
364364
The source code for this project is at https://github.com/chaimleib/intervaltree
365365

366366

367-
[build status badge]: https://github.com/chaimleib/intervaltree/workflows/ci/badge.svg
367+
[build status badge]: https://github.com/chaimleib/intervaltree/workflows/build/badge.svg
368368
[build status]: https://github.com/chaimleib/intervaltree/actions
369369
[GH]: https://github.com/chaimleib/intervaltree
370370
[issue tracker]: https://github.com/chaimleib/intervaltree/issues

pyproject.toml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
[project]
2+
name = "intervaltree"
3+
description='Editable interval tree data structure'
4+
version = "3.2.0"
5+
authors = [
6+
{ name="Chaim Leib Halbert", email="[email protected]" },
7+
]
8+
readme = "README.md"
9+
requires-python = ">=3.7"
10+
dependencies = [
11+
"sortedcontainers < 3",
12+
]
13+
classifiers = [
14+
'Development Status :: 5 - Production/Stable',
15+
'Programming Language :: Python :: Implementation :: PyPy',
16+
'Intended Audience :: Developers',
17+
'Intended Audience :: Information Technology',
18+
'Intended Audience :: Science/Research',
19+
'Programming Language :: Python',
20+
'Programming Language :: Python :: 3',
21+
'Programming Language :: Python :: 3.7',
22+
'Programming Language :: Python :: 3.8',
23+
'Programming Language :: Python :: 3.9',
24+
'Programming Language :: Python :: 3.10',
25+
'Programming Language :: Python :: 3.11',
26+
'Programming Language :: Python :: 3.12',
27+
'Programming Language :: Python :: 3.13',
28+
'License :: OSI Approved :: Apache Software License',
29+
'Topic :: Scientific/Engineering :: Artificial Intelligence',
30+
'Topic :: Scientific/Engineering :: Bio-Informatics',
31+
'Topic :: Scientific/Engineering :: Information Analysis',
32+
'Topic :: Software Development :: Libraries',
33+
'Topic :: Text Processing :: General',
34+
'Topic :: Text Processing :: Linguistic',
35+
'Topic :: Text Processing :: Markup',
36+
]
37+
38+
[project.urls]
39+
Homepage = "https://github.com/chaimleib/intervaltree"
40+
Issues = "https://github.com/chaimleib/intervaltree/issues"
41+
42+
[build-system]
43+
requires = ["setuptools >= 61.0"]
44+
build-backend = "setuptools.build_meta"

scripts/testall.sh

Lines changed: 0 additions & 15 deletions
This file was deleted.

0 commit comments

Comments
 (0)