Files
arr/.gitea/workflows/e2e.yml
T
naps62-yolo e9c055675b
ci / rust (push) Failing after 1m36s
ci / web (push) Successful in 26s
e2e / e2e (push) Failing after 59s
test(e2e): cross-process harness over the §12 seams (#66)
2026-08-22 21:26:16 +01:00

82 lines
2.2 KiB
YAML

name: e2e
# Kept off the per-push gate deliberately — DESIGN.md §12. Runs on main, and on
# pull requests that touch the crates whose seams these tests cover.
on:
push:
branches:
- main
pull_request:
paths:
- 'crates/arr-e2e/**'
- 'crates/arr-dl/**'
- 'crates/arr-indexer/**'
- 'crates/arr-meta/**'
- 'crates/arr-probe/**'
- 'crates/arr-api/**'
- 'crates/arr-daemon/**'
- '.gitea/workflows/e2e.yml'
env:
CARGO_TERM_COLOR: always
CARGO_PROFILE_DEV_DEBUG: "0"
jobs:
e2e:
runs-on: ubuntu-latest
services:
transmission:
image: linuxserver/transmission:latest
env:
PUID: "1000"
PGID: "1000"
ports:
- 9091:9091
steps:
- uses: actions/checkout@v4
- name: Build deps and ffmpeg
run: |
apt-get update
apt-get install -y --no-install-recommends \
git curl ca-certificates build-essential pkg-config ffmpeg
- name: Cache cargo
uses: actions/cache@v4
with:
path: |
~/.cargo/bin
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('Cargo.lock', 'rust-toolchain.toml') }}
restore-keys: |
${{ runner.os }}-cargo-
- name: Toolchain
run: |
if ! command -v cargo >/dev/null; then
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs \
| sh -s -- -y --profile minimal --no-modify-path
fi
echo "$HOME/.cargo/bin" >> "$GITHUB_PATH"
- name: nextest
run: |
export PATH="$HOME/.cargo/bin:$PATH"
command -v cargo-nextest >/dev/null || \
curl -LsSf https://get.nexte.st/latest/linux \
| tar zxf - -C "$HOME/.cargo/bin"
- name: build daemon
# The harness spawns this binary; building it here keeps the compile
# out of the first test's boot window.
run: cargo build -p arr-daemon --bin arr
- name: e2e
env:
TRANSMISSION_RPC_URL: http://transmission:9091/transmission/rpc
run: cargo nextest run -p arr-e2e