diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 0000000..9adeb81
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,37 @@
+name: Release
+
+on:
+ push:
+ tags:
+ - 'v*.*.*'
+
+jobs:
+ release:
+ name: Build and Release
+ runs-on: ubuntu-latest
+
+ # This job will only run if the 'test' job from the CI passes
+ needs: [test]
+
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: Set up Python
+ uses: actions/setup-python@v5
+ with:
+ python-version: '3.x'
+
+ - name: Install dependencies
+ run: |
+ python -m pip install --upgrade pip
+ pip install poetry
+
+ - name: Build package
+ run: |
+ poetry build
+
+ - name: Publish to PyPI
+ run: |
+ poetry publish --username __token__ --password ${{ secrets.PYPI_TOKEN }}
+ env:
+ PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e903180..571dc5e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,23 @@
+## Unreleased (2024-09-05)
+
+### 🚀 CI
+- **ci**: Added automated build and release process. ([1a3bb2b](https://github.com/lazarus-org/django_logging/commit/1a3bb2b))
+ - Added a GitHub Actions workflow for automated build and release.
+ - Workflow triggers on new tags matching the `v*.*.*` pattern.
+ - Includes steps to set up Python, install dependencies, and build the package using Poetry.
+ - Automatically publishes the built package to PyPI using stored PyPI token secrets.
+ - Ensures the release job only runs after the 'test' job passes successfully.
+
+### ⚡️🔨📚 Refactor
+- **docs**: Updated badges in README MarkDown file. ([c82f452](https://github.com/lazarus-org/django_logging/commit/c82f452))
+ - Added pylint badge to display code quality rating in `README.md`.
+ - Updated pre-commit badge color.
+
+- **docs**: Updated badges and references in RST docs. ([c82f452](https://github.com/lazarus-org/django_logging/commit/c82f452))
+ - Added pylint badge to the documentation.
+ - Updated the settings section in various `.rst` files to reflect recent changes.
+ - Enhanced documentation for better readability and accuracy.
+
## v1.0.3 (2024-09-05)
### ✨ Added
- **chore(pyproject)**: Added `python-semantic-release` configuration to automate versioning and releases. (`945c648`)
diff --git a/README.md b/README.md
index 8c6f569..a4620cb 100644
--- a/README.md
+++ b/README.md
@@ -7,12 +7,13 @@ The [`django_logging`](https://github.com/lazarus-org/django_logging) is a Djang
![Documentation](https://img.shields.io/readthedocs/django-logging)
![CI Workflow](https://github.com/lazarus-org/django_logging/actions/workflows/ci.yml/badge.svg)
![Supported Python versions](https://img.shields.io/pypi/pyversions/dj-logging)
-[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)
+[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=yellow)](https://github.com/pre-commit/pre-commit)
![Supported Django versions](https://img.shields.io/pypi/djversions/dj-logging)
![Last Commit](https://img.shields.io/github/last-commit/lazarus-org/django_logging)
![Languages](https://img.shields.io/github/languages/top/lazarus-org/django_logging)
![Open Issues](https://img.shields.io/github/issues/lazarus-org/django_logging)
[![codecov](https://codecov.io/gh/ARYAN-NIKNEZHAD/django_logging/branch/main/graph/badge.svg)](https://codecov.io/gh/ARYAN-NIKNEZHAD/django_logging)
+[![pylint](https://img.shields.io/badge/pylint-10/10-brightgreen?logo=python&logoColor=blue)](https://www.pylint.org/)
## Project Detail
diff --git a/docs/contributing.rst b/docs/contributing.rst
index 0ea4afb..1c66042 100644
--- a/docs/contributing.rst
+++ b/docs/contributing.rst
@@ -154,6 +154,6 @@ Here are some additional resources that might be helpful:
- `pylint Documentation `_
- `Pre-commit Documentation `_
----
+----
Thank you for your interest in contributing to `django_logging`! We look forward to your contributions.
diff --git a/docs/index.rst b/docs/index.rst
index dadaade..9a98c18 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -17,11 +17,15 @@ Welcome to django_logging Documentation!
:target: https://django-logging.readthedocs.io/en/latest/
:alt: Documentation
+.. image:: https://img.shields.io/badge/pylint-10/10-brightgreen?logo=python&logoColor=blue
+ :target: https://www.pylint.org/
+ :alt: Pylint
+
.. image:: https://img.shields.io/pypi/pyversions/dj-logging
:target: https://pypi.org/project/dj-logging/
:alt: Supported Python versions
-.. image:: https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white
+.. image:: https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=yellow
:target: https://github.com/pre-commit/pre-commit
:alt: pre-commit
diff --git a/docs/quick_start.rst b/docs/quick_start.rst
index 78c4b56..2e80933 100644
--- a/docs/quick_start.rst
+++ b/docs/quick_start.rst
@@ -53,4 +53,4 @@ By default, django_logging will log each level to its own file:
In addition, logs will be displayed in **colorized** mode in the `console`, making it easier to distinguish between different log levels.
-That's it! `django_logging` is ready to use. For further customization, refer to the Settings section.
\ No newline at end of file
+That's it! `django_logging` is ready to use. For further customization, refer to the :doc:`Settings `.
\ No newline at end of file
diff --git a/docs/settings.rst b/docs/settings.rst
index a6009af..c0dfba8 100644
--- a/docs/settings.rst
+++ b/docs/settings.rst
@@ -47,7 +47,7 @@ Here's a breakdown of the available configuration options:
- **LOG_FILE_FORMATS**: Accepts log levels as keys and format options as values. The format option can be an `int` chosen from predefined options or a user-defined format `str`. Defines the format for log files. Defaults to `1` for all levels.
- - **Note**:See the **Available Format Options** below for available formats.
+ - **Note**:See the `Available Format Options`_ below for available formats.
- **LOG_CONSOLE_LEVEL**: Accepts `str` that is a valid log level. Specifies the log level for console output. Defaults to `'DEBUG'`,
@@ -70,6 +70,8 @@ Here's a breakdown of the available configuration options:
- **USE_TEMPLATE**: Accepts `bool`. Determines whether the email includes an HTML template. Defaults to `True`.
+.. _available_format_options:
+
Available Format Options
------------------------
diff --git a/docs/usage.rst b/docs/usage.rst
index 23ce32e..d174b45 100644
--- a/docs/usage.rst
+++ b/docs/usage.rst
@@ -107,7 +107,7 @@ Log and Notify Utility
"Email notifier is disabled. Please set the 'ENABLE' option to True in the 'LOG_EMAIL_NOTIFIER' in DJANGO_LOGGING in your settings to activate email notifications."
Additionally, ensure that all required email settings are configured in your Django settings file.
- - **Note**: For more detailed configuration options, refer to the [Settings](settings.rst) section.
+ - **Note**: For more detailed configuration options, refer to the :doc:`Settings `.
Send Logs Command
-----------------