diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6e69914..24fcdc3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,12 +15,6 @@ jobs: steps: - uses: actions/checkout@v6 - - name: Print the local dir and list files for debugging - run: | - echo "Current directory: $(pwd)" - echo "Files in current directory:" - ls -ahl - - name: Install dependencies run: uv sync --all-extras --dev -U @@ -32,3 +26,18 @@ jobs: - name: Run tests run: uv run pytest + + # NOTE: The runner must be allowed to run these commands without a password. + # sudo EDITOR=nvim visudo + # forgejo-runner ALL=(lovinator) NOPASSWD: /usr/bin/git -C /home/lovinator/ANewDawn pull + # forgejo-runner ALL=(root) NOPASSWD: /bin/systemctl restart anewdawn.service + # forgejo-runner ALL=(lovinator) NOPASSWD: /usr/bin/uv sync -U --all-extras --dev --directory /home/lovinator/ANewDawn + - name: Deploy & restart bot (master only) + if: ${{ success() && github.ref == 'refs/heads/master' }} + run: | + # Keep checkout in the Forgejo runner workspace, whatever that is. + # actions/checkout already checks out to the runner's working directory. + + sudo -u lovinator git -C /home/lovinator/ANewDawn pull + sudo -u lovinator uv sync -U --all-extras --dev --directory /home/lovinator/ANewDawn + sudo systemctl restart anewdawn.service diff --git a/systemd/anewdawn.env.example b/systemd/anewdawn.env.example index 3e8a586..074a676 100644 --- a/systemd/anewdawn.env.example +++ b/systemd/anewdawn.env.example @@ -1,11 +1,6 @@ # Copy this file to /etc/ANewDawn/ANewDawn.env and fill in the required values. # Make sure the directory is owned by the user running the service (e.g., "lovinator"). -# Discord bot token DISCORD_TOKEN= - -# OpenAI token (for GPT-5 and other OpenAI models) OPENAI_TOKEN= - -# Optional: additional env vars used by your bot -# MY_CUSTOM_VAR= +OLLAMA_API_KEY= diff --git a/systemd/anewdawn.service b/systemd/anewdawn.service index 6ec9e9a..bfdd50d 100644 --- a/systemd/anewdawn.service +++ b/systemd/anewdawn.service @@ -10,13 +10,13 @@ User=lovinator Group=lovinator # The project directory containing main.py (update as needed). -WorkingDirectory=/home/lovinator/Code/ANewDawn +WorkingDirectory=/home/lovinator/ANewDawn/ # Load environment variables (see systemd/anewdawn.env.example). EnvironmentFile=/etc/ANewDawn/ANewDawn.env # Use the python interpreter from your environment (system python is fine if dependencies are installed). -ExecStart=/usr/bin/env python3 main.py +ExecStart=/usr/bin/uv run main.py Restart=on-failure RestartSec=5