Add docs to the CI workflow#38
Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds documentation building to the GitHub Actions CI workflow and introduces several other improvements including HTCondor integration tests, htcondor2 compatibility updates, and various bug fixes.
Key Changes
- Adds automated documentation building and deployment via GitHub Actions using sphinx-multiversion
- Introduces comprehensive HTCondor integration testing in both GitHub Actions and GitLab CI
- Updates Python imports to support htcondor2 with fallback to htcondor for better compatibility
- Improves Python executable detection with better error handling
- Fixes indentation bug in review CLI module
Reviewed changes
Copilot reviewed 15 out of 16 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
.github/workflows/docs.yml |
New workflow for building and deploying documentation with sphinx-multiversion to GitHub Pages |
.github/workflows/htcondor-tests.yml |
New comprehensive HTCondor integration test workflow using htcondor/mini container |
.github/workflows/python-app.yml |
Updated to use pip install . and simplified test commands |
.gitlab-ci.yml |
Adds HTCondor integration test stage with conda environment setup |
asimov/condor.py |
Adds try/except block to import htcondor2 as htcondor with fallback to htcondor |
asimov/pipeline.py |
Adds try/except block to import htcondor2 as htcondor with fallback to htcondor |
asimov/pipelines/pesummary.py |
Adds try/except block to import htcondor2 as htcondor with fallback to htcondor |
asimov/analysis.py |
Changes imports from absolute to relative imports |
asimov/cli/project.py |
Improves Python executable detection with walrus operator and better error handling |
asimov/cli/review.py |
Fixes indentation to move else block to correct level |
pyproject.toml |
Adds missing package entries for asimov.pipelines, asimov.cli, and asimov.configs |
conda/environment.yaml |
New conda environment specification with required dependencies |
tests/tmp/project/.asimov/asimov.conf |
Test fixture configuration file for HTCondor tests |
tests/test_blueprints/*.yaml |
Test blueprint configurations for GWOSC integration tests |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| python_loc = python_loc.split("/")[:-2] | ||
| else: | ||
| raise RuntimeError("Unable to find python executable in PATH") | ||
|
|
There was a problem hiding this comment.
This line has trailing whitespace which should be removed for code cleanliness.
| import htcondor # NoQA | ||
| try: | ||
| warnings.filterwarnings("ignore", module="htcondor2") | ||
| import htcondor2 as htcondor # NoQA |
There was a problem hiding this comment.
There's inconsistent spacing around the comment. This line has a space before the comment while the identical line in asimov/pipeline.py (line 13) and asimov/condor.py (line 17) have two spaces. Consider maintaining consistency across files.
| import htcondor2 as htcondor # NoQA | |
| import htcondor2 as htcondor # NoQA |
| # Change to the submit user | ||
| - su - submituser |
There was a problem hiding this comment.
The su - submituser command starts an interactive login shell, but in a CI script context, the subsequent commands will continue to execute as the original user (root), not as submituser. This differs from the GitHub workflow which uses shell: sudo -E -u submituser bash -el {0} to properly execute commands as submituser. Consider removing this line or restructuring the script to properly execute as submituser if that's the intent.
| # Change to the submit user | |
| - su - submituser | |
| # Change to the submit user (removed ineffective su invocation; commands run as the CI user) |
| @@ -0,0 +1,77 @@ | |||
| name: Build and Deploy Documentation | |||
There was a problem hiding this comment.
The PR title "Add docs to the CI workflow" doesn't fully capture the scope of changes in this PR, which also includes adding HTCondor integration tests, updating htcondor imports to support htcondor2, fixing Python executable detection, and other improvements. Consider updating the PR description or title to reflect all significant changes.
No description provided.