vortex new org #30
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Community Extension Build | |
| on: | |
| pull_request: | |
| paths-ignore: | |
| - '**' | |
| - '!scripts/build.py' | |
| - '!.github/workflows/build.yml' | |
| - '!extensions/*/description.yml' | |
| push: | |
| paths-ignore: | |
| - '**' | |
| - '!scripts/build.py' | |
| - '!.github/workflows/build.yml' | |
| - '!extensions/*/description.yml' | |
| workflow_dispatch: | |
| inputs: | |
| extension_name: | |
| type: string | |
| duckdb_version: | |
| type: string | |
| duckdb_tag: | |
| type: string | |
| deploy: | |
| type: string | |
| more_excluded: | |
| type: string | |
| skip_tests: | |
| required: false | |
| type: boolean | |
| default: false | |
| workflow_call: | |
| inputs: | |
| extension_name: | |
| type: string | |
| duckdb_version: | |
| type: string | |
| duckdb_tag: | |
| type: string | |
| deploy: | |
| type: string | |
| more_excluded: | |
| type: string | |
| skip_tests: | |
| required: false | |
| type: boolean | |
| default: false | |
| jobs: | |
| prepare: | |
| outputs: | |
| COMMUNITY_EXTENSION_NAME: ${{ steps.parse.outputs.COMMUNITY_EXTENSION_NAME }} | |
| COMMUNITY_EXTENSION_GITHUB: ${{ steps.parse.outputs.COMMUNITY_EXTENSION_GITHUB }} | |
| COMMUNITY_EXTENSION_CANONICAL_NAME: ${{ steps.parse.outputs.COMMUNITY_EXTENSION_CANONICAL_NAME}} | |
| COMMUNITY_EXTENSION_REF: ${{ steps.parse.outputs.COMMUNITY_EXTENSION_REF }} | |
| COMMUNITY_EXTENSION_DEPLOY: ${{ steps.parse.outputs.COMMUNITY_EXTENSION_DEPLOY }} | |
| COMMUNITY_EXTENSION_EXCLUDE_PLATFORMS: ${{ inputs.more_excluded }}${{ steps.parse.outputs.COMMUNITY_EXTENSION_EXCLUDE_PLATFORMS }} | |
| COMMUNITY_EXTENSION_REQUIRES_TOOLCHAINS: ${{ steps.parse.outputs.COMMUNITY_EXTENSION_REQUIRES_TOOLCHAINS }} | |
| COMMUNITY_EXTENSION_TEST_CONFIG: ${{ steps.parse.outputs.COMMUNITY_EXTENSION_TEST_CONFIG }} | |
| COMMUNITY_EXTENSION_VCPKG_URL: ${{ steps.parse.outputs.COMMUNITY_EXTENSION_VCPKG_URL == '' && 'https://github.com/microsoft/vcpkg.git' || steps.parse.outputs.COMMUNITY_EXTENSION_VCPKG_URL }} | |
| COMMUNITY_EXTENSION_VCPKG_COMMIT: ${{ steps.parse.outputs.COMMUNITY_EXTENSION_VCPKG_COMMIT == '' && 'ce613c41372b23b1f51333815feb3edd87ef8a8b' || steps.parse.outputs.COMMUNITY_EXTENSION_VCPKG_COMMIT }} | |
| env: | |
| DUCKDB_LATEST_STABLE: 'v1.3.2' | |
| DUCKDB_VERSION: ${{ inputs.duckdb_version || 'v1.3.2' }} | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Get all changed description files | |
| id: changed-files | |
| uses: tj-actions/changed-files@v46 | |
| with: | |
| files: | | |
| extensions/*/description.yml | |
| - name: Parse description files | |
| id: parse | |
| env: | |
| ALL_CHANGED_FILES: ${{ github.event_name == 'workflow_dispatch' && format('extensions/{0}/description.yml', inputs.extension_name) || steps.changed-files.outputs.all_changed_files }} | |
| PIP_BREAK_SYSTEM_PACKAGES: 1 | |
| run: | | |
| pip install pyyaml | |
| # scripts/build.py takes DUCKDB_VERSION from environment | |
| python scripts/build.py | |
| cat env.sh >> $GITHUB_OUTPUT | |
| echo `cat $GITHUB_OUTPUT` | |
| build: | |
| needs: prepare | |
| uses: duckdb/extension-ci-tools/.github/workflows/_extension_distribution.yml@main | |
| if: ${{ needs.prepare.outputs.COMMUNITY_EXTENSION_NAME != '' }} | |
| with: | |
| duckdb_version: ${{ inputs.duckdb_version || 'v1.3.2' }} | |
| duckdb_tag: ${{ inputs.duckdb_tag || '' }} | |
| ci_tools_version: 'main' | |
| exclude_archs: ${{ needs.prepare.outputs.COMMUNITY_EXTENSION_EXCLUDE_PLATFORMS }} | |
| test_config: ${{ needs.prepare.outputs.COMMUNITY_EXTENSION_TEST_CONFIG }} | |
| extension_canonical: ${{ needs.prepare.outputs.COMMUNITY_EXTENSION_CANONICAL_NAME }} | |
| extra_toolchains: ${{ needs.prepare.outputs.COMMUNITY_EXTENSION_REQUIRES_TOOLCHAINS }} | |
| extension_name: ${{ needs.prepare.outputs.COMMUNITY_EXTENSION_NAME }} | |
| override_repository: ${{ needs.prepare.outputs.COMMUNITY_EXTENSION_GITHUB }} | |
| override_ref: ${{ needs.prepare.outputs.COMMUNITY_EXTENSION_REF }} | |
| vcpkg_url: ${{ needs.prepare.outputs.COMMUNITY_EXTENSION_VCPKG_URL}} | |
| vcpkg_commit: ${{ needs.prepare.outputs.COMMUNITY_EXTENSION_VCPKG_COMMIT}} | |
| skip_tests: ${{ inputs.skip_tests || false }} | |
| save_cache: ${{ needs.prepare.outputs.COMMUNITY_EXTENSION_NAME == 'quack' && github.event_name != 'pull_request' }} | |
| doc_test: | |
| if: ${{ inputs.deploy != 'false' }} | |
| needs: | |
| - prepare | |
| - build | |
| uses: ./.github/workflows/generate_docs.yml | |
| with: | |
| extension_name: ${{ needs.prepare.outputs.COMMUNITY_EXTENSION_NAME }} | |
| duckdb_version: ${{ inputs.duckdb_version || 'v1.3.2' }} | |
| archive: | |
| needs: | |
| - doc_test | |
| - prepare | |
| - build | |
| uses: ./.github/workflows/_extension_archive.yml | |
| if: ${{ (github.head_ref || github.ref_name) == 'main' }} | |
| secrets: inherit | |
| with: | |
| extension_name: ${{ needs.prepare.outputs.COMMUNITY_EXTENSION_NAME }} | |
| repository: ${{ needs.prepare.outputs.COMMUNITY_EXTENSION_GITHUB }} | |
| ref: ${{ needs.prepare.outputs.COMMUNITY_EXTENSION_REF }} | |
| deploy: | |
| needs: | |
| - prepare | |
| - build | |
| uses: ./.github/workflows/_extension_deploy.yml | |
| if: ${{ needs.prepare.outputs.COMMUNITY_EXTENSION_DEPLOY != '' }} | |
| secrets: inherit | |
| with: | |
| deploy_latest: true | |
| duckdb_version: ${{ inputs.duckdb_version || 'v1.3.2' }} | |
| exclude_archs: ${{ needs.prepare.outputs.COMMUNITY_EXTENSION_EXCLUDE_PLATFORMS }} | |
| extension_name: ${{ needs.prepare.outputs.COMMUNITY_EXTENSION_NAME }} | |
| repository: ${{ needs.prepare.outputs.COMMUNITY_EXTENSION_GITHUB }} | |
| ref: ${{ needs.prepare.outputs.COMMUNITY_EXTENSION_REF }} |