mirror of
https://boringssl.googlesource.com/boringssl
synced 2026-07-21 14:43:51 +00:00
eaebd139b9
Fix deprecation warning for Node.js 20. Change-Id: I6c2a83e9fe54e7c7d6db9aabdd16aaf5b1bac7a0 Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/96587 Reviewed-by: David Benjamin <davidben@google.com> Reviewed-by: Lily Chen <chlily@google.com> Commit-Queue: Lily Chen <chlily@google.com>
71 lines
2.8 KiB
YAML
71 lines
2.8 KiB
YAML
# Copyright 2026 The BoringSSL Authors
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# https://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
name: Check Branch Time
|
|
|
|
on:
|
|
schedule:
|
|
- cron: '0 */12 * * *' # Run every 12 hours.
|
|
workflow_dispatch: # Allows you to run the check manually from the UI
|
|
|
|
env:
|
|
UPSTREAM_URL: 'https://boringssl.googlesource.com/boringssl'
|
|
BRANCH_NAME: 'main'
|
|
|
|
MAX_TIME_LAG_SECONDS: 86400 # 24 hours
|
|
|
|
jobs:
|
|
check-mirror:
|
|
if: github.repository == 'google/boringssl'
|
|
runs-on: ubuntu-latest
|
|
permissions: read-all
|
|
steps:
|
|
- name: Checkout GitHub Repository
|
|
uses: actions/checkout@v6
|
|
with:
|
|
ref: 'main'
|
|
fetch-depth: 0 # Required to accurately count commits and find ancestors
|
|
- name: Add and Fetch Upstream Source of Truth
|
|
run: |
|
|
git remote add upstream ${{ env.UPSTREAM_URL }}
|
|
git fetch upstream ${{ env.BRANCH_NAME }}
|
|
- name: Verify Commit Times & Lag
|
|
run: |
|
|
# Check if the current GitHub HEAD exists in Upstream
|
|
GH_HEAD_HASH=$(git rev-parse HEAD)
|
|
if ! git merge-base --is-ancestor $GH_HEAD_HASH upstream/${{ env.BRANCH_NAME }}; then
|
|
echo "::error::GitHub HEAD ($GH_HEAD_HASH) is not an ancestor of Upstream HEAD. Has the mirror diverged or rebased?"
|
|
exit 1
|
|
fi
|
|
|
|
# Get the hash of the most recent upstream commit that is older than MAX_TIME_LAG_SECONDS
|
|
WANT_COMMIT=$(git rev-list -n 1 --before="${{ env.MAX_TIME_LAG_SECONDS }} seconds ago" upstream/${{ env.BRANCH_NAME }})
|
|
|
|
# This should not happen.
|
|
if [ -z "$WANT_COMMIT" ]; then
|
|
echo "::error::Could not find an upstream commit older than ${{ env.MAX_TIME_LAG_SECONDS }} seconds."
|
|
exit 1
|
|
fi
|
|
|
|
echo "Latest upstream commit as of ${{ env.MAX_TIME_LAG_SECONDS }} seconds ago: $WANT_COMMIT"
|
|
|
|
if git merge-base --is-ancestor $WANT_COMMIT $GH_HEAD_HASH; then
|
|
echo "GitHub HEAD is up-to-date with upstream as of ${{ env.MAX_TIME_LAG_SECONDS }} seconds ago."
|
|
exit 0
|
|
else
|
|
echo "::error::GitHub HEAD ($GH_HEAD_HASH) is behind the upstream commit from ${{ env.MAX_TIME_LAG_SECONDS }} seconds ago ($WANT_COMMIT)."
|
|
echo "The import may be stuck or delayed."
|
|
exit 1
|
|
fi
|