21 lines
628 B
Bash
Executable File
21 lines
628 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -Eeuo pipefail
|
|
source /opt/rust-package-builder/scripts/lib.sh
|
|
|
|
STATE_FILE="$DATA_DIR/state/last_commit"
|
|
|
|
log "checking repository"
|
|
REMOTE_SHA=$(git ls-remote "$SOURCE_REPO" "refs/heads/$SOURCE_BRANCH" | awk 'NR == 1 {print $1}')
|
|
[[ "$REMOTE_SHA" =~ ^[0-9a-fA-F]{40}$ ]] || fatal "cannot resolve branch $SOURCE_BRANCH from $SOURCE_REPO"
|
|
|
|
LAST_SHA=""
|
|
[[ -r "$STATE_FILE" ]] && LAST_SHA=$(cat "$STATE_FILE")
|
|
|
|
if [[ "$REMOTE_SHA" == "$LAST_SHA" ]]; then
|
|
log "no changes: $REMOTE_SHA"
|
|
exit 0
|
|
fi
|
|
|
|
log "new commit detected: $REMOTE_SHA"
|
|
/opt/rust-package-builder/scripts/build-release.sh "$REMOTE_SHA"
|