initial commit
This commit is contained in:
91
.github/workflows/test.yaml
vendored
Normal file
91
.github/workflows/test.yaml
vendored
Normal file
@@ -0,0 +1,91 @@
|
||||
# SPDX-FileCopyrightText: 2025 DB Systel GmbH
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
name: Test suites
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
# Test using the tool via poetry on different OSes and python versions
|
||||
test-os-python-matrix:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
max-parallel: 10
|
||||
# do not abort the whole test job if one combination in the matrix fails
|
||||
fail-fast: false
|
||||
matrix:
|
||||
python-version: ["3.10", "3.11", "3.12", "3.13"]
|
||||
os: [ubuntu-22.04]
|
||||
include:
|
||||
- python-version: "3.10"
|
||||
os: macos-latest
|
||||
- python-version: "3.10"
|
||||
os: windows-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: ./.github/actions/poetrybuild
|
||||
with:
|
||||
python: ${{ matrix.python-version }}
|
||||
poetry_args: --only main
|
||||
- name: Execute home-stream
|
||||
run: poetry run home-stream --help
|
||||
|
||||
# Test building the package and installing it via pip3
|
||||
test-build-install:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Install poetry
|
||||
run: pipx install poetry
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "3.10"
|
||||
cache: "poetry"
|
||||
- name: Build package
|
||||
run: poetry build
|
||||
- name: Install package
|
||||
run: pip3 install dist/home_stream-*.tar.gz
|
||||
- name: Run package
|
||||
run: home-stream --help
|
||||
|
||||
# Formatting
|
||||
pylint:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: ./.github/actions/poetrybuild
|
||||
- name: Lint with pylint
|
||||
run: poetry run pylint --disable=fixme home_stream/
|
||||
|
||||
formatting:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: ./.github/actions/poetrybuild
|
||||
- name: Test formatting with isort and black
|
||||
run: |
|
||||
poetry run isort --check home_stream/
|
||||
poetry run black --check .
|
||||
|
||||
mypy:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: ./.github/actions/poetrybuild
|
||||
- name: Test typing with mypy
|
||||
run: poetry run mypy
|
||||
|
||||
# REUSE
|
||||
reuse:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Check REUSE Compliance
|
||||
uses: fsfe/reuse-action@v5
|
||||
Reference in New Issue
Block a user