- Created `qa-test-output-after-fix.txt` and `qa-test-output.txt` to log results of certificate page authentication tests. - Added `build.sh` for deterministic backend builds in CI, utilizing `go list` for efficiency. - Introduced `codeql_scan.sh` for CodeQL database creation and analysis for Go and JavaScript/TypeScript. - Implemented `dockerfile_check.sh` to validate Dockerfiles for base image and package manager mismatches. - Added `sourcery_precommit_wrapper.sh` to facilitate Sourcery CLI usage in pre-commit hooks.
49 lines
1.8 KiB
Bash
Executable File
49 lines
1.8 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
TMPREMOTE=$(mktemp -d)
|
|
git init --bare "$TMPREMOTE/remote.git"
|
|
TMPCLONE=$(mktemp -d)
|
|
cd "$TMPCLONE"
|
|
git clone "$TMPREMOTE/remote.git" .
|
|
# create a commit
|
|
mkdir -p backend/codeql-db
|
|
echo 'dummy' > backend/codeql-db/foo.txt
|
|
git add -A
|
|
git commit -m "Add dummy file" -q
|
|
git checkout -b feature/test
|
|
# set up stub git-filter-repo in PATH
|
|
## Resolve the repo root based on the script file location (Bash-safe)
|
|
# Use ${BASH_SOURCE[0]} instead of $0 to correctly resolve the script path even
|
|
# when invoked from different PWDs or via sourced contexts.
|
|
REPO_ROOT=$(cd "$(dirname "${BASH_SOURCE[0]}")/../../" && pwd -P)
|
|
TMPBIN=$(mktemp -d)
|
|
cat > "$TMPBIN/git-filter-repo" <<'SH'
|
|
#!/usr/bin/env sh
|
|
# Minimal stub to simulate git-filter-repo
|
|
while [ $# -gt 0 ]; do
|
|
shift
|
|
done
|
|
exit 0
|
|
SH
|
|
chmod +x "$TMPBIN/git-filter-repo"
|
|
export PATH="$TMPBIN:$PATH"
|
|
# run clean_history.sh with dry-run
|
|
# NOTE: Avoid hard-coded repo paths like /projects/Charon/
|
|
# Use the dynamically-derived REPO_ROOT (above) or a relative path from this script
|
|
# so this helper script runs correctly on other machines/CI environments.
|
|
# Examples:
|
|
# "$REPO_ROOT/scripts/history-rewrite/clean_history.sh" --dry-run ...
|
|
# "$(dirname "$0")/clean_history.sh" --dry-run ...
|
|
"$REPO_ROOT/scripts/history-rewrite/clean_history.sh" --dry-run --paths 'backend/codeql-db' --strip-size 1
|
|
# run clean_history.sh with force should attempt to push branch then succeed (requires that remote exists)
|
|
"$REPO_ROOT/scripts/history-rewrite/clean_history.sh" --force --paths 'backend/codeql-db' --strip-size 1 <<'IN'
|
|
I UNDERSTAND
|
|
IN
|
|
|
|
# test non-interactive with force
|
|
"$REPO_ROOT/scripts/history-rewrite/clean_history.sh" --force --non-interactive --paths 'backend/codeql-db' --strip-size 1
|
|
|
|
# cleanup
|
|
rm -rf "$TMPREMOTE" "$TMPCLONE" "$TMPBIN"
|
|
echo 'done'
|