Skip to content

vendor

vendor #70605

Workflow file for this run

# Automated vendoring workflow for DuckDB sources
# Runs hourly to sync with upstream DuckDB repository
# main branch: vendors from v1.3-ossivalis (stable) - branch name may change with releases
# next branch: vendors from main (bleeding edge)
# See scripts/VENDORING.md for complete documentation
on:
push:
branches:
- main
- next
paths:
- ".github/workflows/vendor.yaml"
- "scripts/vendor-one.sh"
workflow_dispatch:
schedule:
- cron: "0 * * * *"
concurrency:
group: ${{ github.workflow }}
name: vendor
jobs:
vendor:
runs-on: ubuntu-latest
# Only run in the vendoring repository
if: github.repository == 'krlmlr/duckdb-r'
strategy:
matrix:
# REMINDER: When changing branch names below,
# update the documentation in scripts/VENDORING.md accordingly (see disclaimers section)
include:
- branch: v1.4-andium-dev
upstream: v1.4-andium
- branch: v1.5-variegata-dev
upstream: v1.5-variegata
- branch: main-dev
upstream: main
name: "Update vendored sources (${{ matrix.branch }})"
permissions:
contents: write
statuses: read
actions: write
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 0
ref: ${{ matrix.branch }}
- uses: actions/checkout@v6
with:
repository: duckdb/duckdb
path: ./duckdb
fetch-depth: 0
ref: ${{ matrix.upstream }}
- uses: ./.github/workflows/git-identity
- name: Vendor sources
id: vendor
run: |
git pull --rebase
scripts/vendor-one.sh ./duckdb --commits 30
rm -rf ./duckdb
# Check if ahead of upstream branch
# If yes, set a step output and push directly
if [ $(git rev-list HEAD...origin/${{ matrix.branch }} --count) -gt 0 ]; then
git push
# Avoid set-output, it's deprecated
echo "vendor=ok" >> "$GITHUB_OUTPUT"
fi
- name: Enumerate commits and trigger rcc workflow
# if: steps.vendor.outputs.vendor == 'ok'
env:
GH_TOKEN: ${{ github.token }}
run: scripts/each-rcc.sh
shell: bash