Skip to content

Commit

Permalink
ci: Add GA for tests (#17)
Browse files Browse the repository at this point in the history
* ci: Add GA for tests

* Add typeguard and mesa dependency for .[dev]
  • Loading branch information
rht authored Jul 2, 2024
1 parent 5270177 commit dc41b47
Show file tree
Hide file tree
Showing 2 changed files with 73 additions and 5 deletions.
61 changes: 61 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
name: build

on:
push:
branches:
- main
- release**
paths-ignore:
- '**.md'
pull_request:
paths-ignore:
- '**.md'
workflow_dispatch:
schedule:
- cron: '0 6 * * 1'

# This will cancel previous run if a newer job that obsoletes the said previous
# run, is started.
# Based on https://github.com/zulip/zulip/commit/4a11642cee3c8aec976d305d51a86e60e5d70522
concurrency:
group: "${{ github.workflow }}-${{ github.head_ref || github.run_id }}"
cancel-in-progress: true

jobs:
build:
runs-on: ${{ matrix.os }}-latest
# We need an explicit timeout because sometimes the batch_runner test never
# completes.
timeout-minutes: 6
strategy:
fail-fast: False
matrix:
os: [windows, ubuntu, macos]
python-version: ["3.12"]
include:
- os: ubuntu
python-version: "3.11"
- os: ubuntu
python-version: "3.10"
# Disabled for now. See https://github.com/projectmesa/mesa/issues/1253
#- os: ubuntu
# python-version: 'pypy-3.8'

steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: 'pip'
- name: Install uv
run: pip install uv
- name: Install mesa-frames
# See https://github.com/astral-sh/uv/issues/1945
run: |
uv pip install --system .[dev]
- name: Test with pytest
run: pytest --durations=10 --cov=mesa_frames tests/ --cov-report=xml
- if: matrix.os == 'ubuntu'
name: Codecov
uses: codecov/codecov-action@v4
17 changes: 12 additions & 5 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ name = "mesa_frames"
version = "0.1.0-alpha1"
description = "An extension to the Mesa framework which uses pandas/Polars DataFrames for enhanced performance"
authors = [
{ name = "Adam Amer" },
{ name = "Adam Amer" },
]
license = { text = "MIT" }
dependencies = [
Expand All @@ -16,12 +16,19 @@ dependencies = [

[project.optional-dependencies]
pandas = [
"pandas~=2.2",
"geopandas",
"pyarrow",
"pandas~=2.2",
"geopandas",
"pyarrow",
]
polars = [
"polars",
"polars",
]
dev = [
"mesa_frames[pandas,polars]",
"pytest",
"pytest-cov",
"typeguard",
"mesa",
]

[tool.hatch.build.targets.wheel]
Expand Down

0 comments on commit dc41b47

Please sign in to comment.