Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 41 additions & 3 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,44 @@ jobs:
name: Lint
uses: tskit-dev/.github/.github/workflows/lint.yml@v2

packaging:
name: Packaging
runs-on: ubuntu-latest
steps:
- name: Cancel Previous Runs
uses: styfle/cancel-workflow-action@0.13.0
with:
access_token: ${{ github.token }}

- name: Checkout
uses: actions/checkout@v6.0.2
with:
submodules: true

- name: Install GSL
run: sudo apt-get update && sudo apt-get install -y libgsl-dev

- name: Set up Python 3.14
uses: actions/setup-python@v6.1.0
with:
python-version: 3.14

- name: Install build deps
run: |
pip install uv
uv pip install --system build twine validate-pyproject[all]

- name: Check package
run: |
validate-pyproject pyproject.toml
python -m build
python -m twine check --strict dist/*

- name: Install and run CLI
run: |
python -m pip install dist/*.whl
msp --help

test:
name: Python
runs-on: ${{ matrix.os }}
Expand Down Expand Up @@ -48,7 +86,7 @@ jobs:
- name: Install GSL (macOS)
if: matrix.os == 'macos-latest'
run: brew install gsl

- name: Install GSL (Windows)
if: matrix.os == 'windows-latest'
run: |
Expand All @@ -64,9 +102,9 @@ jobs:
- name: Install GSL (Ubuntu)
if: matrix.os == 'ubuntu-24.04'
run: sudo apt-get update && sudo apt-get install -y libgsl-dev

- name: Install pip deps
run: |
run: |
pip install uv
uv pip install --system -r pyproject.toml --extra test

Expand Down
3 changes: 1 addition & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ authors = [
description = "Simulate genealogical trees and genomic sequence data using population genetic models"
readme = "README.md"
requires-python = ">=3.10"
license = {text = "GNU GPLv3+"}
license = "GPL-3.0-or-later"
classifiers = [
"Programming Language :: C",
"Programming Language :: Python",
Expand All @@ -20,7 +20,6 @@ classifiers = [
"Development Status :: 5 - Production/Stable",
"Environment :: Other Environment",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)",
"Operating System :: POSIX",
"Operating System :: MacOS :: MacOS X",
"Operating System :: Microsoft :: Windows",
Expand Down