Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add workflow for checking against NOMAD dependencies #345

Merged
merged 15 commits into from
Jun 11, 2024
54 changes: 54 additions & 0 deletions .github/workflows/nomad-requirements.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: NOMAD dependencies compatibility

on:
push:
branches:
- master
pull_request:
branches:
- master
# Run workflow only when there are changes in pyproject.toml or dev-requirements.txt
paths:
- 'pyproject.toml'
- 'dev-requirements.txt'

jobs:
validate_dependencies:
runs-on: ubuntu-latest

steps:
- name: Checkout pynxtools
uses: actions/checkout@v2

- name: Checkout NOMAD from GitLab
run: |
git clone --depth 1 --branch develop --recurse-submodules https://gitlab.mpcdf.mpg.de/nomad-lab/nomad-FAIR.git nomad
git submodule update --init --recursive --depth 1

- name: Replace pynxtools dependency in NOMAD pyproject.toml
working-directory: ./nomad
run: |
sed -i 's|pynxtools\[convert\]==[0-9]\+\(\.[0-9]\+\)\{0,2\}|pynxtools\[convert\]@git+https://github.com/FAIRmat-NFDI/pynxtools.git@${{ github.head_ref }}|' pyproject.toml

- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.9'

- name: Install uv
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh

- name: Generate (dev-)requirements.txt from modified pyproject.toml
working-directory: ./nomad
run: |
uv pip compile -p 3.9 --annotation-style=line --extra=infrastructure --extra=parsing --output-file=requirements.txt dependencies/nomad-dos-fingerprints/pyproject.toml dependencies/parsers/eelsdb/pyproject.toml pyproject.toml
uv pip compile -p 3.9 --annotation-style=line --extra=dev --extra=infrastructure --extra=parsing --output-file=requirements-dev.txt requirements.txt pyproject.toml

- name: Install NOMAD dependencies with pynxtools from current branch
lukaspie marked this conversation as resolved.
Show resolved Hide resolved
working-directory: ./nomad
run: |
uv pip install --system -r requirements.txt
uv pip install --system -r requirements-dev.txt
env:
PYTHONPATH: "" # Ensure no pre-installed packages interfere with the test
Loading