Compare commits

...

2 commits

Author SHA1 Message Date
21bd7a904f CI: split workflow in 2 jobs
All checks were successful
/ test (push) Successful in 30s
/ build (push) Has been skipped
2024-11-03 02:18:01 +01:00
51d131600e Build containers from custom registry 2024-11-03 02:17:02 +01:00
4 changed files with 59 additions and 7 deletions

View file

@ -14,7 +14,7 @@ on:
type: boolean
jobs:
build:
test:
runs-on: container
container:
image: tiptop:5000/treetrail-backend-ci
@ -35,9 +35,32 @@ jobs:
- name: Install app with 'uv pip install'
run: uv pip install --python=$UV_PROJECT_ENVIRONMENT --no-deps .
- name: Run basic test (API call)
- name: Run tests (API call)
run: pytest -s tests/basic.py
build:
runs-on: container
if: ${{ inputs.build }}
container:
image: tiptop:5000/treetrail-backend-ci
volumes:
- "uv_cache:/root/.cache/uv"
- "ca-cert:/etc/containers/certs.d"
steps:
- uses: actions/checkout@v4
- name: Install app with 'uv pip install'
run: uv pip install --python=$UV_PROJECT_ENVIRONMENT --no-deps .
- name: Git unshallow - get all history from Git to get the tag for the computation of the version
if: ${{ inputs.build }}
run: git pull --unshallow
- name: Get the version from git
if: ${{ inputs.build }}
id: version
run: echo "version=$(git describe --dirty --tags)" >> $GITHUB_OUTPUT
- name: Workaround for bug of podman-login
if: ${{ inputs.build }}
run: |
@ -57,10 +80,10 @@ jobs:
if: ${{ inputs.build }}
uses: actions/buildah-build@v1
with:
image: treetrail-backend
image: "treetrail-backend:${{ steps.version.outputs.version }}"
#tags: foo # v1 ${{ github.sha }}
containerfiles: |
./Containerfile.for_runner
./Containerfile
- name: Push the image to the registry
uses: actions/push-to-registry@v2
@ -68,4 +91,4 @@ jobs:
with:
registry: "docker://${{ vars.REGISTRY }}"
image: treetrail-backend
tags: latest
tags: ${{ steps.version.outputs.version }}

View file

@ -1,6 +1,6 @@
# Build: podman build -t treetrail-backend-base -f Containerfile.base
FROM localhost/treetrail-backend-deps
FROM tiptop:5000/treetrail-backend-deps
ENV PYTHONPATH $UV_PROJECT_ENVIRONMENT/lib/python3.12/site-packages

View file

@ -1,6 +1,6 @@
# Build: podman build -t treetrail-backend-deps -f Containerfile.deps
FROM localhost/trixie_python
FROM tiptop:5000/trixie_python
COPY ./pyproject.toml ./README.md ./uv.lock /_lock/

29
Containerfile.full_copy Normal file
View file

@ -0,0 +1,29 @@
FROM localhost/trixie_python
ENV PYTHONPATH $UV_PROJECT_ENVIRONMENT/lib/python3.12/site-packages
ENV PATH=/app/bin:$PATH
RUN <<EOT
groupadd -r app
useradd -r -d /app -g app -N app
mkdir /var/lib/treetrail
chown app: /var/lib/treetrail
EOT
COPY --from=localhost/treetrail-backend-base --chown=app:app /app /app
USER app
WORKDIR /app
# Instances should override the prod.yaml file
#COPY ./prod.yaml /etc/treetrail/prod.yaml
#COPY ./dist/treetrail_backend-0.3.0.tar.gz /src/
#RUN uv pip install /src/treetrail_backend-0.3.0.tar.gz
CMD [ \
"uvicorn", "treetrail.application:app", \
"--port", "8081", \
#"--log-config", "/app/config/logging.yaml", \
"--host", "0.0.0.0" \
]