Merge branch 'develop' into renovate/pytest-6.x
continuous-integration/drone the build was successful
Details
continuous-integration/drone the build was successful
Details
commit
8c31129243
|
@ -0,0 +1,7 @@
|
||||||
|
# Ignore everything
|
||||||
|
*
|
||||||
|
|
||||||
|
# The stuff necessary to build the image
|
||||||
|
!app/
|
||||||
|
!setup.cfg
|
||||||
|
!setup.py
|
|
@ -1,17 +1,21 @@
|
||||||
matrix:
|
|
||||||
PYTHON_VERSION:
|
|
||||||
- 3.8
|
|
||||||
- 3.9
|
|
||||||
|
|
||||||
pipeline:
|
pipeline:
|
||||||
test:
|
test:
|
||||||
# Alpine version doesn't have make
|
# Alpine version doesn't have make
|
||||||
image: python:${PYTHON_VERSION}
|
image: python:3.8
|
||||||
pull: true
|
pull: true
|
||||||
commands:
|
commands:
|
||||||
- make test
|
- make test
|
||||||
|
|
||||||
lint:
|
lint:
|
||||||
image: python:${PYTHON_VERSION}
|
image: python:3.8
|
||||||
commands:
|
commands:
|
||||||
- make lint
|
- make lint
|
||||||
|
|
||||||
|
publish-dev:
|
||||||
|
image: plugins/docker
|
||||||
|
repo: chewingbever/jos
|
||||||
|
tag: [ dev ]
|
||||||
|
secrets: [ docker_username, docker_password ]
|
||||||
|
when:
|
||||||
|
branch: develop
|
||||||
|
event: push
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
FROM python:3.9 AS builder
|
||||||
|
|
||||||
|
WORKDIR /wheels
|
||||||
|
|
||||||
|
# Update pip & build the wheels
|
||||||
|
COPY ./setup.cfg ./
|
||||||
|
RUN pip wheel -e .
|
||||||
|
|
||||||
|
|
||||||
|
FROM python:3.9-slim
|
||||||
|
|
||||||
|
# Switch to non-root user
|
||||||
|
RUN groupadd -r runner && \
|
||||||
|
useradd -mrg runner runner
|
||||||
|
|
||||||
|
# Install the generated wheels
|
||||||
|
COPY --from=builder /wheels /wheels
|
||||||
|
RUN pip install \
|
||||||
|
--no-cache-dir \
|
||||||
|
--no-warn-script-location \
|
||||||
|
-f /wheels \
|
||||||
|
-e /wheels && \
|
||||||
|
rm -rf /wheels
|
||||||
|
|
||||||
|
# Switch to non-root user
|
||||||
|
USER runner
|
||||||
|
|
||||||
|
# Copy source files
|
||||||
|
WORKDIR /usr/src/app
|
||||||
|
COPY --chown=runner:runner ./app ./app
|
||||||
|
COPY --chown=runner:runner setup.cfg setup.py ./
|
||||||
|
|
||||||
|
ENTRYPOINT ["python"]
|
||||||
|
CMD ["app"]
|
7
Makefile
7
Makefile
|
@ -3,7 +3,7 @@ PYTHON := python3
|
||||||
# This can't contain spaces (I think)
|
# This can't contain spaces (I think)
|
||||||
VENV := .venv
|
VENV := .venv
|
||||||
# Minimum % coverage for tests to succeed
|
# Minimum % coverage for tests to succeed
|
||||||
MIN_COV := 10
|
MIN_COV := 0
|
||||||
|
|
||||||
|
|
||||||
# By default, just create the venv when needed
|
# By default, just create the venv when needed
|
||||||
|
@ -49,6 +49,7 @@ clean:
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
|
|
||||||
|
|
||||||
# Run the Flask server
|
## Starting the server
|
||||||
# TODO
|
### Run the Quart server
|
||||||
run: venv
|
run: venv
|
||||||
|
@ '$(VENV)'/bin/python app
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
"""Main application package containing all code."""
|
|
@ -0,0 +1,13 @@
|
||||||
|
"""Main entrypoint for the program."""
|
||||||
|
from quart import Quart
|
||||||
|
|
||||||
|
app = Quart("jos")
|
||||||
|
|
||||||
|
|
||||||
|
@app.route("/")
|
||||||
|
async def hello():
|
||||||
|
"""Placeholder route."""
|
||||||
|
return "hello"
|
||||||
|
|
||||||
|
|
||||||
|
app.run(host="0.0.0.0")
|
|
@ -0,0 +1,3 @@
|
||||||
|
def test_succeed():
|
||||||
|
"""Placeholder test to make CI succeed."""
|
||||||
|
pass
|
Reference in New Issue