This repository contains a GitHub Action for deploying and running IncQuery Validator for Enterprise Architect. The repository also contains a workflow example demonstrating how to use the action.
This action downloads and installs IncQuery Validator for Enterprise Architect (if not already installed on the GitHub Runner), then executes a model analysis with the specified analysis suite on the specified Enterprise Architect model. The result of the analysis will be available in the artifacts of the workflow. If the workflow is triggered on a branch which has a pull request, then a comment is posted about the summary of the analysis. A basic pass-fail criteria is also configurable.
IncQuery Validator is a powerful tool that provides Automated Quality Gates as an integral part of your next-generation MBSE workflow. Running either as a stand-alone desktop application, or as a server-side automated pipeline, it can generate rich validation reports including a high-level Quality Score, as well as detailed rule violation breakdowns, that give information on the general context, severity, and impact of each quality issue.
For more information visit https://incquery.io/validator.
In case of GitHub hosted runner:
- windows-2022 (or newer) runner
- Valid license
- Credentials to access the IncQuery Validator for Enterprise Architect release
In case of self hosted runner:
- Runner hosted on Windows 10 x64 1803 April 2018 Update or newer
- Valid license
- Credentials to access the IncQuery Validator for Enterprise Architect release or the Validator being pre-installed on the runner
The following secrets need to be configured in the repository:
- If the Validator is not pre-installed on the runnerincquery_username, incquery_password to access the Validator releases
- incquery_ea_validator_license : contents of the license file as-is
- name: Run validation
uses: IncQueryLabs/incquery-validator-for-ea-action@v1
with:
model_file_path: example.qeax
analysis_suite: "SAIC Digital Engineering Validation"
incquery_username: "${{ secrets.incquery_username }}"
incquery_password: "${{ secrets.incquery_password }}"
license: "${{ secrets.incquery_ea_validator_license }}"
comment_on_pr: true
fail_on: warning
See IncQueryValidatorForEAExample.yml for an example of a full workflow.
Path to the Enterprise Architect project. EAP, EAPX, QEA, QEAX files are supported. Shortcuts (and connection strings) to remote servers are also supported, but in this case make sure that the runner can reach the server.
This parameter is mandatory.
Name of the analysis suite, same as what appears in the addin's Validate model menu.
This parameter is mandatory.
Username and password to artifacts.incquery.io. If the runner does not have the Validator already installed, then these parameters are required.
Contents of the license file as-is. The ValidatorEA and ValidatorEACI license features are required.
This parameter is mandatory.
If set to true and there is a pull request for the branch then the action will create a comment with the summary of the analysis. By default this is disabled.
This parameter sets the pass-fail quality gate.
The following table lists the possible values.
Value | Description |
---|---|
none | The action will not trigger a build failure, regardless of the analysis result. |
debug | The action will fail if there is any kind of issues detected. |
info | The action will fail if there are info or more severe issues detected. |
warning | The action will fail if there are warnings or more severe issues detected. |
error | The action will fail if there are error or more severe issues detected. |
fatal | The action only fails if there are fatal errors detected. |