Compare commits

..

7 Commits

Author SHA1 Message Date
67c4b01424 Merge pull request 'Update some back-end configurations' (#3) from gabby-dev into main
Some checks failed
test and deploy / test (push) Failing after 21s
test and deploy / push-and-build (push) Has been skipped
Reviewed-on: #3
2026-02-20 05:11:09 +00:00
a8a8f81cb3 Merge branch 'main' into gabby-dev
All checks were successful
Test Helper Module / test (push) Successful in 28s
2026-02-20 05:10:47 +00:00
4a8a947de5 Update workflows to accomodate defaults and also remove old python references
All checks were successful
Test Helper Module / test (push) Successful in 27s
Test Helper Module / test (pull_request) Successful in 32s
2026-02-19 22:07:34 -07:00
45401614d5 Update workflows
All checks were successful
Test Helper Module / test (3.11.5) (push) Successful in 29s
2026-02-19 22:05:40 -07:00
1212821d92 Forgot to add this one 2026-02-19 22:04:09 -07:00
4bb8c26c6c Edit dockerfiles to use new formula 2026-02-19 22:03:43 -07:00
6918f36f1a Update pyproject and poetry.lock
All checks were successful
Test Helper Module / test (3.11.5) (push) Successful in 1m57s
2026-02-18 13:19:39 -07: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 locally on the runner, using miniconda
test: test:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: defaults:
matrix: run:
python-version: [3.11.5] shell: bash -el {0}
steps: steps:
- uses: https://github.com/actions/checkout@v4.1.1 - 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 - name: Setup Poetry
with: uses: Gr1N/setup-poetry@v9
miniconda-version: "latest"
activate-environment: raid-callouts
environment-file: environment.yml
python-version: 3.11.5
- name: Install dependencies - name: Install dependencies
shell: bash -l {0} shell: bash -l {0}
run: | run: |
conda env create --file environment.yml -n test-helper-module poetry instsall
conda init
conda activate test-helper-module
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: add database.ini - name: add database.ini
shell: bash -l {0} shell: bash -l {0}
@@ -44,7 +35,7 @@ jobs:
shell: bash -l {0} shell: bash -l {0}
run: | run: |
conda activate test-helper-module 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) # Checkout the repo, add the dependency files, push to host, build + run (via docker compose up)
push-and-build: push-and-build:

View File

@@ -15,29 +15,16 @@ jobs:
defaults: defaults:
run: run:
shell: bash -el {0} shell: bash -el {0}
strategy:
matrix:
python-version: [3.11.5]
steps: steps:
- uses: https://github.com/actions/checkout@v4.1.1 - uses: https://github.com/actions/checkout@v4.1.1
- name: Set up conda /w python version 3.11.5 - name: Setup Poetry
uses: https://github.com/conda-incubator/setup-miniconda@v3.0.4 uses: Gr1N/setup-poetry@v9
with:
miniconda-version: "latest"
activate-environment: raid-callouts
environment-file: environment.yml
python-version: 3.11.5
- name: Install dependencies - name: Install dependencies
shell: bash -l {0} shell: bash -l {0}
run: | run: |
conda env create --file environment.yml -n test-helper-module poetry install
conda init
conda activate test-helper-module
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: add database.ini - name: add database.ini
shell: bash -l {0} shell: bash -l {0}
@@ -50,5 +37,4 @@ jobs:
shell: bash -l {0} shell: bash -l {0}
run: | run: |
cd $GITHUB_WORKSPACE cd $GITHUB_WORKSPACE
conda activate test-helper-module poetry run python -m pytest ./src/py/db_helper_tests.py
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 # Want to help us make this template better? Share your feedback here: https://forms.gle/ybq9Krt8jtBL3iCk7
ARG PYTHON_VERSION=3.11.5 ARG PYTHON_VERSION=3.11.5
FROM python:${PYTHON_VERSION}-slim as base FROM ubuntu:latest AS base
# Prevents Python from writing pyc files. # Prevents Python from writing pyc files.
ENV PYTHONDONTWRITEBYTECODE=1 ENV PYTHONDONTWRITEBYTECODE=1
@@ -21,33 +21,20 @@ ENV TZ="America/Detroit"
WORKDIR /app WORKDIR /app
# Create a non-privileged user that the app will run under. # update package list
# See https://docs.docker.com/go/dockerfile-user-best-practices/ RUN apt-get update
ARG UID=10001
RUN adduser \
--disabled-password \
--gecos "" \
--home "/nonexistent" \
--shell "/sbin/nologin" \
--no-create-home \
--uid "${UID}" \
appuser
# Download dependencies as a separate step to take advantage of Docker's caching. # install python, pipx
# Leverage a cache mount to /root/.cache/pip to speed up subsequent builds. RUN apt-get install -y wget python3 pipx
# 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
# Copy the source code into the container. # Copy the source code into the container.
COPY . . 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 the port that the application listens on.
EXPOSE 8000 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 # Want to help us make this template better? Share your feedback here: https://forms.gle/ybq9Krt8jtBL3iCk7
ARG PYTHON_VERSION=3.11.5 ARG PYTHON_VERSION=3.11.5
FROM python:${PYTHON_VERSION}-slim as base FROM ubuntu:latest AS base
# Prevents Python from writing pyc files. # Prevents Python from writing pyc files.
ENV PYTHONDONTWRITEBYTECODE=1 ENV PYTHONDONTWRITEBYTECODE=1
@@ -21,33 +21,20 @@ ENV TZ="America/Detroit"
WORKDIR /app WORKDIR /app
# Create a non-privileged user that the app will run under. # update package list
# See https://docs.docker.com/go/dockerfile-user-best-practices/ RUN apt-get update
ARG UID=10001
RUN adduser \
--disabled-password \
--gecos "" \
--home "/nonexistent" \
--shell "/sbin/nologin" \
--no-create-home \
--uid "${UID}" \
appuser
# Download dependencies as a separate step to take advantage of Docker's caching. # install python, pipx
# Leverage a cache mount to /root/.cache/pip to speed up subsequent builds. RUN apt-get install -y wget python3 pipx
# 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
# Copy the source code into the container. # Copy the source code into the container.
COPY . . 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 the port that the application listens on.
EXPOSE 8000 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"