Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@
!distribution/
!scripts/
!tests/
!setup.py
!README.md
!requirements.txt
!requirements-dev.txt
!tox.ini
!pyproject.toml
!uv.lock
51 changes: 16 additions & 35 deletions .github/workflows/buildcheck.yml
Original file line number Diff line number Diff line change
@@ -1,77 +1,58 @@
name: Unit Tests
on: [push, pull_request]

jobs:
mixed_tests:
runs-on: ubuntu-24.04
strategy:
matrix:
python-version:
- '3.10.x'
- '3.11.x'
- '3.12.x'
- 'pypy3.10'

- '3.10'
- '3.11'
- '3.12'
- 'pypy3.10'
steps:
- uses: actions/checkout@v4

- name: Setup Python
uses: actions/setup-python@v5
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
python-version: ${{ matrix.python-version }}

- name: Install dependencies
run: |
python -V
pip install -r requirements.txt
pip install -r requirements-dev.txt

- name: Install ifex module
run: |
pip install -e .

uv sync --group=dev
- name: Run unit tests
run: |
pytest -v tests

uv run pytest -v tests
- name: Clone VSC repository
run: |
git clone https://github.com/COVESA/vehicle_service_catalog/

- name: Run simple generator tool on VSC content
run: |
ifexgen vehicle_service_catalog/comfort-service.yml -d simple

uv run ifexgen vehicle_service_catalog/comfort-service.yml -d simple
- name: Run DTDL template
run: |
ifexgen vehicle_service_catalog/comfort-service.yml -d dtdl > dtdl.out

uv run ifexgen vehicle_service_catalog/comfort-service.yml -d dtdl > dtdl.out
- name: Run Protobuf template and verify output is correct Proto
run: |
sudo apt install -y protobuf-compiler
ifexgen vehicle_service_catalog/comfort-service.yml -d protobuf > comfort-service.proto
uv run ifexgen vehicle_service_catalog/comfort-service.yml -d protobuf > comfort-service.proto
mkdir tmp
protoc --cpp_out=tmp comfort-service.proto

- name: Run BAMM template
run: |
ifexgen vehicle_service_catalog/comfort-service.yml -d sds-bamm > bamm.out

uv run ifexgen vehicle_service_catalog/comfort-service.yml -d sds-bamm > bamm.out
- name: Run D-Bus generator
run: |
ifexgen_dbus vehicle_service_catalog/comfort-service.yml >d-bus.out
uv run ifexgen_dbus vehicle_service_catalog/comfort-service.yml >d-bus.out
cat d-bus.out

- name: Run JSON-Schema generator
run: |
python ifex/output_filters/schema/ifex_to_json_schema.py >temp-schema
python ifex/output_filters/schema/pretty_print_json.py temp-schema >ifex-core-idl-schema.json

uv run ifex/output_filters/schema/ifex_to_json_schema.py >temp-schema
uv run ifex/output_filters/schema/pretty_print_json.py temp-schema >ifex-core-idl-schema.json
- name: Clone uservices repository
run: |
git clone https://github.com/COVESA/uservices/

- name: Run protobuf->IFEX translation
run: |
ifexconv_protobuf uservices/src/main/proto/vehicle/chassis/suspension/v1/suspension_topics.proto >suspension_topics.ifex
uv run ifexconv_protobuf uservices/src/main/proto/vehicle/chassis/suspension/v1/suspension_topics.proto >suspension_topics.ifex
cat suspension_topics.ifex
2 changes: 1 addition & 1 deletion .github/workflows/containers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
run: |
cd distribution/docker
variant=alpine make run_interactivity_test
variant=ubuntu make run_interactivity_test_pyenv
variant=ubuntu make run_interactivity_test

- name: Run unit tests in Ubuntu container
run: |
Expand Down
16 changes: 6 additions & 10 deletions .github/workflows/create-new-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,19 +29,15 @@ jobs:
steps:
- uses: actions/checkout@v4

- name: Setup Python
uses: actions/setup-python@v5
- name: Install uv
uses: astral-sh/setup-uv@v6
with:
python-version: 3.12.3
python-version: 3.12

- name: Install dependencies
run: |
python -V
pip install -r requirements.txt
pip install -r requirements-dev.txt

- name: Install IFEX module
run: pip install -e .
uv sync --group=dev

- name: Determine variables
run: |
Expand All @@ -52,8 +48,8 @@ jobs:

- name: Run JSON-Schema generator
run: |
python ifex/output_filters/schema/ifex_to_json_schema.py >temp-schema
python ifex/output_filters/schema/pretty_print_json.py temp-schema >ifex-core-idl-schema.json
uv run ifex/output_filters/schema/ifex_to_json_schema.py >temp-schema
uv run ifex/output_filters/schema/pretty_print_json.py temp-schema >ifex-core-idl-schema.json
sed -i 's/TAG-PLACEHOLDER/${{ steps.vars.outputs.TAG }}/' ifex-core-idl-schema.json

- name: Create a new release
Expand Down
22 changes: 5 additions & 17 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -85,24 +85,12 @@ target/
profile_default/
ipython_config.py

# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version

# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock

# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.

# uv
# Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock
#uv.lock

# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
Expand Down Expand Up @@ -160,4 +148,4 @@ cython_debug/
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
#.idea/
10 changes: 0 additions & 10 deletions MANIFEST.in

This file was deleted.

24 changes: 0 additions & 24 deletions Pipfile

This file was deleted.

Loading