add basic backend workflow
Some checks failed
Backend Actions / build (push) Failing after 1m16s

This commit is contained in:
2025-07-21 23:55:46 +01:00
parent 8a7496b46a
commit 2e28aa6b54
3 changed files with 36 additions and 18 deletions

View File

@ -1,19 +1,30 @@
name: Gitea Actions Demo
run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀
name: Backend Actions
run-name: ${{ gitea.actor }} is running backend actions
on: [push]
jobs:
Explore-Gitea-Actions:
runs-on: ubuntu-latest
build:
runs-on: rust-latest
steps:
- run: echo "🎉 The job was automatically triggered by a ${{ gitea.event_name }} event."
- run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by Gitea!"
- run: echo "🔎 The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}."
- name: Check out repository code
uses: actions/checkout@v4
- run: echo "💡 The ${{ gitea.repository }} repository has been cloned to the runner."
- run: echo "🖥️ The workflow is now ready to test your code on the runner."
- name: List files in the repository
run: |
ls ${{ gitea.workspace }}
- run: echo "🍏 This job's status is ${{ job.status }}."
- uses: actions/checkout@v4
- name: Load Cache
uses: actions/cache@v4
working-directory: ./backend
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo--${{ hashFiles('Cargo.lock') }}
- name: Build Binary
working-directory: ./backend
run: cargo build --release
- name: Run Tests
working-directory: ./backend
run: ./scripts/test.sh
- name: Upload Test Logs
uses: actions/upload-artifact@v4
working-directory: ./backend
with:
name: nuchat-${{ hashFiles('src/**') }}-${{ hashFiles('tests/**') }}.log
path: logs/*

View File

@ -8,9 +8,7 @@ start:
cargo run --features shutdown 2>&1 > logs/nuchat.log
test:
cargo run --features shutdown -- --port 7001 2>&1 > logs/nuchat.log &
cargo test
curl -s -X POST localhost:7001/admin/shutdown
./scripts/test.sh
default := 'run'
watch CMD=default:

9
backend/scripts/test.sh Normal file
View File

@ -0,0 +1,9 @@
#!/usr/bin/env bash
# ensure server is not started
curl -s -X POST localhost:7001/admin/shutdown 2>&1 > /dev/null
# start server
cargo run --features shutdown -- --port 7001 2>&1 > logs/nuchat.log &
# run tests
cargo test | tee logs/test-output.log