ci: add job logging initialization to production and staking workflows and fix systemd-sync script paths
Some checks failed
Production Tests / Production Integration Tests (push) Failing after 1m8s
Staking Tests / test-staking-service (push) Successful in 4s
Systemd Sync / sync-systemd (push) Successful in 5s
Staking Tests / test-staking-integration (push) Successful in 2s
Staking Tests / test-staking-contract (push) Successful in 1m17s
Staking Tests / run-staking-test-runner (push) Successful in 9s
Some checks failed
Production Tests / Production Integration Tests (push) Failing after 1m8s
Staking Tests / test-staking-service (push) Successful in 4s
Systemd Sync / sync-systemd (push) Successful in 5s
Staking Tests / test-staking-integration (push) Successful in 2s
Staking Tests / test-staking-contract (push) Successful in 1m17s
Staking Tests / run-staking-test-runner (push) Successful in 9s
- Added setup-job-logging.sh initialization step to production-tests.yml, all staking-tests.yml jobs, and systemd-sync.yml - Removed redundant agent-coordinator package installation from production-tests.yml (already included in extra-packages) - Fixed systemd-sync.yml to use relative paths (scripts/utils/link-systemd.sh) instead of absolute paths (/opt/aitbc/scripts/utils/link-systemd.sh)
This commit is contained in:
76
scripts/ci/setup-job-logging.sh
Normal file
76
scripts/ci/setup-job-logging.sh
Normal file
@@ -0,0 +1,76 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
LOG_DIR="${AITBC_CI_LOG_DIR:-/opt/gitea-runner/logs}"
|
||||
WORKFLOW_NAME="${GITHUB_WORKFLOW:-workflow}"
|
||||
JOB_NAME="${GITHUB_JOB:-job}"
|
||||
RUN_ID="${GITHUB_RUN_ID:-${GITHUB_RUN_NUMBER:-$(date +%s)}}"
|
||||
RUN_NUMBER="${GITHUB_RUN_NUMBER:-}"
|
||||
RUN_ATTEMPT="${GITHUB_RUN_ATTEMPT:-1}"
|
||||
GITHUB_ENV_FILE="${GITHUB_ENV:-${GITEA_ENV:-}}"
|
||||
|
||||
sanitize() {
|
||||
printf '%s' "$1" | tr '[:upper:]' '[:lower:]' | sed -E 's/[^a-z0-9._-]+/-/g; s/^-+//; s/-+$//'
|
||||
}
|
||||
|
||||
SAFE_WORKFLOW="$(sanitize "$WORKFLOW_NAME")"
|
||||
SAFE_JOB="$(sanitize "$JOB_NAME")"
|
||||
SAFE_ATTEMPT="$(sanitize "$RUN_ATTEMPT")"
|
||||
SAFE_WORKFLOW="${SAFE_WORKFLOW:-workflow}"
|
||||
SAFE_JOB="${SAFE_JOB:-job}"
|
||||
|
||||
mkdir -p "$LOG_DIR"
|
||||
|
||||
LOG_BASENAME="${SAFE_WORKFLOW}_${SAFE_JOB}_${RUN_ID}_attempt-${SAFE_ATTEMPT}"
|
||||
LOG_FILE="$LOG_DIR/${LOG_BASENAME}.log"
|
||||
INDEX_FILE="$LOG_DIR/index.tsv"
|
||||
LATEST_FILE="$LOG_DIR/latest.log"
|
||||
WORKFLOW_LATEST_FILE="$LOG_DIR/latest-${SAFE_WORKFLOW}.log"
|
||||
JOB_LATEST_FILE="$LOG_DIR/latest-${SAFE_WORKFLOW}-${SAFE_JOB}.log"
|
||||
ENV_FILE="/tmp/aitbc-ci-log-${RUN_ID}-${SAFE_JOB}.env"
|
||||
|
||||
: > "$LOG_FILE"
|
||||
touch "$INDEX_FILE"
|
||||
|
||||
printf '%s\t%s\t%s\t%s\t%s\t%s\t%s\n' \
|
||||
"$(date -Iseconds)" \
|
||||
"$RUN_ID" \
|
||||
"$RUN_NUMBER" \
|
||||
"$RUN_ATTEMPT" \
|
||||
"$WORKFLOW_NAME" \
|
||||
"$JOB_NAME" \
|
||||
"$LOG_FILE" >> "$INDEX_FILE"
|
||||
|
||||
ln -sfn "$LOG_FILE" "$LATEST_FILE"
|
||||
ln -sfn "$LOG_FILE" "$WORKFLOW_LATEST_FILE"
|
||||
ln -sfn "$LOG_FILE" "$JOB_LATEST_FILE"
|
||||
|
||||
cat > "$ENV_FILE" <<EOF
|
||||
if [[ "\${AITBC_CI_LOGGING_ACTIVE:-}" == "1" ]]; then
|
||||
return 0 2>/dev/null || :
|
||||
fi
|
||||
export AITBC_CI_LOGGING_ACTIVE=1
|
||||
export AITBC_CI_LOG_FILE="$LOG_FILE"
|
||||
exec > >(tee -a "$LOG_FILE") 2>&1
|
||||
echo "=== \${GITHUB_WORKFLOW:-workflow} / \${GITHUB_JOB:-job} :: \$(date -Iseconds) ==="
|
||||
EOF
|
||||
|
||||
if [[ -n "$GITHUB_ENV_FILE" ]]; then
|
||||
{
|
||||
printf 'AITBC_CI_LOG_DIR=%s\n' "$LOG_DIR"
|
||||
printf 'AITBC_CI_LOG_FILE=%s\n' "$LOG_FILE"
|
||||
printf 'AITBC_CI_LOG_INDEX=%s\n' "$INDEX_FILE"
|
||||
printf 'AITBC_CI_LOG_LATEST=%s\n' "$LATEST_FILE"
|
||||
printf 'AITBC_CI_LOG_WORKFLOW_LATEST=%s\n' "$WORKFLOW_LATEST_FILE"
|
||||
printf 'AITBC_CI_LOG_JOB_LATEST=%s\n' "$JOB_LATEST_FILE"
|
||||
printf 'BASH_ENV=%s\n' "$ENV_FILE"
|
||||
} >> "$GITHUB_ENV_FILE"
|
||||
else
|
||||
echo "CI logging warning: GITHUB_ENV/GITEA_ENV not set; automatic logging for later steps is unavailable"
|
||||
fi
|
||||
|
||||
echo "CI log file: $LOG_FILE"
|
||||
echo "CI latest log: $LATEST_FILE"
|
||||
echo "CI workflow latest: $WORKFLOW_LATEST_FILE"
|
||||
echo "CI job latest: $JOB_LATEST_FILE"
|
||||
echo "CI log index: $INDEX_FILE"
|
||||
Reference in New Issue
Block a user