Skip to content

Working CI pipeline - #1

Merged
danielandresarcones merged 4 commits into
mainfrom
CI
Mar 31, 2026
Merged

danielandresarcones merged 4 commits into
mainfrom
CI

Conversation

@danielandresarcones

Copy link
Copy Markdown
Owner

Working CI pipeline
This pull request introduces several improvements to the codebase, focusing on code style consistency, enhanced CI/CD workflows, and minor refactoring for clarity and maintainability. The main changes include adding pre-commit linting, updating the CI workflow, improving documentation, and refactoring code for readability.

Continuous Integration and Linting Improvements:

  • Renamed .github/workflows/tests.yml to .github/workflows/ci.yml, added a dedicated lint job using pre-commit with black and isort, and made linting a prerequisite for running tests. Also removed Python 3.9 from the test matrix.
  • Added a .pre-commit-config.yaml file to configure black and isort for code formatting and import sorting.

Documentation and Badges:

  • Updated README.md to include CI, test, Python version, and code style badges, improving project visibility and documentation.

Code Style and Refactoring:

  • Applied consistent import grouping and spacing in multiple files, such as pybastion/__init__.py, pybastion/_obs_error.py, and pybastion/_evol_params.py, to adhere to linting standards. [1] [2] [3]
  • Reformatted long array and function argument lists for readability, especially in pybastion/_evol_params.py and pybastion/_mcmc.py. [1] [2] [3] [4] [5]
  • Reordered imports in pybastion/_mcmc.py for consistency and style compliance.

These changes collectively enhance code quality, enforce consistent style, and improve the development workflow.

- Add GitHub Actions CI workflow with lint job (pre-commit) and test job
- Lint job runs black and isort checks before tests execute
- Test matrix: Python 3.9-3.13 on Ubuntu, macOS, Windows
- Add .pre-commit-config.yaml with black and isort hooks
- Add black/isort configuration to pyproject.toml
- Format entire codebase with black and isort
- Add CI, Python version, black, isort badges to README
- Remove branch filter on push so CI runs on all branches, not just main
- Add separate Lint and Tests badges to README
- Tests badge uses shields.io for proper rendering
setuptools.backends._legacy is not available in older setuptools versions
shipped with Python 3.9, causing pip install -e to fail on CI.
pyreadr does not provide wheels for Python 3.9, causing CI failures.
@danielandresarcones
danielandresarcones merged commit 13c5b7a into main Mar 31, 2026
26 checks passed
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