eec8c28fb3
Go Benchmark / Performance Regression Check (push) Has been cancelled
Cerberus Integration / Cerberus Security Stack Integration (push) Has been cancelled
Upload Coverage to Codecov / Backend Codecov Upload (push) Has been cancelled
Upload Coverage to Codecov / Frontend Codecov Upload (push) Has been cancelled
CodeQL - Analyze / CodeQL analysis (go) (push) Has been cancelled
CodeQL - Analyze / CodeQL analysis (javascript-typescript) (push) Has been cancelled
CrowdSec Integration / CrowdSec Bouncer Integration (push) Has been cancelled
Docker Build, Publish & Test / build-and-push (push) Has been cancelled
Quality Checks / Auth Route Protection Contract (push) Has been cancelled
Quality Checks / Codecov Trigger/Comment Parity Guard (push) Has been cancelled
Quality Checks / Backend (Go) (push) Has been cancelled
Quality Checks / Frontend (React) (push) Has been cancelled
Rate Limit integration / Rate Limiting Integration (push) Has been cancelled
Security Scan (PR) / Trivy Binary Scan (push) Has been cancelled
Supply Chain Verification (PR) / Verify Supply Chain (push) Has been cancelled
WAF integration / Coraza WAF Integration (push) Has been cancelled
Docker Build, Publish & Test / Security Scan PR Image (push) Has been cancelled
Repo Health Check / Repo health (push) Has been cancelled
History Rewrite Dry-Run / Dry-run preview for history rewrite (push) Has been cancelled
Prune Renovate Branches / prune (push) Has been cancelled
Renovate / renovate (push) Has been cancelled
Nightly Build & Package / sync-development-to-nightly (push) Has been cancelled
Nightly Build & Package / Trigger Nightly Validation Workflows (push) Has been cancelled
Nightly Build & Package / build-and-push-nightly (push) Has been cancelled
Nightly Build & Package / test-nightly-image (push) Has been cancelled
Nightly Build & Package / verify-nightly-supply-chain (push) Has been cancelled
Update GeoLite2 Checksum / update-checksum (push) Has been cancelled
Container Registry Prune / prune-ghcr (push) Has been cancelled
Container Registry Prune / prune-dockerhub (push) Has been cancelled
Container Registry Prune / summarize (push) Has been cancelled
Supply Chain Verification / Verify SBOM (push) Has been cancelled
Supply Chain Verification / Verify Release Artifacts (push) Has been cancelled
Supply Chain Verification / Verify Docker Image Supply Chain (push) Has been cancelled
Monitor Caddy Major Release / check-caddy-major (push) Has been cancelled
Weekly Nightly to Main Promotion / Verify Nightly Branch Health (push) Has been cancelled
Weekly Nightly to Main Promotion / Create Promotion PR (push) Has been cancelled
Weekly Nightly to Main Promotion / Trigger Missing Required Checks (push) Has been cancelled
Weekly Nightly to Main Promotion / Notify on Failure (push) Has been cancelled
Weekly Nightly to Main Promotion / Workflow Summary (push) Has been cancelled
Weekly Security Rebuild / Security Rebuild & Scan (push) Has been cancelled
43 lines
1.3 KiB
Bash
Executable File
43 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bats
|
|
|
|
setup() {
|
|
TMPREPO=$(mktemp -d)
|
|
cd "$TMPREPO"
|
|
git init -q
|
|
# local git identity
|
|
git config user.email "test@example.com"
|
|
git config user.name "Test Runner"
|
|
# create a directory that matches the paths to be pruned
|
|
mkdir -p backend/codeql-db
|
|
echo "dummy" > backend/codeql-db/keep.txt
|
|
git add -A && git commit -m 'add test files' -q
|
|
git checkout -b feature/test
|
|
# Create a local bare repo to act as origin and allow git push
|
|
TMPORIGIN=$(mktemp -d)
|
|
git init --bare "$TMPORIGIN" >/dev/null
|
|
git remote add origin "$TMPORIGIN"
|
|
git push -u origin feature/test >/dev/null 2>&1 || true
|
|
# Add a stub git-filter-repo to PATH to satisfy requirements without installing
|
|
STUBBIN=$(mktemp -d)
|
|
cat > "$STUBBIN/git-filter-repo" <<'SH'
|
|
#!/usr/bin/env bash
|
|
echo "stub git-filter-repo called: $@"
|
|
exit 0
|
|
SH
|
|
chmod +x "$STUBBIN/git-filter-repo"
|
|
PATH="$STUBBIN:$PATH"
|
|
}
|
|
|
|
teardown() {
|
|
rm -rf "$TMPREPO"
|
|
}
|
|
|
|
REPO_ROOT=$(cd "$BATS_TEST_DIRNAME/../../../" && pwd)
|
|
SCRIPT="$REPO_ROOT/scripts/history-rewrite/clean_history.sh"
|
|
|
|
@test "clean_history non-interactive + force runs without prompting and invokes git-filter-repo" {
|
|
run bash "$SCRIPT" --force --non-interactive --paths 'backend/codeql-db' --strip-size 1
|
|
[ "$status" -eq 0 ]
|
|
[[ "$output" == *"stub git-filter-repo called"* ]]
|
|
}
|