Skip to content

Build and test linkml-runtime with latest dependency versions #28

Build and test linkml-runtime with latest dependency versions

Build and test linkml-runtime with latest dependency versions #28

name: Build and test linkml-runtime with latest dependency versions
on:
schedule:
- cron: '0 5 * * 1' # once per week on Monday at 05:00 UTC
workflow_dispatch:
# Allows you to run this workflow manually from the Actions tab
types: trigger-run-check-dependencies
jobs:
test:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest]
python-version: ["3.8", "3.9", "3.10"]
exclude:
- os: windows-latest
python-version: "3.8"
runs-on: ${{ matrix.os }}
steps:
#----------------------------------------------
# install poetry
#----------------------------------------------
- name: Install Poetry
# Pin to 1.3.2 to workaround https://github.com/python-poetry/poetry/issues/7611
run: pipx install poetry==1.3.2
#----------------------------------------------
# check-out repo and set-up python
#----------------------------------------------
- name: Check out repository
uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
cache: 'poetry'
#----------------------------------------------
# install your root project, if required
#----------------------------------------------
- name: Install library
run: poetry install --no-interaction
# this step we remove and rebuild the poetry.lock file to ensure that the tests that follow can be run
# with the latest dependencies
#----------------------------------------------
# Remove and Rebuild the poetry.lock File
#----------------------------------------------
- name: Remove poetry.lock (Unix)
if: runner.os != 'Windows'
run: rm -rf poetry.lock
- name: Remove poetry.lock (Windows)
if: runner.os == 'Windows'
run: Remove-Item poetry.lock -Force
- name: Run tests
run: poetry run python -m unittest discover