Skip to content

CI-TESTS: gate packaging on tests #10

CI-TESTS: gate packaging on tests

CI-TESTS: gate packaging on tests #10

Workflow file for this run

name: Build & Tests
on:
pull_request:
paths:
- ".plan/**"
- "bridge/**" # Python
- "bin/plan_check.py"
- "scripts/**"
- "pom.xml"
- "src/**"
- ".github/workflows/build.yml"
jobs:
# 1) Schnelle Checks (immer)
plan:
name: Plan Consistency
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: python3 bin/plan_check.py
pytests:
name: Python tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
cache: 'pip'
cache-dependency-path: |
requirements.txt
requirements-dev.txt
- run: |
python -m pip install -r requirements.txt
python -m pip install -r requirements-dev.txt
- run: python -m pytest -q bridge/tests/unit bridge/tests/contract bridge/tests/golden
# 2) Dateifilter bestimmen, ob Java gebaut wird
changes:
runs-on: ubuntu-latest
outputs:
maven: ${{ steps.filter.outputs.maven }}
steps:
- uses: actions/checkout@v4
- id: filter
uses: dorny/paths-filter@v3
with:
filters: |
maven:
- 'pom.xml'
- 'src/**'
# 3) Maven nur, wenn Java geändert wurde
maven:
name: Maven package (skip tests)
needs:
- changes
- pytests
if: needs.changes.outputs.maven == 'true'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: temurin
java-version: '21' # matcht deinen lokalen Build
cache: maven
- run: mvn -B -DskipTests package