Skip to content

create isis-streaming-data-types #3

create isis-streaming-data-types

create isis-streaming-data-types #3

Workflow file for this run

# This workflow will install Python dependencies, run tests and lint with a single version of Python
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python
name: Python application
on:
workflow_call:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
call-workflow:
uses: ISISComputingGroup/reusable-workflows/.github/workflows/linters.yml@main
with:
compare-branch: origin/main
python-ver: '3.13'
runs-on: 'ubuntu-latest'
tests:
strategy:
matrix:
version: ['3.12', '3.13', '3.14']
os: ["ubuntu-latest", "windows-latest"]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v6
- name: Install uv and set the python version
uses: astral-sh/setup-uv@v7
with:
python-version: ${{ matrix.version }}
- name: Install dependencies
run: uv sync --all-extras --dev
- name: Test with pytest
run: uv run pytest tests
results:
if: ${{ always() }}
runs-on: ubuntu-latest
name: Final Results
needs: [tests, call-workflow]
steps:
- run: exit 1
# see https://stackoverflow.com/a/67532120/4907315
if: >-
${{
contains(needs.*.result, 'failure')
|| contains(needs.*.result, 'cancelled')
}}