Tell the validation oracle how the graph was actually built #161
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: unit-tests | |
| on: | |
| push: | |
| branches: | |
| - "**" | |
| pull_request: | |
| env: | |
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true | |
| jobs: | |
| wrapper-cross-platform: | |
| name: wrapper-unit (${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: | |
| - ubuntu-latest | |
| - macos-latest | |
| - windows-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.11" | |
| - name: Install the package and its declared dependencies | |
| # rdflib is a required runtime dependency (see pyproject.toml) and the | |
| # CLI imports it through the data-linking module while building its | |
| # argument parser, so even `--help` needs it. Installing the project | |
| # editable pulls exactly what pyproject declares and cannot drift from | |
| # it, while tests still run against the checkout. | |
| run: | | |
| python -m pip install --upgrade pip | |
| python -m pip install -e . | |
| - name: Run cross-platform wrapper tests (no real external tools) | |
| run: python -m unittest -v test.test_vcf_rdfizer_cross_platform_unit | |
| shell-posix: | |
| name: shell+pipeline-unit (${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: | |
| - ubuntu-latest | |
| - ubuntu-22.04 | |
| - macos-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.11" | |
| - name: Install the package and its declared dependencies | |
| # rdflib is a required runtime dependency (see pyproject.toml) and the | |
| # CLI imports it through the data-linking module while building its | |
| # argument parser, so even `--help` needs it. Installing the project | |
| # editable pulls exactly what pyproject declares and cannot drift from | |
| # it, while tests still run against the checkout. | |
| run: | | |
| python -m pip install --upgrade pip | |
| python -m pip install -e . | |
| - name: Run full unit test suite | |
| run: python -m unittest discover -s test -p "test_*_unit.py" -v | |
| coverage: | |
| name: coverage-upload | |
| runs-on: ubuntu-latest | |
| needs: | |
| - wrapper-cross-platform | |
| - shell-posix | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.11" | |
| - name: Run coverage | |
| run: | | |
| python -m pip install --upgrade pip coverage | |
| python -m pip install -e . | |
| coverage run -m unittest discover -s test -p "test_*_unit.py" | |
| coverage xml -o coverage.xml | |
| - name: Upload coverage to Codecov | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| files: ./coverage.xml | |
| flags: unittests | |
| name: vcf-rdfizer-unit-tests | |
| fail_ci_if_error: false | |
| package-smoke: | |
| name: package-smoke (${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: | |
| - ubuntu-latest | |
| - macos-latest | |
| - windows-latest | |
| needs: | |
| - wrapper-cross-platform | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.11" | |
| - name: Build + install wheel | |
| run: | | |
| python -m pip install --upgrade pip build | |
| python -m build | |
| python -c "import glob,subprocess,sys; wheels=sorted(glob.glob('dist/*.whl')); wheels or (_ for _ in ()).throw(SystemExit('No wheel files found in dist/')); print(f'Installing wheel: {wheels[-1]}'); subprocess.check_call([sys.executable,'-m','pip','install',wheels[-1]])" | |
| python -m vcf_rdfizer --help |