Skip to content

Commit

Permalink
Update documentation and version
Browse files Browse the repository at this point in the history
Signed-off-by: hoangtungdinh <11166240+hoangtungdinh@users.noreply.github.com>
  • Loading branch information
hoangtungdinh committed Oct 8, 2024
1 parent 0e6a38a commit 3036c6a
Show file tree
Hide file tree
Showing 12 changed files with 242 additions and 219 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/build-and-push-demo-pipeline.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
- name: Checkout code
uses: actions/checkout@v3
with:
ref: develop # @TODO remove it later
ref: main # @TODO remove it later

- name: Get current date
id: date
Expand Down
8 changes: 3 additions & 5 deletions .github/workflows/build-on-change-linux-bare.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ on:
pull_request:
branches:
- main
- develop # can be removed on main merge
paths: # we only include paths critical for building to avoid unnecessary runs
- src/**
- include/**
Expand All @@ -20,7 +19,6 @@ on:
push:
branches:
- main
- develop # can be removed on main merge
paths: # we only include paths critical for building to avoid unnecessary runs
- src/**
- include/**
Expand Down Expand Up @@ -140,21 +138,21 @@ jobs:
pip install -e ${{ github.workspace }}/qc_framework
mkdir "/home/$(whoami)/odr_out"
pip install asam-qc-opendrive@git+https://github.com/asam-ev/qc-opendrive@develop
pip install asam-qc-opendrive@git+https://github.com/asam-ev/qc-opendrive@main
qc_runtime --config="${{ github.workspace }}/.github/workflows/linux-files/odr_config.xml" --manifest="${{ github.workspace }}/.github/workflows/linux-manifest/framework.json" --working_dir="/home/$(whoami)/odr_out"
if [ ! -f "/home/$(whoami)/odr_out/xodr_bundle_report.xqar" ]; then echo "Error: Odr output does not exist."; exit 1; fi
if [ ! -f "/home/$(whoami)/odr_out/Result.xqar" ]; then echo "Error: Odr output does not exist."; exit 1; fi
if [ ! -f "/home/$(whoami)/odr_out/Report.txt" ]; then echo "Error: Odr output does not exist."; exit 1; fi
mkdir "/home/$(whoami)/osc_out"
pip install asam-qc-openscenarioxml@git+https://github.com/asam-ev/qc-openscenarioxml@develop
pip install asam-qc-openscenarioxml@git+https://github.com/asam-ev/qc-openscenarioxml@main
qc_runtime --config="/home/$(whoami)/work/qc-framework/qc-framework/.github/workflows/linux-files/osc_config.xml" --manifest="/home/$(whoami)/work/qc-framework/qc-framework/.github/workflows/linux-manifest/framework.json" --working_dir="/home/$(whoami)/osc_out"
if [ ! -f "/home/$(whoami)/osc_out/xosc_bundle_report.xqar" ]; then echo "Error: Osc output does not exist."; exit 1; fi
if [ ! -f "/home/$(whoami)/osc_out/Result.xqar" ]; then echo "Error: Osc output does not exist."; exit 1; fi
if [ ! -f "/home/$(whoami)/osc_out/Report.txt" ]; then echo "Error: Osc output does not exist."; exit 1; fi
mkdir "/home/$(whoami)/otx_out"
pip install asam-qc-otx@git+https://github.com/asam-ev/qc-otx@develop
pip install asam-qc-otx@git+https://github.com/asam-ev/qc-otx@main
qc_runtime --config="/home/$(whoami)/work/qc-framework/qc-framework/.github/workflows/linux-files/otx_config.xml" --manifest="/home/$(whoami)/work/qc-framework/qc-framework/.github/workflows/linux-manifest/framework.json" --working_dir="/home/$(whoami)/otx_out"
if [ ! -f "/home/$(whoami)/otx_out/otx_bundle_report.xqar" ]; then echo "Error: Otx output does not exist."; exit 1; fi
if [ ! -f "/home/$(whoami)/otx_out/Result.xqar" ]; then echo "Error: Otx output does not exist."; exit 1; fi
Expand Down
2 changes: 0 additions & 2 deletions .github/workflows/build-on-change-linux-docker.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ on:
pull_request:
branches:
- main
- develop # can be removed on main merge
paths: # we only include paths critical for building to avoid unnecessary runs
- src/**
- include/**
Expand All @@ -20,7 +19,6 @@ on:
push:
branches:
- main
- develop # can be removed on main merge
paths: # we only include paths critical for building to avoid unnecessary runs
- src/**
- include/**
Expand Down
8 changes: 3 additions & 5 deletions .github/workflows/build-on-change-windows.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ on:
pull_request:
branches:
- main
- develop # can be removed on main merge
paths: # we only include paths critical for building to avoid unnecessary runs
- src/**
- include/**
Expand All @@ -20,7 +19,6 @@ on:
push:
branches:
- main
- develop # can be removed on main merge
paths: # we only include paths critical for building to avoid unnecessary runs
- src/**
- include/**
Expand Down Expand Up @@ -177,21 +175,21 @@ jobs:
pip install -e $env:WORKING_PATH\qc-framework\qc-framework\qc_framework
mkdir "$env:WORKING_PATH\odr_out"
pip install asam-qc-opendrive@git+https://github.com/asam-ev/qc-opendrive@develop
pip install asam-qc-opendrive@git+https://github.com/asam-ev/qc-opendrive@main
qc_runtime --config="$env:WORKING_PATH\qc-framework\qc-framework\.github\workflows\windows-files\odr_config.xml" --manifest="$env:WORKING_PATH\qc-framework\qc-framework\.github\workflows\windows-manifest\framework.json" --working_dir="$env:WORKING_PATH\odr_out"
if (-not (Test-Path "$env:WORKING_PATH\odr_out\xodr_bundle_report.xqar")) { Throw "Error: Odr output does not exist." }
if (-not (Test-Path "$env:WORKING_PATH\odr_out\Result.xqar")) { Throw "Error: Odr output does not exist." }
if (-not (Test-Path "$env:WORKING_PATH\odr_out\Report.txt")) { Throw "Error: Odr output does not exist." }
mkdir "$env:WORKING_PATH\osc_out"
pip install asam-qc-openscenarioxml@git+https://github.com/asam-ev/qc-openscenarioxml@develop
pip install asam-qc-openscenarioxml@git+https://github.com/asam-ev/qc-openscenarioxml@main
qc_runtime --config="$env:WORKING_PATH\qc-framework\qc-framework\.github\workflows\windows-files\osc_config.xml" --manifest="$env:WORKING_PATH\qc-framework\qc-framework\.github\workflows\windows-manifest\framework.json" --working_dir="$env:WORKING_PATH\osc_out"
if (-not (Test-Path "$env:WORKING_PATH\osc_out\xosc_bundle_report.xqar")) { Throw "Error: Osc output does not exist." }
if (-not (Test-Path "$env:WORKING_PATH\osc_out\Result.xqar")) { Throw "Error: Osc output does not exist." }
if (-not (Test-Path "$env:WORKING_PATH\osc_out\Report.txt")) { Throw "Error: Odr output does not exist." }
mkdir "$env:WORKING_PATH\otx_out"
pip install asam-qc-otx@git+https://github.com/asam-ev/qc-otx@develop
pip install asam-qc-otx@git+https://github.com/asam-ev/qc-otx@main
qc_runtime --config="$env:WORKING_PATH\qc-framework\qc-framework\.github\workflows\windows-files\otx_config.xml" --manifest="$env:WORKING_PATH\qc-framework\qc-framework\.github\workflows\windows-manifest\framework.json" --working_dir="$env:WORKING_PATH\otx_out"
if (-not (Test-Path "$env:WORKING_PATH\otx_out\otx_bundle_report.xqar")) { Throw "Error: Otx output does not exist." }
if (-not (Test-Path "$env:WORKING_PATH\otx_out\Result.xqar")) { Throw "Error: Otx output does not exist." }
Expand Down
62 changes: 51 additions & 11 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -270,11 +270,21 @@ conda activate .venv

Python modules can be installed using `pip`.

**From PyPi**

```bash
pip install asam-qc-framework
```

**From GitHub repository**

```bash
pip install asam-qc-framework@git+https://github.com/asam-ev/qc-framework@develop#subdirectory=qc_framework
pip install asam-qc-framework@git+https://github.com/asam-ev/qc-framework@main#subdirectory=qc_framework
```

**Note:** The above command will install `asam-qc-framework` from the `develop` branch. If you want to install `asam-qc-framework` from another branch or tag, replace `@develop` with the desired branch or tag. It is also possible to install from a local directory.
The above command will install `asam-qc-framework` from the `main` branch. If you want to install `asam-qc-framework` from another branch or tag, replace `@main` with the desired branch or tag.

**From a local repository**

```bash
pip install /home/user/qc-framework/qc_framework
Expand All @@ -284,13 +294,23 @@ pip install /home/user/qc-framework/qc_framework

Standard ASAM Checker Bundles are implemented in Python and can be installed using `pip`.

#### ASAM OpenDrive Checker Bundle
### ASAM OpenDrive Checker Bundle

**From PyPi**

```bash
pip install asam-qc-opendrive
```

**From GitHub repository**

```bash
pip install asam-qc-opendrive@git+https://github.com/asam-ev/qc-opendrive@develop
pip install asam-qc-opendrive@git+https://github.com/asam-ev/qc-opendrive@main
```

**Note:** The above command will install `asam-qc-opendrive` from the `develop` branch. If you want to install `asam-qc-opendrive` from another branch or tag, replace `@develop` with the desired branch or tag. It is also possible to install from a local directory.
The above command will install `asam-qc-opendrive` from the `main` branch. If you want to install `asam-qc-opendrive` from another branch or tag, replace `@main` with the desired branch or tag.

**From a local repository**

```bash
pip install /home/user/qc-opendrive
Expand All @@ -302,13 +322,23 @@ To test the installation:
qc_opendrive --help
```

#### ASAM OpenScenario XML Checker Bundle
### ASAM OpenScenario XML Checker Bundle

**From PyPi**

```bash
pip install asam-qc-openscenarioxml
```

**From GitHub repository**

```bash
pip install asam-qc-openscenarioxml@git+https://github.com/asam-ev/qc-openscenarioxml@develop
pip install asam-qc-openscenarioxml@git+https://github.com/asam-ev/qc-openscenarioxml@main
```

**Note:** The above command will install `asam-qc-openscenarioxml` from the `develop` branch. If you want to install `asam-qc-openscenarioxml` from another branch or tag, replace `@develop` with the desired branch or tag. It is also possible to install from a local directory.
The above command will install `asam-qc-openscenarioxml` from the `main` branch. If you want to install `asam-qc-openscenarioxml` from another branch or tag, replace `@main` with the desired branch or tag.

**From a local repository**

```bash
pip install /home/user/qc-openscenarioxml
Expand All @@ -320,13 +350,23 @@ To test the installation:
qc_openscenario --help
```

#### ASAM OTX Checker Bundle
### ASAM OTX Checker Bundle

**From PyPi**

```bash
pip install asam-qc-otx
```

**From GitHub repository**

```bash
pip install asam-qc-otx@git+https://github.com/asam-ev/qc-otx@develop
pip install asam-qc-otx@git+https://github.com/asam-ev/qc-otx@main
```

**Note:** The above command will install `asam-qc-otx` from the `develop` branch. If you want to install `asam-qc-otx` from another branch or tag, replace `@develop` with the desired branch or tag. It is also possible to install from a local directory.
The above command will install `asam-qc-otx` from the `main` branch. If you want to install `asam-qc-otx` from another branch or tag, replace `@main` with the desired branch or tag.

**From a local repository**

```bash
pip install /home/user/qc-otx
Expand Down
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ with this file, You can obtain one at https://mozilla.org/MPL/2.0/.

# ![Logo Image](doc/manual/images/qc_framework_logo.drawio.png)

**Disclaimer**: The current version is a release candidate. The first official release is expected to be in November.

The ASAM Quality Checker Framework is designed for quality assessment of the
ASAM standards like
[OpenDRIVE](https://www.asam.net/standards/detail/opendrive),
Expand Down Expand Up @@ -76,8 +78,8 @@ An architecture overview and documentation is provided in the
## Using Docker-based demo pipeline

A [Docker-based demo pipeline](doc/manual/demo_pipeline.md) is provided to help users try out the latest development
of the framework, as well as the [OpenDrive](https://github.com/asam-ev/qc-opendrive/tree/develop)
and [OpenScenario XML](https://github.com/asam-ev/qc-openscenarioxml/tree/develop) checker bundles.
of the framework, as well as the [OpenDrive](https://github.com/asam-ev/qc-opendrive)
and [OpenScenario XML](https://github.com/asam-ev/qc-openscenarioxml) checker bundles.

## Build and run the framework locally

Expand Down
48 changes: 14 additions & 34 deletions doc/changelog.txt
Original file line number Diff line number Diff line change
@@ -1,42 +1,22 @@
ASAM Quality Checker Framework - Change Log File
=============================================

v1.0.0-rc.1
==========================================
- Configuration and result file formats for checker bundles.
- Python and C++ base libraries for implementing checker bundles.
- Manifest file mechanism to register checker bundles.
- Resul pooling to combine results from different checker bundles.
- Text report to generate human-readable report from result files.
- Report GUI to interact with result files.
- Esmini viewer integrated in Report GUI to visualize results from OpenDrive checker bundles.
- Runtime for executing the framework.

QC4OpenX QChecker for OpenX - Change Log File
=============================================

This file tracks the changes made within the QC4OpenX project.

v2.0.0-beta
==========================================
- The QC Framework is now standards agnostic
- Remove unnecessary dependencies
- Add Python Base Library
- Update C++ Base Library
- Add CI/CD
- Add a demo pipeline
- Simplify the architecture by splitting runtime module and configuration GUI
- Add a new runtime module in Python
- Support the manifest file mechanism to register checker bundles in any programming language with the framework.
- Update configuration file format and result file format to include necessary information
- Support the rule UID concept in the framework
- Add new features to result pooling
- Order the results
- Support severity level
- Support result filtering
- Resolve naming conflict
- Improve ReportGUI
- Support arbitrary ASCII-based input files
- Remove the 5MB file size limit
- Improve usability (drag and drop to open, refresh after loading a new result file)
- Support domain specific information
- Add Esmini Viewer plugin to visualize issues in OpenDrive files
- Improve Text Report
- Add more information to Text Report
- Support domain-specific information
- Add support for automatic documentation generation in the Python Base Library
- Improve documentation
- Add three checker bundles
- OpenDrive checker bundle: https://github.com/asam-ev/qc-opendrive
- OpenScenario XML checker bundle: https://github.com/asam-ev/qc-openscenarioxml
- OTX checker bundle: https://github.com/asam-ev/qc-otx

v1.0.0 First open source compliant version
==========================================
- ConfigGUI executable for checker configuration
Expand Down
14 changes: 12 additions & 2 deletions doc/manual/python_qc_framework.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,21 @@ The runtime module execute the following steps:

The ASAM QC Framework can be installed using pip.

**From PyPi**

```bash
pip install asam-qc-framework
```

**From GitHub Repository**

```bash
pip install asam-qc-framework@git+https://github.com/asam-ev/qc-framework@develop#subdirectory=qc_framework
pip install asam-qc-framework@git+https://github.com/asam-ev/qc-framework@main#subdirectory=qc_framework
```

**Note:** The above command will install `asam-qc-framework` from the `develop` branch. If you want to install `asam-qc-framework` from another branch or tag, replace `@develop` with the desired branch or tag. It is also possible to install from a local directory.
The above command will install `asam-qc-framework` from the `main` branch. If you want to install `asam-qc-framework` from another branch or tag, replace `@main` with the desired branch or tag.

**From a local repository**

```bash
# From reporsitory root
Expand Down
4 changes: 2 additions & 2 deletions doc/manual/writing_user_defined_modules.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ A Checker Bundle should accept a configuration file and output a result file (se
It is recommended to use the Python Base Library if possible as it contains the most advanced development. The C++ Base Library is complete in terms of functionality, but it is not as easy to use as the Python Base Library.

A minimal example of using the Python Base Library to implement a Checker Bundle:
* https://github.com/asam-ev/qc-baselib-py/tree/develop/examples/json_validator
* https://github.com/asam-ev/qc-baselib-py/tree/main/examples/json_validator

A minimal example of using the C++ Base Library to implement a Checker Bundle:
* https://github.com/asam-ev/qc-framework/tree/main/examples/checker_bundle_example
Expand Down Expand Up @@ -62,7 +62,7 @@ A Report Module should accept a configuration file which define the result xqar
Similar to Checker Bundle, it is recommended to use the [Python Base Library](https://github.com/asam-ev/qc-baselib-py) to implement a Report Module.

A minimal example of using the Python Base Library to implement a Report Module:
* https://github.com/asam-ev/qc-baselib-py/tree/develop/examples/report_module_text
* https://github.com/asam-ev/qc-baselib-py/tree/main/examples/report_module_text

Here are some other advanced example Report Modules using the C++ Base Library:
* https://github.com/asam-ev/qc-framework/tree/main/src/report_modules/report_module_text
Expand Down
6 changes: 3 additions & 3 deletions docker/Dockerfile.linux
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,9 @@ RUN echo "Building framework..." && \

RUN python3 -m pip install --no-cache-dir -r /app/demo_pipeline/requirements.txt && \
python3 -m pip install --no-cache-dir /app/framework/qc_framework && \
python3 -m pip install asam-qc-opendrive@git+https://github.com/asam-ev/qc-opendrive@develop && \
python3 -m pip install asam-qc-openscenarioxml@git+https://github.com/asam-ev/qc-openscenarioxml@develop && \
python3 -m pip install asam-qc-otx@git+https://github.com/asam-ev/qc-otx@develop
python3 -m pip install asam-qc-opendrive@git+https://github.com/asam-ev/qc-opendrive@main && \
python3 -m pip install asam-qc-openscenarioxml@git+https://github.com/asam-ev/qc-openscenarioxml@main && \
python3 -m pip install asam-qc-otx@git+https://github.com/asam-ev/qc-otx@main


# Framework test stage
Expand Down
Loading

0 comments on commit 3036c6a

Please sign in to comment.