| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- name: Check vendor
- on:
- workflow_dispatch: # allows manual triggering
- push:
- branches:
- - master
- paths: [
- 'vendor/**',
- 'scripts/sync_vendor.py'
- ]
- pull_request:
- types: [opened, synchronize, reopened]
- paths: [
- 'vendor/**',
- 'scripts/sync_vendor.py'
- ]
- jobs:
- check-vendor:
- runs-on: ubuntu-latest
- steps:
- - name: Checkout
- uses: actions/checkout@v4
- with:
- fetch-depth: 0
- - name: Setup Python
- uses: actions/setup-python@v4
- with:
- python-version: '3.x'
- - name: Run vendor sync
- run: |
- set -euo pipefail
- python3 scripts/sync_vendor.py
- - name: Check for changes
- run: |
- set -euo pipefail
- # detect modified or untracked files
- changed=$(git status --porcelain --untracked-files=all || true)
- if [ -n "$changed" ]; then
- echo "Vendor sync modified files:"
- echo "$changed" | awk '{ print $2 }' | sed '/^$/d'
- echo "Failing because vendor files mismatch. Please update scripts/sync_vendor.py"
- exit 1
- else
- echo "Vendor files are up-to-date."
- fi
|