53 lines
1.4 KiB
YAML
53 lines
1.4 KiB
YAML
name: Nightly E2E Tests
|
|
|
|
on:
|
|
schedule:
|
|
- cron: '0 3 * * *' # 3 AM UTC daily
|
|
workflow_dispatch: # Allow manual trigger
|
|
|
|
env:
|
|
CARGO_TERM_COLOR: always
|
|
RUSTFLAGS: "-D warnings"
|
|
RUSTC_WRAPPER: /usr/local/bin/sccache
|
|
SCCACHE_DIR: /tmp/sccache
|
|
TEST_MONGODB_URI: "mongodb://root:example@mongo:27017/?authSource=admin"
|
|
|
|
concurrency:
|
|
group: nightly-e2e
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
e2e:
|
|
name: E2E Tests
|
|
runs-on: docker
|
|
container:
|
|
image: rust:1.94-bookworm
|
|
services:
|
|
mongo:
|
|
image: mongo:7
|
|
env:
|
|
MONGO_INITDB_ROOT_USERNAME: root
|
|
MONGO_INITDB_ROOT_PASSWORD: example
|
|
steps:
|
|
- name: Checkout
|
|
run: |
|
|
git init
|
|
git remote add origin "${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}.git"
|
|
git fetch --depth=1 origin "${GITHUB_SHA:-refs/heads/main}"
|
|
git checkout FETCH_HEAD
|
|
|
|
- name: Install sccache
|
|
run: |
|
|
curl -fsSL https://github.com/mozilla/sccache/releases/download/v0.9.1/sccache-v0.9.1-x86_64-unknown-linux-musl.tar.gz \
|
|
| tar xz --strip-components=1 -C /usr/local/bin/ sccache-v0.9.1-x86_64-unknown-linux-musl/sccache
|
|
chmod +x /usr/local/bin/sccache
|
|
env:
|
|
RUSTC_WRAPPER: ""
|
|
|
|
- name: Run E2E tests
|
|
run: cargo test -p compliance-agent --test e2e -- --test-threads=4
|
|
|
|
- name: Show sccache stats
|
|
run: sccache --show-stats
|
|
if: always()
|