name: Backend Actions run-name: ${{ gitea.actor }} is running backend actions on: [push] jobs: check: runs-on: rust-latest defaults: run: working-directory: ./backend steps: - uses: actions/checkout@v4 - name: Load Cache uses: actions/cache@v4 with: path: | ~/.cargo/registry ~/.cargo/git backend/target key: ${{ runner.os }}-cargo-check-${{ hashFiles('backend/Cargo.lock') }} - name: Run Clippy run: cargo clippy --no-deps -- -Dwarnings -Dclippy::correctness -Wclippy::pedantic -Wclippy::perf -Aclippy::missing_errors_doc -Aclippy::missing_panics_doc build: runs-on: rust-latest defaults: run: working-directory: ./backend steps: - uses: actions/checkout@v4 - name: Load Cache uses: actions/cache@v4 with: path: | ~/.cargo/registry ~/.cargo/git backend/target key: ${{ runner.os }}-cargo-build-${{ hashFiles('backend/Cargo.lock') }} - name: Build Release Binary run: cargo build --release --locked test: runs-on: rust-latest defaults: run: working-directory: ./backend steps: - uses: actions/checkout@v4 - name: Load Cache uses: actions/cache@v4 with: path: | ~/.cargo/registry ~/.cargo/git backend/target key: ${{ runner.os }}-cargo-test-${{ hashFiles('backend/Cargo.lock') }} - name: Install Nextest run: cargo install --root /usr cargo-nextest && export PATH="/usr/bin:$PATH" - name: Build Binary with Shutdown run: cargo build --features shutdown --bin nuchat - name: Run Tests run: ./scripts/test.sh - name: Upload Test Logs if: ${{ failure() }} uses: actions/upload-artifact@v3 with: name: nuchat-logs path: backend/logs/*