Skip to content

Crossbow

Crossbow #272309

Workflow file for this run

# 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.
# NOTE: must set "Crossbow" as name to have the badge links working in the
# github comment reports!
name: Crossbow
on:
push:
branches:
- "*-github-*"
env:
ARCHERY_DEBUG: 1
jobs:
test-vcpkg-win:
name: Install build deps with vcpkg and build Arrow C++
runs-on: windows-2019
env:
VCPKG_BINARY_SOURCES: 'clear;nuget,GitHub,readwrite'
steps:
- name: Checkout Arrow
uses: actions/checkout@v4
with:
fetch-depth: 1
path: arrow
repository: apache/arrow
ref: b153791f217ee1725b551d894fa9d43ca613992e
submodules: recursive
# 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 amd64 windows 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