Skip to content

Bump react-router from 7.13.1 to 7.15.0 in /auth9-portal #114

Bump react-router from 7.13.1 to 7.15.0 in /auth9-portal

Bump react-router from 7.13.1 to 7.15.0 in /auth9-portal #114

Workflow file for this run

# Auth9 CI Pipeline
# Runs on every PR to main branch
# Executes tests for both auth9-core and auth9-portal
name: CI
on:
pull_request:
branches: [main]
env:
CARGO_TERM_COLOR: always
RUST_BACKTRACE: 1
jobs:
# ==================== auth9-core Tests ====================
test-core:
name: Test auth9-core
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install ripgrep
run: sudo apt-get update && sudo apt-get install -y ripgrep
- name: Verify domain boundaries
run: ./scripts/check-domain-boundaries.sh
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
components: clippy, rustfmt
- name: Install protoc
uses: arduino/setup-protoc@v2
with:
version: "25.x"
- name: Setup Rust cache
uses: Swatinem/rust-cache@v2
with:
workspaces: "auth9-core -> target"
cache-on-failure: true
- name: Check formatting
working-directory: auth9-core
run: cargo fmt --all -- --check
- name: Run clippy
working-directory: auth9-core
run: cargo clippy --all-targets --all-features -- -D warnings
- name: Run unit tests
working-directory: auth9-core
run: cargo test --lib --verbose
- name: Run integration tests
working-directory: auth9-core
run: cargo test --test '*' --verbose
# ==================== Security Audit ====================
security-audit:
name: Security Audit (cargo audit)
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Install cargo-audit
run: cargo install cargo-audit
- name: Run cargo audit
working-directory: auth9-core
run: cargo audit
# ==================== auth9-portal Tests ====================
test-portal:
name: Test auth9-portal
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 10
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: 'npm'
cache-dependency-path: auth9-portal/package-lock.json
- name: Build SDK dependency
working-directory: sdk
run: pnpm install --frozen-lockfile && pnpm --filter @auth9/core build
- name: Install dependencies
working-directory: auth9-portal
run: npm ci
- name: Run linter
working-directory: auth9-portal
run: npm run lint
- name: Run type check
working-directory: auth9-portal
run: npm run typecheck
- name: Run unit tests
working-directory: auth9-portal
run: npm run test -- --run
- name: Build
working-directory: auth9-portal
run: npm run build
# ==================== Docker Build Test ====================
docker-build-test:
name: Docker Build Test (${{ matrix.arch }})
runs-on: ${{ matrix.runner }}
needs: [test-core, test-portal]
strategy:
fail-fast: false
matrix:
include:
- arch: amd64
runner: [self-hosted, linux, x64, arc-runner]
- arch: arm64
runner: ubuntu-24.04-arm
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build auth9-core image
uses: docker/build-push-action@v5
with:
context: .
file: auth9-core/Dockerfile
push: false
tags: auth9-core:test
cache-from: type=gha
cache-to: type=gha,mode=max
platforms: linux/${{ matrix.arch }}
- name: Build auth9-portal image
uses: docker/build-push-action@v5
with:
context: .
file: auth9-portal/Dockerfile
push: false
tags: auth9-portal:test
cache-from: type=gha
cache-to: type=gha,mode=max
platforms: linux/${{ matrix.arch }}