Files
email-tracker/external/duckdb/.github/workflows/NotifyExternalRepositories.yml
2025-10-24 19:21:19 -05:00

116 lines
4.5 KiB
YAML

name: Notify External Repositories
on:
workflow_call:
inputs:
duckdb-sha:
description: 'Vendor Specific DuckDB SHA'
required: false
default: ''
type: 'string'
target-branch:
description: 'Which Branch to Target'
required: true
default: ''
type: 'string'
triggering-event:
description: 'Which event triggered the run'
default: ''
type: 'string'
should-publish:
description: 'Should the called workflow push updates or not'
default: 'false'
type: 'string'
is-success:
description: 'True, if all the builds in InvokeCI had succeeded'
default: 'false'
type: 'string'
override-git-describe:
description: 'The name of the release tag, used for release builds'
required: false
default: ''
type: string
workflow_dispatch:
inputs:
duckdb-sha:
description: 'Vendor Specific DuckDB SHA'
required: false
default: ''
type: 'string'
target-branch:
description: 'Which Branch to Target'
required: true
default: ''
type: 'string'
triggering-event:
description: 'Which event triggered the run'
default: ''
type: 'string'
should-publish:
description: 'Should the called workflow push updates'
default: 'false'
type: 'string'
is-success:
description: 'True, if all the builds in InvokeCI had succeeded'
default: 'false'
type: 'string'
override-git-describe:
description: 'The name of the release tag, used for release builds'
required: false
default: ''
type: string
concurrency:
group: ${{ github.workflow }}
cancel-in-progress: false
env:
PAT_USER: ${{ secrets.PAT_USERNAME }}
PAT_TOKEN: ${{ secrets.PAT_TOKEN }}
jobs:
notify-odbc-run:
name: Run ODBC Vendor
runs-on: ubuntu-latest
if: ${{ inputs.is-success == 'true' && inputs.override-git-describe == '' }}
steps:
- name: Run ODBC Vendor
if: ${{ github.repository == 'duckdb/duckdb' }}
run: |
export URL=https://api.github.com/repos/duckdb/duckdb-odbc/actions/workflows/Vendor.yml/dispatches
export DATA='{"ref": "${{ inputs.target-branch }}", "inputs": {"duckdb-sha": "${{ inputs.duckdb-sha }}"}}'
curl -v -XPOST -u "${PAT_USER}:${PAT_TOKEN}" -H "Accept: application/vnd.github.everest-preview+json" -H "Content-Type: application/json" $URL --data "$DATA"
notify-jdbc-run:
name: Run JDBC Vendor
runs-on: ubuntu-latest
if: ${{ inputs.is-success == 'true' && inputs.override-git-describe == '' }}
steps:
- name: Run JDBC Vendor
if: ${{ github.repository == 'duckdb/duckdb' }}
run: |
export URL=https://api.github.com/repos/duckdb/duckdb-java/actions/workflows/Vendor.yml/dispatches
export DATA='{"ref": "${{ inputs.target-branch }}", "inputs": {"duckdb-sha": "${{ inputs.duckdb-sha }}"}}'
curl -v -XPOST -u "${PAT_USER}:${PAT_TOKEN}" -H "Accept: application/vnd.github.everest-preview+json" -H "Content-Type: application/json" $URL --data "$DATA"
notify-nightly-build-status:
name: Run Nightly build status
runs-on: ubuntu-latest
steps:
- name: Run Nightly build status
if: ${{ github.repository == 'duckdb/duckdb' }}
run: |
export URL=https://api.github.com/repos/duckdb/duckdb-build-status/actions/workflows/NightlyBuildsCheck.yml/dispatches
export DATA='{"ref": "${{ inputs.target-branch }}", "inputs": {"event": "${{ inputs.triggering-event }}", "should_publish": "${{ inputs.should-publish }}"}}'
curl -v -XPOST -u "${PAT_USER}:${PAT_TOKEN}" -H "Accept: application/vnd.github.everest-preview+json" -H "Content-Type: application/json" $URL --data "$DATA"
notify-python-nightly:
name: Dispatch Python nightly build
runs-on: ubuntu-latest
steps:
- name: Call /dispatch
if: ${{ github.repository == 'duckdb/duckdb' && inputs.override-git-describe == '' }}
run: |
export URL=https://api.github.com/repos/duckdb/duckdb-python/actions/workflows/release.yml/dispatches
export DATA='{"ref": "${{ inputs.target-branch }}", "inputs": {"duckdb-sha": "${{ inputs.duckdb-sha }}", "pypi-index": "prod" }}'
curl -v -XPOST -u "${PAT_USER}:${PAT_TOKEN}" -H "Accept: application/vnd.github.everest-preview+json" -H "Content-Type: application/json" $URL --data "$DATA"