This project is an advanced to-do list web application with the basic features of most web apps, such as accounts/login, API, and interactive UI.
To complete this task, you will need:
Try it out by installing the requirements (the following commands work only with Python 3.8 and higher due to Django 4):
pip install -r requirements.txt
Create a database schema:
python manage.py migrate
And then start the server (default is http://localhost:8000):
python manage.py runserver
You can now browse the API or start on the landing page.
In this task, you have to create a GitHub Actions workflow to automate testing and quality checks for this project. The workflow should adhere to the following specifications:
- Run on every push to the
mainanddevelopbranches and on pull requests to themainbranch. - The run name should contain information about the user triggering the workflow.
- The run name should contain information about the commit hash that triggered the workflow.
- The run should have a
python-cijob with steps as follows:- step that runs the tests. (Tests are included in the app.)
- step that generates a coverage with
coverage. - step that displays the coverage report in the console.
- step that checks the code style. (Code style is checked with
flake8.) This should not be a blocker for the workflow. - step that checks the complexity of the code. (Code complexity is checked with
flake8.) This should not be a blocker to the workflow. - step that uploads Python code as an artifact.
- The Python version should be controlled from the variable.
- Create a PR to this repository with the changes.
- PR workflow should be triggered and should pass all the checks.