amoeba commented on code in PR #49603:
URL: https://github.com/apache/arrow/pull/49603#discussion_r3018912646
##########
.github/workflows/cpp_extra.yml:
##########
@@ -622,6 +575,125 @@ jobs:
Write-Error "ODBC DLL not found"
exit 1
+ odbc-msvc-upload-dll:
+ needs: check-labels
+ name: ODBC Windows Upload Unsigned DLL
+ runs-on: windows-2022
+ if: inputs.odbc_upload == 'dll'
+ timeout-minutes: 240
+ permissions:
+ packages: write
+ env: *odbc_msvc_env
+ steps:
+ - name: Checkout Arrow
+ uses: actions/checkout@v6
+ with:
+ fetch-depth: 0
+ submodules: recursive
+ - name: Build ODBC Windows
+ uses: ./.github/actions/odbc-windows
+ with:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ - name: Name Unsigned ODBC DLL
+ run: |
+ Rename-Item `
+ -Path build/cpp/${{ env.ARROW_BUILD_TYPE
}}/arrow_flight_sql_odbc.dll `
+ -NewName arrow_flight_sql_odbc_unsigned.dll
+ - name: Upload ODBC DLL to the job
+ uses: actions/upload-artifact@v7
+ with:
+ name: flight-sql-odbc-dll
+ path: build/cpp/${{ env.ARROW_BUILD_TYPE
}}/arrow_flight_sql_odbc_unsigned.dll
+ if-no-files-found: error
+
+ odbc-dll-release:
+ needs: odbc-msvc-upload-dll
+ name: Upload Unsigned ODBC DLL
+ runs-on: ubuntu-latest
+ permissions:
+ # Upload to GitHub Release
+ contents: write
+ steps:
+ - name: Checkout Arrow
+ uses: actions/checkout@v6
+ with:
+ fetch-depth: 0
+ submodules: recursive
+ - name: Download the artifacts
+ uses: actions/download-artifact@v8
+ with:
+ name: flight-sql-odbc-dll
+ - name: Wait for creating GitHub Release
+ env:
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ run: |
+ dev/release/utils-watch-gh-workflow.sh \
+ ${GITHUB_REF_NAME} \
+ release_candidate.yml
+ - name: Upload the artifacts to GitHub Release
+ env:
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ run: |
+ gh release upload ${GITHUB_REF_NAME} \
+ --clobber \
+ arrow_flight_sql_odbc_unsigned.dll
+
+ odbc-msvc-upload-msi:
+ needs: check-labels
+ name: ODBC Windows Upload Unsigned MSI
+ runs-on: windows-2022
+ if: inputs.odbc_upload == 'msi'
+ timeout-minutes: 240
+ permissions:
+ # Upload to GitHub Release
+ contents: write
+ packages: write
+ env: *odbc_msvc_env
+ steps:
+ - name: Checkout Arrow
+ uses: actions/checkout@v6
+ with:
+ fetch-depth: 0
+ submodules: recursive
+ - name: Download signed ODBC DLL
+ env:
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ run: |
+ gh release download $env:GITHUB_REF_NAME `
+ --pattern arrow_flight_sql_odbc.dll `
+ --clobber
+ - name: Build ODBC Windows
Review Comment:
Did you have any luck figuring out how to extract just the minimum set of
files cpack needs to build the MSI? I see this job is rebuilding everything
from scratch so we're building the ODBC driver twice. If it's not possible
that's fine, and if we want to work on removing the extra full-build in a
follow-up that's fine.
##########
.github/workflows/cpp_extra.yml:
##########
@@ -622,6 +575,125 @@ jobs:
Write-Error "ODBC DLL not found"
exit 1
+ odbc-msvc-upload-dll:
+ needs: check-labels
+ name: ODBC Windows Upload Unsigned DLL
+ runs-on: windows-2022
+ if: inputs.odbc_upload == 'dll'
+ timeout-minutes: 240
+ permissions:
+ packages: write
+ env: *odbc_msvc_env
+ steps:
+ - name: Checkout Arrow
+ uses: actions/checkout@v6
+ with:
+ fetch-depth: 0
+ submodules: recursive
+ - name: Build ODBC Windows
+ uses: ./.github/actions/odbc-windows
+ with:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ - name: Name Unsigned ODBC DLL
+ run: |
+ Rename-Item `
+ -Path build/cpp/${{ env.ARROW_BUILD_TYPE
}}/arrow_flight_sql_odbc.dll `
+ -NewName arrow_flight_sql_odbc_unsigned.dll
+ - name: Upload ODBC DLL to the job
+ uses: actions/upload-artifact@v7
+ with:
+ name: flight-sql-odbc-dll
+ path: build/cpp/${{ env.ARROW_BUILD_TYPE
}}/arrow_flight_sql_odbc_unsigned.dll
+ if-no-files-found: error
+
+ odbc-dll-release:
+ needs: odbc-msvc-upload-dll
+ name: Upload Unsigned ODBC DLL
+ runs-on: ubuntu-latest
+ permissions:
+ # Upload to GitHub Release
+ contents: write
+ steps:
+ - name: Checkout Arrow
+ uses: actions/checkout@v6
+ with:
+ fetch-depth: 0
+ submodules: recursive
+ - name: Download the artifacts
+ uses: actions/download-artifact@v8
+ with:
+ name: flight-sql-odbc-dll
+ - name: Wait for creating GitHub Release
+ env:
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ run: |
+ dev/release/utils-watch-gh-workflow.sh \
+ ${GITHUB_REF_NAME} \
+ release_candidate.yml
+ - name: Upload the artifacts to GitHub Release
+ env:
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ run: |
+ gh release upload ${GITHUB_REF_NAME} \
+ --clobber \
+ arrow_flight_sql_odbc_unsigned.dll
+
+ odbc-msvc-upload-msi:
+ needs: check-labels
+ name: ODBC Windows Upload Unsigned MSI
Review Comment:
```suggestion
name: ODBC Windows Build & Upload Unsigned MSI
```
##########
.github/workflows/cpp_extra.yml:
##########
@@ -73,6 +73,16 @@ on:
schedule:
- cron: |
0 0 * * *
+ workflow_dispatch:
+ inputs:
+ odbc_upload:
+ description: 'ODBC Component Upload'
Review Comment:
```suggestion
description: 'Which ODBC release step to run'
```
##########
.github/workflows/cpp_extra.yml:
##########
@@ -668,39 +740,6 @@ jobs:
remote_key: ${{ secrets.NIGHTLIES_RSYNC_KEY }}
remote_host_key: ${{ secrets.NIGHTLIES_RSYNC_HOST_KEY }}
- odbc-release:
Review Comment:
Could we automatically build and upload the unsigned DLL when we tag a
release? I think it could speed things up for the release managers. It looks
like the way you have it here, the release manager has to manually run
`odbc-msvc-upload-dll`. Is that just because of the renaming step?
##########
.github/workflows/cpp_extra.yml:
##########
@@ -622,6 +575,125 @@ jobs:
Write-Error "ODBC DLL not found"
exit 1
+ odbc-msvc-upload-dll:
+ needs: check-labels
+ name: ODBC Windows Upload Unsigned DLL
+ runs-on: windows-2022
+ if: inputs.odbc_upload == 'dll'
+ timeout-minutes: 240
+ permissions:
+ packages: write
+ env: *odbc_msvc_env
+ steps:
+ - name: Checkout Arrow
+ uses: actions/checkout@v6
+ with:
+ fetch-depth: 0
+ submodules: recursive
+ - name: Build ODBC Windows
+ uses: ./.github/actions/odbc-windows
+ with:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ - name: Name Unsigned ODBC DLL
Review Comment:
```suggestion
- name: Rename Unsigned ODBC DLL
```
##########
.github/workflows/cpp_extra.yml:
##########
@@ -73,6 +73,16 @@ on:
schedule:
- cron: |
0 0 * * *
+ workflow_dispatch:
+ inputs:
+ odbc_upload:
Review Comment:
Just a suggestion, this seems clearer as to the intent:
```suggestion
odbc_release_step:
```
##########
.github/workflows/cpp_extra.yml:
##########
@@ -622,6 +575,125 @@ jobs:
Write-Error "ODBC DLL not found"
exit 1
+ odbc-msvc-upload-dll:
+ needs: check-labels
+ name: ODBC Windows Upload Unsigned DLL
+ runs-on: windows-2022
+ if: inputs.odbc_upload == 'dll'
+ timeout-minutes: 240
+ permissions:
+ packages: write
+ env: *odbc_msvc_env
+ steps:
+ - name: Checkout Arrow
+ uses: actions/checkout@v6
+ with:
+ fetch-depth: 0
+ submodules: recursive
+ - name: Build ODBC Windows
+ uses: ./.github/actions/odbc-windows
+ with:
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ - name: Name Unsigned ODBC DLL
+ run: |
+ Rename-Item `
+ -Path build/cpp/${{ env.ARROW_BUILD_TYPE
}}/arrow_flight_sql_odbc.dll `
+ -NewName arrow_flight_sql_odbc_unsigned.dll
+ - name: Upload ODBC DLL to the job
+ uses: actions/upload-artifact@v7
+ with:
+ name: flight-sql-odbc-dll
+ path: build/cpp/${{ env.ARROW_BUILD_TYPE
}}/arrow_flight_sql_odbc_unsigned.dll
+ if-no-files-found: error
+
+ odbc-dll-release:
+ needs: odbc-msvc-upload-dll
+ name: Upload Unsigned ODBC DLL
+ runs-on: ubuntu-latest
+ permissions:
+ # Upload to GitHub Release
+ contents: write
+ steps:
+ - name: Checkout Arrow
+ uses: actions/checkout@v6
+ with:
+ fetch-depth: 0
+ submodules: recursive
+ - name: Download the artifacts
+ uses: actions/download-artifact@v8
+ with:
+ name: flight-sql-odbc-dll
+ - name: Wait for creating GitHub Release
+ env:
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ run: |
+ dev/release/utils-watch-gh-workflow.sh \
+ ${GITHUB_REF_NAME} \
+ release_candidate.yml
+ - name: Upload the artifacts to GitHub Release
+ env:
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ run: |
+ gh release upload ${GITHUB_REF_NAME} \
+ --clobber \
+ arrow_flight_sql_odbc_unsigned.dll
+
+ odbc-msvc-upload-msi:
+ needs: check-labels
+ name: ODBC Windows Upload Unsigned MSI
+ runs-on: windows-2022
+ if: inputs.odbc_upload == 'msi'
Review Comment:
```suggestion
if: inputs.odbc_release_step == 'msi'
```
##########
.github/workflows/cpp_extra.yml:
##########
@@ -622,6 +575,125 @@ jobs:
Write-Error "ODBC DLL not found"
exit 1
+ odbc-msvc-upload-dll:
+ needs: check-labels
+ name: ODBC Windows Upload Unsigned DLL
+ runs-on: windows-2022
+ if: inputs.odbc_upload == 'dll'
Review Comment:
```suggestion
if: inputs.odbc_release_step == 'dll'
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]