diff --git a/.github/workflows/on_external_dispatch.yml b/.github/workflows/on_external_dispatch.yml index 3604ce34..46252f0d 100644 --- a/.github/workflows/on_external_dispatch.yml +++ b/.github/workflows/on_external_dispatch.yml @@ -10,9 +10,9 @@ on: type: string description: Force version (vX.Y.Z-((rc|post)N)) required: false - publish_to_pypi: + publish_packages: type: boolean - description: Publish packages to PyPI? + description: Publish packages on S3 and PyPI? required: true default: false @@ -26,3 +26,32 @@ jobs: git_ref: ${{ github.ref }} duckdb_git_ref: ${{ inputs.duckdb-sha }} force_version: ${{ inputs.force_version }} + + upload_to_staging: + name: Upload Artifacts to staging + runs-on: ubuntu-latest + needs: [ externally_triggered_build ] + if: ${{ github.repository_owner == 'duckdb' && inputs.publish_packages }} + steps: + - name: Fetch artifacts + uses: actions/download-artifact@v4 + with: + pattern: '{sdist,wheel}*' + path: artifacts/ + merge-multiple: true + + - name: Authenticate with AWS + uses: aws-actions/configure-aws-credentials@v4 + with: + aws-region: 'us-east-2' + aws-access-key-id: ${{ secrets.S3_DUCKDB_STAGING_ID }} + aws-secret-access-key: ${{ secrets.S3_DUCKDB_STAGING_KEY }} + + - name: Upload artifacts to S3 bucket + shell: bash + run: | + DUCKDB_SHA="${{ inputs.duckdb-sha }}" + aws s3 cp \ + artifacts \ + s3://duckdb-staging/${DUCKDB_SHA:0:7}/${{ github.repository }}/ \ + --recursive diff --git a/.github/workflows/pypi_packaging.yml b/.github/workflows/pypi_packaging.yml index ef4f527a..84016645 100644 --- a/.github/workflows/pypi_packaging.yml +++ b/.github/workflows/pypi_packaging.yml @@ -114,8 +114,9 @@ jobs: - uses: actions/upload-artifact@v4 with: - name: sdist-main + name: sdist path: dist/*.tar.gz + compression-level: 0 build_wheels: name: 'Wheel: ${{ matrix.python }}-${{ matrix.platform.cibw_system }}_${{ matrix.platform.arch }}' @@ -186,3 +187,4 @@ jobs: with: name: wheel-${{ matrix.python }}-${{ matrix.platform.cibw_system }}_${{ matrix.platform.arch }} path: wheelhouse/*.whl + compression-level: 0