alinaliBQ opened a new pull request, #49603:
URL: https://github.com/apache/arrow/pull/49603

   ### Rationale for this change
   GH-49537
   
   ### What changes are included in this PR?
   - Implement Windows CIs to:
       1. CI A - `odbc-msvc-upload-dll` Upload unsigned DLL
       2. CI B - `odbc-msvc-upload-msi` Download signed DLL and upload unsigned 
MSI
   - Remove `odbc-release` CI that is replaced by the new CIs.
   - Use composite action to reuse code for building ODBC Windows.
   - The release manager can run CI A first, then download the unsigned DLL and 
upload signed DLL. Example Command to trigger CI A:
   ```
   gh workflow run cpp_extra.yml --ref apache-arrow-test-24.0.0-rc0 -f 
odbc_upload=dll
   ```
   - Run CI B to upload unsigned MSI. Then sign the MSI locally, and upload 
signed MSI to GitHub release. Example Command to trigger CI B:
   ```
   gh workflow run cpp_extra.yml --ref apache-arrow-test-24.0.0-rc0 -f 
odbc_upload=msi
   ```
   
   Example of `07-flightsqlodbc-upload.sh` script (not tested):
   We need to either implement a way to get `RUN_ID` or enter each command 
manually and wait for the CI to finish.
   ```
   export tag=apache-arrow-24.0.0-rc0 
   # trigger CI A
   gh workflow run cpp_extra.yml --ref $tag -f odbc_upload=dll
   
   # download unsigned DLL
   gh release download $tag --pattern arrow_flight_sql_odbc_unsigned.dll
   
   # sign ODBC DLL and upload to GitHub release
   jsign arrow_flight_sql_odbc_unsigned.dll ...
   mv arrow_flight_sql_odbc_unsigned.dll arrow_flight_sql_odbc.dll
   gh release upload $tag --clobber arrow_flight_sql_odbc.dll
   
   # trigger CI B
   gh workflow run cpp_extra.yml --ref $tag -f odbc_upload=msi
   
   # download unsigned MSI
   gh release download $tag --pattern Apache-Arrow-Flight-SQL-ODBC-*-win64.msi
   
   # sign ODBC MSI and upload to GitHub release
   jsign Apache-Arrow-Flight-SQL-ODBC-*-win64.msi ...
   gh release upload $tag --clobber Apache-Arrow-Flight-SQL-ODBC-*-win64.msi
   
   # remove ODBC DLLs from GitHub release
   gh release delete-asset $tag arrow_flight_sql_odbc_unsigned.dll --yes
   gh release delete-asset $tag arrow_flight_sql_odbc.dll --yes
   ```
   
   ### Are these changes tested?
   - The uploading and signing process is tested in my repo
   - Workflows are verified in CI
   
   ### Are there any user-facing changes?
   
   N/A


-- 
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]

Reply via email to