From e2372d822d97055293cdb74a5abeced736fae79b Mon Sep 17 00:00:00 2001 From: rht Date: Mon, 1 Jul 2024 22:56:34 -0400 Subject: [PATCH] ci: Add GA for tests --- .github/workflows/build.yml | 62 +++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..9a29ee9 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,62 @@ +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 .[pandas] + uv pip install --system .[polars] + - 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