Skip to content

CI fixes: Python tests workflow, CVMFS deploy scope, latent dirac-install.py bug - #75

Merged
fstagni merged 2 commits into
masterfrom
ci-management-fixes
Nov 9, 2026
Merged

fstagni merged 2 commits into
masterfrom
ci-management-fixes

Conversation

@fstagni

@fstagni fstagni commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor

CI fixes: Python tests workflow, CVMFS deploy scope, latent dirac-install.py bug

Base of the stack — merge this PR first, then #74 (the HS23 table generator), which builds on it.

Two commits:

1. Fix the Python tests workflow, scope the CVMFS deploy to master (0fea500)

  • pythontests.yml used actions/setup-python@v1 with Python 3.8, which current runners no longer provide ("Version 3.8 with arch x64 not found") — the workflow has been broken for every push/PR. Bumped to checkout@v6 + setup-python@v5 + Python 3.11.
  • deploy-cvmfs.yml ran on every branch push and always fails with the robot certificate expired in 2022; it fetches globalDefaults.cfg from master unconditionally, so deploying from a PR branch is meaningless. Push trigger restricted to master (weekly schedule unchanged). Renewing the certificate remains an infra task outside this PR.

2. Fix the pylint step and a latent NameError in dirac-install.py (c39a4af)

  • The pylint step downloaded DIRAC's .pylintrc, which no longer exists (configuration moved to pyproject.toml) — the curl saved a "404: Not Found" body and pylint failed to parse it. Lint with pylint's error-only defaults instead, covering both dirac-install.py and the HS23 table generator.
  • pylint 4 flagged E0606 in writeDefaultConfiguration(): releaseConfig is assigned inside loadConfiguration() without a global statement, so writeDefaultConfiguration() raises NameError when reached (verified in isolation). Fixed with global releaseConfig at the top of loadConfiguration() and a module-level releaseConfig = None.

Evidence

  • Locally under Python 3.11 (CI equivalent): flake8 --select=E9,F63,F7,F82 clean, pylint -E clean on both files, 7 generator tests pass.
  • The CI on this PR exercises all of it directly.

Merge Danger

Door: two-way — workflow configuration and one-line bug fix; revertible independently of #74's content (but merge order matters for the workflow's generator steps).

Blast Radius: CI only, plus the long-broken dirac-install.py end-of-install path.

- pythontests.yml used actions/setup-python@v1 with Python 3.8, which
  current runners no longer provide: bump to setup-python@v5 with
  Python 3.11 (and checkout@v6), and run the HS23 table generator tests.
- deploy-cvmfs.yml ran on every branch push and always fails with the
  expired robot certificate; it fetches globalDefaults.cfg from master
  unconditionally, so deploying from a PR branch is meaningless:
  restrict the push trigger to master (weekly schedule unchanged).
- The pylint step downloaded DIRAC's .pylintrc, which no longer exists
  (pylint configuration moved to pyproject.toml): lint with pylint's
  error-only defaults instead.
- pylint 4 flagged E0606 in writeDefaultConfiguration(): releaseConfig
  is assigned inside loadConfiguration() without a global statement, so
  writeDefaultConfiguration() raises NameError when reached. Bind it
  globally and initialize it to None at module level.
@fstagni
fstagni force-pushed the ci-management-fixes branch from c39a4af to f8f7def Compare November 9, 2026 12:50
@fstagni
fstagni merged commit f8f7def into master Nov 9, 2026
1 of 2 checks passed
@fstagni
fstagni force-pushed the hs23-table-generator branch from 7aa4049 to 1fd2c16 Compare November 9, 2026 12:51
@fstagni
fstagni changed the base branch from hs23-table-generator to master November 9, 2026 12:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant