Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Marcus Andersson
aurweb
Commits
7ddce6bb
Verified
Commit
7ddce6bb
authored
Mar 14, 2022
by
Kevin Morris
Browse files
doc: update CONTRIBUTING.md
Signed-off-by:
Kevin Morris
<
kevr@0cost.org
>
parent
c149afb1
Changes
1
Hide whitespace changes
Inline
Side-by-side
CONTRIBUTING.md
View file @
7ddce6bb
...
...
@@ -9,7 +9,7 @@ You can add a git hook to do this by installing `python-pre-commit` and running
`pre-commit install`
.
[
1
]:
https://lists.archlinux.org/listinfo/aur-dev
[
2
]:
https://gitlab.archlinu
n
x.org/archlinux/aurweb
[
2
]:
https://gitlab.archlinux.org/archlinux/aurweb
### Coding Guidelines
...
...
@@ -23,6 +23,76 @@ development.
3.
Use four space indentation
4.
Use
[
conventional commits
](
https://www.conventionalcommits.org/en/v1.0.0/
)
5.
DRY: Don't Repeat Yourself
6.
All code should be tested for good _and_ bad cases
6.
All code should be tested for good _and_ bad cases (see
[
test/README.md
][
3
]
)
[
3
]:
https://gitlab.archlinux.org/archlinux/aurweb/-/blob/master/test/README.md
Test patches that increase coverage in the codebase are always welcome.
### Coding Style
We use the
`flake8`
and
`isort`
tools to manage PEP-8 coherenace and
import ordering in this project.
There are plugins for editors or IDEs which automate this process. Some
example plugins:
-
[
tell-k/vim-autopep8
](
https://github.com/tell-k/vim-autopep8
)
-
[
fisadev/vim-isort
](
https://github.com/fisadev/vim-isort
)
-
[
prabirshrestha/vim-lsp
](
https://github.com/prabirshrestha/vim-lsp
)
See
`setup.cfg`
for flake8 and isort specific rules.
Note: We are planning on switching to
[
psf/black
](
https://github.com/psf/black
)
.
For now, developers should ensure that flake8 and isort passes when submitting
merge requests or patch sets.
### Development Environment
To get started with local development, an instance of aurweb must be
brought up. This can be done using the following sections:
-
[
Using Docker
](
#using-docker
)
-
[
Using INSTALL
](
#using-install
)
There are a number of services aurweb employs to run the application
in its entirety:
-
ssh
-
cron jobs
-
starlette/fastapi asgi server
Project structure:
-
`./aurweb`
:
`aurweb`
Python package
-
`./templates`
: Jinja2 templates
-
`./docker`
: Docker scripts and configuration files
#### Using Docker
Using Docker, we can run the entire infrastructure in two steps:
# Build the aurweb:latest image
$ docker-compose build
# Start all services in the background
$ docker-compose up -d nginx
`docker-compose`
services will generate a locally signed root certificate
at
`./data/root_ca.crt`
. Users can import this into ca-certificates or their
browser if desired.
Accessible services (on the host):
-
https://localhost:8444 (python via nginx)
-
https://localhost:8443 (php via nginx)
-
localhost:13306 (mariadb)
-
localhost:16379 (redis)
Docker services, by default, are setup to be hot reloaded when source code
is changed.
#### Using INSTALL
The
[
INSTALL
](
INSTALL
)
file describes steps to install the application on
bare-metal systems.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment