mirror of
https://github.com/TheLovinator1/discord-reminder-bot.git
synced 2025-07-13 17:13:29 +02:00
Activate .gitea workflow
This commit is contained in:
33
.gitea/copilot-instructions.md
Normal file
33
.gitea/copilot-instructions.md
Normal file
@ -0,0 +1,33 @@
|
||||
This is a Discord.py bot that allows you to set date, cron and interval reminders with APScheduler. Dates are parsed using dateparser.
|
||||
|
||||
Use try-except blocks, type hints, f-strings, logging, and Google style docstrings.
|
||||
|
||||
Add helpful message when using assert in tests.
|
||||
|
||||
Docstrings that doesn't return anything should not have a return section.
|
||||
|
||||
A function docstring should describe the function's behavior, arguments, side effects, exceptions, return values, and any other information that may be relevant to the user.
|
||||
|
||||
Including the exception object in the log message is redundant.
|
||||
|
||||
We use GitHub.
|
||||
|
||||
Channel reminders have the following kwargs: "channel_id", "message", "author_id".
|
||||
|
||||
User DM reminders have the following kwargs: "user_id", "guild_id", "message".
|
||||
|
||||
Bot has the following commands:
|
||||
|
||||
"/remind add message:<str> time:<str> dm_and_current_channel:<bool> user:<user> channel:<channel>"
|
||||
|
||||
"/remind remove id:<job_id>"
|
||||
|
||||
"/remind edit id:<job_id>"
|
||||
|
||||
"/remind pause_unpause id:<job_id>"
|
||||
|
||||
"/remind list"
|
||||
|
||||
"/remind cron message:<str> year:<int> month:<int> day:<int> week:<int> day_of_week:<str> hour:<int> minute:<int> second:<int> start_date:<str> end_date:<str> timezone:<str> jitter:<int> channel:<channel> user:<user> dm_and_current_channel:<bool>"
|
||||
|
||||
"/remind interval message:<str> weeks:<int> days:<int> hours:<int> minutes:<int> seconds:<int> start_date:<str> end_date:<str> timezone:<str> jitter:<int> channel:<channel> user:<user> dm_and_current_channel:<bool>"
|
11
.gitea/renovate.json
Normal file
11
.gitea/renovate.json
Normal file
@ -0,0 +1,11 @@
|
||||
{
|
||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||
"extends": [
|
||||
"config:recommended"
|
||||
],
|
||||
"automerge": true,
|
||||
"configMigration": true,
|
||||
"dependencyDashboard": false,
|
||||
"osvVulnerabilityAlerts": true,
|
||||
"timezone": "Europe/Stockholm"
|
||||
}
|
52
.gitea/workflows/docker-publish.yml
Normal file
52
.gitea/workflows/docker-publish.yml
Normal file
@ -0,0 +1,52 @@
|
||||
name: Docker
|
||||
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: "@weekly"
|
||||
|
||||
env:
|
||||
BOT_TOKEN: ${{ secrets.BOT_TOKEN }}
|
||||
TIMEZONE: Europe/Stockholm
|
||||
LOG_LEVEL: Info
|
||||
SQLITE_LOCATION: /data/jobs.sqlite
|
||||
|
||||
jobs:
|
||||
build-and-push-docker:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: astral-sh/setup-uv@v5
|
||||
with:
|
||||
python-version: 3.13
|
||||
- run: uv sync --all-extras --dev
|
||||
- run: uv run pytest
|
||||
- uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392
|
||||
with:
|
||||
platforms: all
|
||||
- uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435
|
||||
- uses: docker/login-action@3d100841f68d4548bf57e52eb27bd33ec5069f55
|
||||
if: github.event_name != 'pull_request'
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
- uses: docker/login-action@3d100841f68d4548bf57e52eb27bd33ec5069f55
|
||||
if: github.event_name != 'pull_request'
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.repository_owner }}
|
||||
password: ${{ secrets.GITHUB_TOKEN }}
|
||||
- uses: docker/build-push-action@v6
|
||||
with:
|
||||
context: .
|
||||
platforms: linux/amd64, linux/arm64
|
||||
push: ${{ github.event_name != 'pull_request' }}
|
||||
tags: thelovinator/discord-reminder-bot:latest
|
||||
- uses: docker/build-push-action@v6
|
||||
with:
|
||||
context: .
|
||||
platforms: linux/amd64, linux/arm64
|
||||
push: ${{ github.event_name != 'pull_request' }}
|
||||
tags: ghcr.io/thelovinator1/discord-reminder-bot:latest
|
37
.gitea/workflows/uv.yml
Normal file
37
.gitea/workflows/uv.yml
Normal file
@ -0,0 +1,37 @@
|
||||
name: uv
|
||||
|
||||
on:
|
||||
# push:
|
||||
# pull_request:
|
||||
workflow_dispatch:
|
||||
# schedule:
|
||||
# - cron: "0 6 * * *"
|
||||
|
||||
env:
|
||||
BOT_TOKEN: ${{ secrets.BOT_TOKEN }}
|
||||
TIMEZONE: Europe/Stockholm
|
||||
LOG_LEVEL: Info
|
||||
SQLITE_LOCATION: /data/jobs.sqlite
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
jobs:
|
||||
test-on-uv:
|
||||
name: Install with uv and run tests on Python 3.13
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- run: |
|
||||
if [ -z "${{ env.BOT_TOKEN }}" ]; then
|
||||
echo "BOT_TOKEN not set"
|
||||
exit 1
|
||||
fi
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
- name: Install uv and set the python version to 3.13
|
||||
uses: astral-sh/setup-uv@v5
|
||||
with:
|
||||
python-version: 3.13
|
||||
version: "latest"
|
||||
- name: Install dependencies
|
||||
run: uv sync --all-extras --dev
|
||||
- name: Run tests
|
||||
run: uv run pytest
|
Reference in New Issue
Block a user