blob: d1b61a05f45ec84808feb342ceafdfea4a69fbbd [file] [log] [blame]
#!/bin/bash
# Copyright 2024 The IREE Authors
#
# Licensed under the Apache License v2.0 with LLVM Exceptions.
# See https://llvm.org/LICENSE.txt for license information.
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
# Simple example script to test bisect with.
# Fails for commits after Nov 19, 2024.
# Example usage with https://git-scm.com/docs/git-bisect:
#
# git bisect start --no-checkout --first-parent
# git bisect good iree-3.0.0
# git bisect bad iree-3.1.0rc20241122
# git bisect run bisect_example_timestamp.sh
#
# running 'bisect_example_timestamp.sh'
# Commit 26ef79aa7c has timestamp: 1732059549
# Timestamp >= 1732000000, exit 1
# Bisecting: 10 revisions left to test after this (roughly 4 steps)
# ...
# 5b0740c97a33edce29e753b14b9ff04789afcc53 is the first bad commit
#
# Example usage with ./bisect_packages.py (even though this doesn't use any
# release artifacts like `iree-compile`):
#
# ./bisect_packages.py \
# --good-ref=iree-3.0.0 \
# --bad-ref=iree-3.1.0rc20241122 \
# --test-script=./bisect_example_timestamp.sh
SHORT_HASH=$(git rev-parse --short BISECT_HEAD)
COMMIT_TIMESTAMP=$(git show --no-patch --format=%ct BISECT_HEAD)
echo "Commit ${SHORT_HASH} has timestamp: ${COMMIT_TIMESTAMP}"
if [ "$COMMIT_TIMESTAMP" -gt "1732000000" ]; then
echo " Timestamp >= 1732000000, exit 1"
exit 1
else
echo " Timestamp < 1732000000, exit 0"
exit 0
fi