Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:

env:
FORCE_COLOR: "1" # Make tools pretty.
PYTHON_LATEST: "3.10"
PYTHON_LATEST: "3.12"

jobs:
ci:
Expand Down Expand Up @@ -56,4 +56,4 @@ jobs:
push: true
tags: |
ghcr.io/roche/foxops:latest
ghcr.io/roche/foxops:${{ github.ref_name }}
ghcr.io/roche/foxops:${{ github.ref_name }}
8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ permissions:

env:
FORCE_COLOR: "1" # Make tools pretty.
PYTHON_LATEST: "3.11"
POETRY_VERSION: "1.4.0"
PYTHON_LATEST: "3.12"
POETRY_VERSION: "1.8.3"
POETRY_VIRTUALENVS_CREATE: false


Expand Down Expand Up @@ -72,8 +72,8 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.11"]
gitlab-version: ["16.3.3-ce.0"]
python-version: ["3.12"]
gitlab-version: ["17.2.8-ce.0"]

env:
GITLAB_CE_VERSION: ${{ matrix.gitlab-version }}
Expand Down
2 changes: 1 addition & 1 deletion .readthedocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ version: 2
build:
os: ubuntu-22.04
tools:
python: "3.11"
python: "3.12"
jobs:
pre_create_environment:
- asdf plugin add poetry
Expand Down
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# ================= BUILD BACKEND ==================
FROM python:3.11-alpine AS backend-builder
FROM python:3.12-alpine AS backend-builder

# Install the build system
RUN apk add --update git
Expand All @@ -14,10 +14,10 @@
RUN python -m build --wheel .

# ================= BUILD FRONTEND ==================
FROM node:lts-alpine as frontend-builder

Check warning on line 17 in Dockerfile

View workflow job for this annotation

GitHub Actions / container

The 'as' keyword should match the case of the 'from' keyword

FromAsCasing: 'as' and 'FROM' keywords' casing do not match More info: https://docs.docker.com/go/dockerfile/rule/from-as-casing/

# Copy the source code
ENV PATH /app/node_modules/.bin:$PATH

Check warning on line 20 in Dockerfile

View workflow job for this annotation

GitHub Actions / container

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/
COPY ./ui /app

# Build the application
Expand All @@ -26,14 +26,14 @@
RUN npm run build

# =============== PRODUCTION ===============
FROM python:3.11-alpine
FROM python:3.12-alpine

# Install the application
RUN apk add --update git gcc musl-dev bash

# Copy frontend build artifact
COPY --from=frontend-builder /app/dist/ /ui/
ENV FOXOPS_FRONTEND_DIST_DIR /ui

Check warning on line 36 in Dockerfile

View workflow job for this annotation

GitHub Actions / container

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

# Copy backend build artifact
COPY --from=backend-builder /build/dist/*.whl /tmp
Expand Down
2,246 changes: 1,168 additions & 1,078 deletions poetry.lock

Large diffs are not rendered by default.

22 changes: 11 additions & 11 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,28 +14,28 @@ readme = "README.md"
fengine = 'foxops.engine.__main__:app'

[tool.poetry.dependencies]
python = ">=3.11,<4.0"
python = ">=3.12,<4.0"

# Web Framework
uvicorn = "^0.23.2"
fastapi = ">=0.103.1,<0.113.0"
uvicorn = "^0.31.0"
fastapi = ">=0.115.0"

# Auxiliary
httpx = "^0.25.0"
tenacity = "^8.2.1"
httpx = "^0.27.2"
tenacity = "^9.0.0"
pydantic = "^2.3.0"
structlog = "^23.1.0"
aiopath = "^0.6.10"
structlog = "^24.4.0"
aiopath = "^0.7.7"

# Database
SQLAlchemy = {extras = ["asyncio"], version = "^2.0.2"}
asyncpg = "^0.28.0"
aiosqlite = "^0.19.0"
asyncpg = "^0.29.0"
aiosqlite = "^0.20.0"
alembic = {extras = ["tz"], version = "^1.8.1"}
greenlet = "^2.0.0"
greenlet = "^3.1.1"

# CLI
typer = "^0.9.0"
typer = "^0.12.5"

# Business
"ruamel.yaml" = "^0.17.20"
Expand Down
4 changes: 3 additions & 1 deletion tests/engine/test_cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,9 @@ def test_app_has_commands(command, cli_runner: CliRunner):

# THEN
assert result.exit_code == 0
assert result.stdout.startswith("Usage: ")

stdout = result.stdout.strip()
assert stdout.find("Usage:") >= 0, stdout


def test_app_should_create_template(
Expand Down
Loading