Skip to content

Latest commit

 

History

History
28 lines (22 loc) · 3.52 KB

File metadata and controls

28 lines (22 loc) · 3.52 KB

Local Development

Enlistment

Step Command Line Additional Information
1. Clone the repository locally. git clone https://github.com/davidbrownell/FileBackup https://git-scm.com/docs/git-clone
2. Install uv. curl -LsSf https://astral.sh/uv/install.sh | sh on macOS and Linux or
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex" on Windows
https://docs.astral.sh
3. Install dependencies. uv sync https://docs.astral.sh/uv/concepts/projects/sync
4. Install pre-commit hooks uv run pre-commit install https://pre-commit.com/#1-install-pre-commit

Development Activities

Activity Command Line Description Used During Local Development Invoked by Continuous Integration
Code Formatting uv run ruff format or
uv run ruff format --check
Format source code using ruff based on settings in pyproject.toml. ✅ (via pre-commit)
Static Code Analysis uv run ruff check Validate source code using ruff based on settings in pyproject.toml. ✅ (via pre-commit)
Run pre-commit scripts uv run pre-commit run Run pre-commit scripts based on settings in .pre-commit-config.yaml.
Automated Testing uv run pytest or
uv run pytest --no-cov
Run automated tests using pytest and extract code coverage using coverage based on settings in pyproject.toml.
Semantic Version Generation uv run python -m AutoGitSemVer.scripts.UpdatePythonVersion ./pyproject.toml ./src Generate a new Semantic Version based on git commits using AutoGitSemVer. Version information is stored in pyproject.toml.
Python Package Creation uv build Create a python package using uv based on settings in pyproject.toml. Generated packages will be written to ./dist.
Sign Artifacts uv run python -c "import minisign; minisign.SecretKey.from_file(<temp_filename>).sign_file(<filename>, trusted_comment='<package_name> v<package_version>', drop_signature=True) Signs artifacts using py-minisign. Note that the private key is stored as a GitHub secret.
Python Package Publishing uv publish Publish a python package to PyPi using uv based on settings in pyproject.toml.

Contributing Changes

Pull requests are preferred, since they are specific. For more about how to create a pull request, see https://help.github.com/articles/using-pull-requests/.

We recommend creating different branches for different (logical) changes, and creating a pull request into the main branch when you're done. For more information on creating branches, please see https://help.github.com/articles/creating-and-deleting-branches-within-your-repository/.