Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Move environment files to the 'envs' directory Relocated 'environment.yaml' and 'requirements.txt' to a dedicated 'envs/' directory for better organization. This change improves project structure and simplifies environment file management. * Add Dependabot config to monitor Actions versions Introduce a Dependabot configuration file to automate version checks for GitHub Actions. The setup schedules weekly checks and ensures actions are kept up to date via pull requests. This improves maintenance and security by automating dependency updates. * Add GHA workflow for auto-assigning issues/PRs This workflow triggers on issue or PR creation and reopening events. It uses a shared workflow from UBC-MOAD/gha-workflows/. * Add GHA CodeQL analysis workflow This commit introduces a GitHub Actions workflow to run CodeQL analysis. It helps identify potential security vulnerabilities in Python code with scheduled weekly scans and branch-specific triggers. * Add test environment and GHA pytest workflow Create a new conda environment file for testing and coverage analysis, specifying required dependencies for testing the SOG-Bloomcast-Ensemble package. Add a GitHub Actions workflow to automate running pytest with coverage checks and reporting. The workflow uses a reusable workflow from UBC-MOAD/gha-workflows. * Update test env to install SOG package from GitHub Updated the test environment file to include installation of the SOG package in editable mode via a GitHub URL. This ensures the latest SOG code is pulled directly from the repository, alongside the existing SOG-Bloomcast-Ensemble package. * Rename dev env file and update dev env name Renamed `environment.yml` to `environment-dev.yaml` and updated the environment name to `bloomcast-dev` for clarity and consistency. Adjusted setup instructions to reflect these changes, aligning the naming convention with development-specific purposes. * Add pre-commit to manage code style & repo QA Initial hooks: * Code formatting by black * Trim trailing whitespace * Ensure that files are either empty, or end with one newline * Confirm that YAML files have parsable syntax * Confirm that TOML files have parsable syntax * Prevent files larger than 500 kB from being committed * Code style gardening by pre-commit * Add pytest-cov and pytest-randomly to dev env Updated environment-dev.yaml to include pytest-cov for test coverage monitoring and pytest-randomly for randomized test execution. These additions aim to improve testing comprehensiveness and robustness. * Pin versions of sphinx and optional extensions As recommended for reproducible builds on readthedocs: https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html and to ensure that our docs build works with readthedocs changes to default project dependencies: https://blog.readthedocs.com/defaulting-latest-build-tools/ * Switch to pyproject.toml for build configuration Replaced setup.py with pyproject.toml to modernize the project's build system and comply with PEP 518 standards. Updated references in the codebase to use the new configuration format. This change simplifies dependency management and aligns the project with current Python packaging practices. * Chg to Hatch for project build system and pkg management Updated `pyproject.toml` to replace Setuptools with Hatchling as the build system. Added Hatch to the dev environment dependencies in `environment-dev.yaml` for package management and consistency. Removed Setuptools-specific configurations and aligned the project with Hatch's requirements. * Refactor metadata handling and update project config Centralize package metadata in `pyproject.toml` and `bloomcast/__about__.py`, removing legacy `__pkg_metadata__.py`. Updated Sphinx configuration to dynamically fetch metadata, modernizing the documentation setup. Adjusted authors list and introduced version automation with Hatch. * Update pkgs & versions used in recent dev env * Rename project and package to "bloomcast" Updated the project name and package references in pyproject.toml to address CI test import failures. * Move coverage config from .coveragerc to pyproject.toml Transitioned the coverage settings to pyproject.toml for a cleaner and centralized configuration. Removed the redundant .coveragerc file as its contents are now fully integrated into the project’s primary configuration file. * Add pytest configuration to pyproject.toml Include pytest minimum version and the `tests/` path in pyproject.toml. This is done to avoid collection of the dependency `env/src/sogcommand/SOGcommand/tests/` directory in the GHA pytest-with-coverage workflow.
- Loading branch information