Skip to content

Project import generated by Copybara. Switch from PyLint to PyInk. Fixed Github actions for python code. #873

Project import generated by Copybara. Switch from PyLint to PyInk. Fixed Github actions for python code.

Project import generated by Copybara. Switch from PyLint to PyInk. Fixed Github actions for python code. #873

Workflow file for this run

# This workflow will install Python dependencies, run tests and lint with a single version of Python
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
name: Tools
on:
push:
branches: [ master ]
paths:
- 'tools/**'
pull_request:
branches: [ master ]
paths:
- 'tools/**'
jobs:
build:
runs-on: ${{ matrix.os }}
timeout-minutes: 60
strategy:
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
steps:
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: changes
with:
filters: |
abel:
- 'tools/abel/**'
explorer:
- 'tools/explorer/**'
instance_guid_generator:
- 'tools/guid_generator/instance/**'
ontology_guid_generator:
- 'tools/guid_generator/ontology/**'
instance_validator:
- 'tools/validators/instance_validator/**'
rdf_generator:
- 'tools/rdf_generator/**'
type_validator:
- 'tools/validators/ontology_validator/**'
scoring:
- 'tools/scoring/**'
- name: Set up Python 3.11
uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install PyInk
run: |
python -m pip install pyink
#---------- Ontology Yaml Type Validator ----------#
- name: Ontology Yaml Type Validator Install dependencies
run: |
python setup.py install
working-directory: ./tools/validators/ontology_validator
- name: Run PyInk on Ontology Type Validator
if: steps.changes.outputs.type_validator == 'true'
run: |
pyink --diff --config ./styles/pyink-config ./tools/validators/ontology_validator
- name: Ontology Yaml Validator Generator Tests
if: steps.changes.outputs.type_validator == 'true'
run: |
python -m unittest discover -p '*_test.py' --failfast -v
working-directory: ./tools/validators/ontology_validator
#---------- Ontology Yaml Instance Validator ----------#
- name: Instance Yaml Validator Install dependencies
run: |
python -m pip install .
working-directory: ./tools/validators/instance_validator
- name: Run PyInk on Ontology Instance Validator
if: steps.changes.outputs.instance_validator == 'true'
run: |
pyink --diff --config ./styles/pyink-config ./tools/validators/instance_validator
- name: Instance Yaml Validator Unit Tests
if: steps.changes.outputs.instance_validator == 'true' || steps.changes.outputs.type_validator == 'true'
run: |
python -m unittest discover -p '*_test.py' --failfast -v
working-directory: ./tools/validators/instance_validator
- name: Instance Yaml Validator Integraion Test
if: steps.changes.outputs.instance_validator == 'true' || steps.changes.outputs.type_validator == 'true'
run: |
python instance_validator.py -i ../../abel/tests/test_resources/good_test_building_config.yaml
working-directory: ./tools/validators/instance_validator
- name: Correct Ontology Descriptions
run: |
pip install -r tools/spellcheck/requirements.txt
python tools/spellcheck/spellcheck.py
#---------- ABEL ----------#
- name: ABEL install dependencies
if: steps.changes.outputs.abel == 'true' || steps.changes.outputs.instance_validator == 'true' || steps.changes.outputs.type_validator == 'true'
run: |
python setup.py install
working-directory: ./tools/abel
- name: Run PyInk on ABEL
if: steps.changes.outputs.abel == 'true'
run: |
pyink --diff --config ./styles/pyink-config ./tools/abel
- name: ABEL Unit Tests
if: steps.changes.outputs.abel == 'true' || steps.changes.outputs.instance_validator == 'true' || steps.changes.outputs.type_validator == 'true'
run: |
python -m unittest discover -p '*_test.py' --failfast -v
working-directory: ./tools/abel
#---------- Instance GUID Generator ----------#
- name: Instance GUID Generator Install dependencies
if: steps.changes.outputs.instance_guid_generator == 'true' || steps.changes.outputs.instance_validator == 'true'
run: |
python setup.py install
working-directory: ./tools/guid_generator/instance
- name: Run PyInk on Instance GUID Generator
if: steps.changes.outputs.instance_guid_generator == 'true'
run: |
pyink --diff --config ./styles/pyink-config ./tools/guid_generator/instance
- name: Instance GUID Generator Tests
if: steps.changes.outputs.instance_guid_generator == 'true' || steps.changes.outputs.instance_validator == 'true'
run: |
python -m unittest discover -p '*_test.py' --failfast -v
working-directory: ./tools/guid_generator/instance
#---------- Ontology GUID Generator ----------#
- name: Ontology GUID Generator Install dependencies
if: steps.changes.outputs.ontology_guid_generator == 'true' || steps.changes.outputs.type_validator == 'true'
run: |
python setup.py install
working-directory: ./tools/guid_generator/ontology
- name: Run PyInk on Ontology GUID Generator
if: steps.changes.outputs.ontology_guid_generator == 'true'
run: |
pyink --diff --config ./styles/pyink-config ./tools/guid_generator/ontology
- name: Ontology GUID Generator Tests
if: steps.changes.outputs.ontology_guid_generator == 'true' || steps.changes.outputs.type_validator == 'true'
run: |
python -m unittest discover -p '*_test.py' --failfast -v
working-directory: ./tools/guid_generator/ontology
#---------- RDF Generator ----------#
- name: RDF Generator Install dependencies
if: steps.changes.outputs.rdf_generator == 'true'
run: |
python -m pip install --upgrade pip
python setup.py install
working-directory: ./tools/rdf_generator
- name: Run PyInk on RDF Generator
if: steps.changes.outputs.rdf_generator == 'true'
run: |
pyink --diff --config ./styles/pyink-config ./tools/rdf_generator
- name: RDF Generator Tests
if: steps.changes.outputs.rdf_generator == 'true'
run: |
python -m unittest discover -p '*_test.py' --failfast -v
working-directory: ./tools/rdf_generator/rdfformat/tests
#---------- Ontology Explorer ----------#
- name: Ontology Explorer Install dependencies
if: steps.changes.outputs.explorer == 'true' || steps.changes.outputs.type_validator == 'true' || steps.changes.outputs.instance_validator == 'true'
run: |
python setup.py install
working-directory: ./tools/explorer
- name: Run PyInk on Ontology Explorer
if: steps.changes.outputs.explorer == 'true'
run: |
pyink --diff --config ./styles/pyink-config ./tools/explorer
- name: Ontology Explorer Tests
if: steps.changes.outputs.explorer == 'true' || steps.changes.outputs.type_validator == 'true' || steps.changes.outputs.instance_validator == 'true'
run: |
python -m unittest discover -p '*_test.py' --failfast -v
working-directory: ./tools/explorer
#---------- Configuration scoring ----------#
- name: Configuration scoring Install dependencies
if: steps.changes.outputs.scoring == 'true' || steps.changes.outputs.instance_validator == 'true'
run: |
python setup.py install
working-directory: ./tools/scoring
- name: Run PyInk on Configuration Scorer
if: steps.changes.outputs.scoring == 'true'
run: |
pyink --diff --config ./styles/pyink-config ./tools/scoring
- name: Configuration Scorer Tests
if: steps.changes.outputs.scoring == 'true' || steps.changes.outputs.instance_validator == 'true'
run: |
python -m unittest discover -p '*_test.py' --failfast -v
working-directory: ./tools/scoring