kou commented on code in PR #47282:
URL: https://github.com/apache/arrow/pull/47282#discussion_r2264567627


##########
.github/workflows/cpp_extra.yml:
##########
@@ -166,3 +166,73 @@ jobs:
           ARCHERY_DOCKER_PASSWORD: ${{ secrets.DOCKERHUB_TOKEN }}
         continue-on-error: true
         run: archery docker push ${{ matrix.image }}
+
+  meson-windows:
+    needs: check-labels
+    name: ${{ matrix.title }}
+    runs-on: ${{ matrix.runs-on }}
+    if: needs.check-labels.outputs.ci-extra == 'true'
+    timeout-minutes: 75
+    strategy:
+      fail-fast: false
+      matrix:
+        include:
+            - runs-on: windows-2022
+              title: AMD64 Windows Meson 
+    steps:
+      - name: Checkout Arrow
+        uses: actions/checkout@v4
+        with:
+          fetch-depth: 0
+          submodules: recursive
+      - name: Download Timezone Database
+        shell: bash
+        run: ci/scripts/download_tz_database.sh
+      - name: Install ccache
+        shell: bash
+        run: |
+          ci/scripts/install_ccache.sh 4.6.3 /usr
+      - name: Setup ccache
+        shell: bash
+        run: |
+          ci/scripts/ccache_setup.sh
+      - name: ccache info
+        id: ccache-info
+        shell: bash
+        run: |
+          echo "cache-dir=$(ccache --get-config cache_dir)" >> $GITHUB_OUTPUT
+      - name: Cache ccache
+        uses: actions/cache@v4
+        with:
+          path: ${{ steps.ccache-info.outputs.cache-dir }}
+          key: cpp-ccache-windows-meson-${{ env.CACHE_VERSION }}-${{ 
hashFiles('cpp/**') }}
+          restore-keys: cpp-ccache-windows-meson-${{ env.CACHE_VERSION }}-
+        env:
+          # We can invalidate the current cache by updating this.
+          CACHE_VERSION: "2022-09-13"
+      - name: Setup Python
+        uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # 
v5.6.0
+        with:
+          python-version: 3
+      - name: Install Meson
+        run: |
+          python3 -m pip install meson
+      - name: Build
+        shell: cmd
+        env:
+          ARROW_USE_MESON: ON
+          ARROW_HOME: C:\arrow-dist
+        run: |
+          echo %PATH%
+          call "C:\Program Files\Microsoft Visual 
Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64
+          echo %PATH%
+          dir "C:\Program Files\Microsoft Visual 
Studio\2022\Enterprise\VC\Tools\MSVC\14.44.35207\bin\HostX64\x64"
+          bash -c "ci/scripts/cpp_build.sh $(pwd) $(pwd)/build ${{ 
matrix.run-options || '' }}"

Review Comment:
   How about trying `meson setup --vsenv` instead of calling `vcvarsall.bat` 
manually?
   
   https://mesonbuild.com/Using-with-Visual-Studio.html
   
   > If no Visual Studio Command Prompt was detected, and no mingw compilers 
are detected either, meson will attempt to find "a" Visual Studio installation 
for you automatically, by asking Microsoft's "vswhere" program. If you want to 
ignore mingw compilers, pass the --vsenv option on the meson command line. If 
you need to guarantee a specific Visual Studio version, set it up manually.



-- 
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: github-unsubscr...@arrow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to