1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
{% import 'macros.jinja' as macros with context %}
{{ macros.github_header() }}
jobs:
test-vcpkg-win:
name: Install build deps with vcpkg and build Arrow C++
runs-on: windows-2022
env:
VCPKG_BINARY_SOURCES: 'clear;nuget,GitHub,readwrite'
VCPKG_DEFAULT_TRIPLET: 'x64-windows'
steps:
{{ macros.github_checkout_arrow()|indent }}
# CMake 3.29.1 that is pre-installed on the Windows image has a problem.
# See also: https://github.com/microsoft/vcpkg/issues/37968
- name: Install CMake 3.29.0
shell: bash
run: |
arrow/ci/scripts/install_cmake.sh 3.29.0 /c/cmake
echo "c:\\cmake\\bin" >> $GITHUB_PATH
- name: Download Timezone Database
shell: bash
run: arrow/ci/scripts/download_tz_database.sh
- name: Remove and Reinstall vcpkg
# When running vcpkg in GitHub Actions on Windows, remove the
# preinstalled vcpkg and install the newest version from source.
# Versions of vcpkg rapidly stop working until updated, and
# the safest and most reliable way to update vcpkg is simply
# to remove and reinstall it.
shell: cmd
run: |
CALL vcpkg integrate remove 2>NUL
CALL C:
CALL cd \
CALL rmdir /s /q vcpkg 2>NUL
CALL git clone https://github.com/microsoft/vcpkg.git vcpkg
CALL cd vcpkg
CALL bootstrap-vcpkg.bat -win64 -disableMetrics
CALL vcpkg integrate install
CALL setx PATH "%PATH%;C:\vcpkg"
- name: Setup NuGet Credentials
shell: bash
env:
GITHUB_TOKEN: {{ '${{ secrets.GITHUB_TOKEN }}' }}
run: |
`vcpkg fetch nuget | tail -n 1` \
sources add \
-source "https://nuget.pkg.github.com/$GITHUB_REPOSITORY_OWNER/index.json" \
-storepasswordincleartext \
-name "GitHub" \
-username "$GITHUB_REPOSITORY_OWNER" \
-password "$GITHUB_TOKEN" \
`vcpkg fetch nuget | tail -n 1` \
setapikey "$GITHUB_TOKEN" \
-source "https://nuget.pkg.github.com/$GITHUB_REPOSITORY_OWNER/index.json"
- name: Install Dependencies with vcpkg and Build Arrow C++
shell: cmd
run: |
CALL cd arrow
CALL dev\tasks\vcpkg-tests\cpp-build-vcpkg.bat
|