Update some back-end configurations #3

Merged
contrastellar merged 6 commits from gabby-dev into main 2026-02-20 05:11:09 +00:00
6 changed files with 1305 additions and 82 deletions

View File

@@ -10,28 +10,19 @@ jobs:
# test locally on the runner, using miniconda
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.11.5]
defaults:
run:
shell: bash -el {0}
steps:
- uses: https://github.com/actions/checkout@v4.1.1
- name: Set up conda /w python version 3.11.5
uses: https://github.com/conda-incubator/setup-miniconda@v3.0.2
with:
miniconda-version: "latest"
activate-environment: raid-callouts
environment-file: environment.yml
python-version: 3.11.5
- name: Setup Poetry
uses: Gr1N/setup-poetry@v9
- name: Install dependencies
shell: bash -l {0}
run: |
conda env create --file environment.yml -n test-helper-module
conda init
conda activate test-helper-module
python -m pip install --upgrade pip
pip install -r requirements.txt
poetry instsall
- name: add database.ini
shell: bash -l {0}
@@ -44,7 +35,7 @@ jobs:
shell: bash -l {0}
run: |
conda activate test-helper-module
python -m pytest src/py/db_helper_tests.py
poetry run python -m pytest src/py/db_helper_tests.py
# Checkout the repo, add the dependency files, push to host, build + run (via docker compose up)
push-and-build:

View File

@@ -14,30 +14,17 @@ jobs:
runs-on: ubuntu-latest
defaults:
run:
shell: bash -el {0}
strategy:
matrix:
python-version: [3.11.5]
shell: bash -el {0}
steps:
- uses: https://github.com/actions/checkout@v4.1.1
- name: Set up conda /w python version 3.11.5
uses: https://github.com/conda-incubator/setup-miniconda@v3.0.4
with:
miniconda-version: "latest"
activate-environment: raid-callouts
environment-file: environment.yml
python-version: 3.11.5
- name: Setup Poetry
uses: Gr1N/setup-poetry@v9
- name: Install dependencies
shell: bash -l {0}
run: |
conda env create --file environment.yml -n test-helper-module
conda init
conda activate test-helper-module
python -m pip install --upgrade pip
pip install -r requirements.txt
poetry install
- name: add database.ini
shell: bash -l {0}
@@ -50,5 +37,4 @@ jobs:
shell: bash -l {0}
run: |
cd $GITHUB_WORKSPACE
conda activate test-helper-module
python -m pytest ./src/py/db_helper_tests.py
poetry run python -m pytest ./src/py/db_helper_tests.py

View File

@@ -7,7 +7,7 @@
# Want to help us make this template better? Share your feedback here: https://forms.gle/ybq9Krt8jtBL3iCk7
ARG PYTHON_VERSION=3.11.5
FROM python:${PYTHON_VERSION}-slim as base
FROM ubuntu:latest AS base
# Prevents Python from writing pyc files.
ENV PYTHONDONTWRITEBYTECODE=1
@@ -21,33 +21,20 @@ ENV TZ="America/Detroit"
WORKDIR /app
# Create a non-privileged user that the app will run under.
# See https://docs.docker.com/go/dockerfile-user-best-practices/
ARG UID=10001
RUN adduser \
--disabled-password \
--gecos "" \
--home "/nonexistent" \
--shell "/sbin/nologin" \
--no-create-home \
--uid "${UID}" \
appuser
# update package list
RUN apt-get update
# Download dependencies as a separate step to take advantage of Docker's caching.
# Leverage a cache mount to /root/.cache/pip to speed up subsequent builds.
# Leverage a bind mount to requirements.txt to avoid having to copy them into
# into this layer.
RUN --mount=type=cache,target=/root/.cache/pip \
--mount=type=bind,source=requirements.txt,target=requirements.txt \
python -m pip install -r requirements.txt
# Switch to the non-privileged user to run the application.
USER appuser
# install python, pipx
RUN apt-get install -y wget python3 pipx
# Copy the source code into the container.
COPY . .
# install poetry via pipx
RUN pipx install poetry && pipx ensurepath
RUN ~/.local/bin/poetry install
# Expose the port that the application listens on.
EXPOSE 8000
CMD ["python3", "src/py/bot_aux.py", "xiv-database.ini", "xiv-discord.token", "865781604881530940", "888844785274724362"]
CMD ~/.local/bin/poetry run python3 src/py/bot_aux.py xiv-database.ini xiv-discord.token 865781604881530940 888844785274724362

View File

@@ -7,7 +7,7 @@
# Want to help us make this template better? Share your feedback here: https://forms.gle/ybq9Krt8jtBL3iCk7
ARG PYTHON_VERSION=3.11.5
FROM python:${PYTHON_VERSION}-slim as base
FROM ubuntu:latest AS base
# Prevents Python from writing pyc files.
ENV PYTHONDONTWRITEBYTECODE=1
@@ -21,33 +21,20 @@ ENV TZ="America/Detroit"
WORKDIR /app
# Create a non-privileged user that the app will run under.
# See https://docs.docker.com/go/dockerfile-user-best-practices/
ARG UID=10001
RUN adduser \
--disabled-password \
--gecos "" \
--home "/nonexistent" \
--shell "/sbin/nologin" \
--no-create-home \
--uid "${UID}" \
appuser
# update package list
RUN apt-get update
# Download dependencies as a separate step to take advantage of Docker's caching.
# Leverage a cache mount to /root/.cache/pip to speed up subsequent builds.
# Leverage a bind mount to requirements.txt to avoid having to copy them into
# into this layer.
RUN --mount=type=cache,target=/root/.cache/pip \
--mount=type=bind,source=requirements.txt,target=requirements.txt \
python -m pip install -r requirements.txt
# Switch to the non-privileged user to run the application.
USER appuser
# install python, pipx
RUN apt-get install -y wget python3 pipx
# Copy the source code into the container.
COPY . .
# install poetry via pipx
RUN pipx install poetry && pipx ensurepath
RUN ~/.local/bin/poetry install
# Expose the port that the application listens on.
EXPOSE 8000
CMD ["python3", "src/py/bot_core.py", "xiv-database.ini", "xiv-discord.token", "865781604881530940", "888844785274724362"]
CMD ["poetry", "run", "python3", "src/py/bot_core.py", "xiv-database.ini", "xiv-discord.token", "865781604881530940", "888844785274724362"]

1248
poetry.lock generated Normal file

File diff suppressed because it is too large Load Diff

24
pyproject.toml Normal file
View File

@@ -0,0 +1,24 @@
[tool.poetry]
package-mode = false
[project]
name = "raid-callouts"
version = "0.3.2"
description = ""
authors = [
{name = "Gabriella Agathon",email = "gstimac@msudenver.edu"}
]
readme = "README.md"
requires-python = ">=3.11.5"
dependencies = [
"psycopg2-binary (==2.9.11)",
"discord.py (==2.4.0)",
"pytest (==8.2.2)",
"pylint (==3.2.6)",
"requests (==2.32.5)"
]
[build-system]
requires = ["poetry-core>=2.0.0,<3.0.0"]
build-backend = "poetry.core.masonry.api"