Commit 2a045089 authored by Davide Ricci's avatar Davide Ricci
Browse files

Update .gitlab-ci.yml file

parent 4dbf021f
Loading
Loading
Loading
Loading
Loading
+3 −20
Original line number Diff line number Diff line
@@ -17,7 +17,6 @@ cache:
  key: "$CI_COMMIT_REF_SLUG" # Cache pip downloads per branch
  paths:
    - .cache/pip
    # If you were to use a venv consistently and wanted to cache it:
    # - venv/

stages:
@@ -129,28 +128,14 @@ apply_autopep8:

# Job 5: Run Pylint
run_pylint:
  stage: lint # Separate stage for non-modifying checks
  stage: lint
  tags:
    - git-run-ia2
  needs:
    - job: apply_autopep8 # Get the fully formatted code
    - job: apply_autopep8 
      artifacts: true
  before_script:
    - pip install pylint
    # Crucially, also ensure the project itself is "installed" or accessible
    # for pylint to resolve its internal imports and dependencies.
    # If the artifact from apply_autopep8 doesn't guarantee a fully functional
    # python environment with noctua installed, we might need to `pip install -e .` again.
    # However, since install_noctua did `pip install -e .` and we pass the whole
    # workspace, the .egg-info or similar should be present, making `noctua` importable.
    # Let's assume the workspace artifact correctly sets up the Python path for `noctua`.
    # If pylint has import errors for 'noctua' or its submodules, add `pip install -e .` here.
    # Test:
    - echo "Ensuring noctua is importable for pylint..."
    - python -c "import noctua; print(f'Successfully imported noctua v{noctua.__version__}')" || \
      (echo "Failed to import noctua, trying pip install -e ." && pip install -e . && \
       python -c "import noctua; print(f'Successfully imported noctua v{noctua.__version__} after re-install')")

  script:
    - echo "Current directory $(pwd)"
    - ls -la
@@ -158,9 +143,7 @@ run_pylint:
    # .pylintrc should be at the project root, available from the artifact
    - pylint --rcfile=.pylintrc "${PYLINT_TARGETS}"
    - echo "Pylint check complete."
  # This job acts as a gate. If it fails, the pipeline stops here (unless allow_failure=true).
  # No file artifacts are typically produced by pylint itself.
  rules: # Standard rules to run on MRs and default branch
  rules:
    - if: $CI_PIPELINE_SOURCE == "merge_request_event"
    - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
    - when: manual