Skip to content

Add Sampling Length to Experimental panel (#1147) (#1812) #3213

Add Sampling Length to Experimental panel (#1147) (#1812)

Add Sampling Length to Experimental panel (#1147) (#1812) #3213

Workflow file for this run

name: Windows Build
on: [push, pull_request]
env:
BUILD_TYPE: Release
MSVC_VERSION: 2019
QT_VERSION: 5.15.2
PYTHON_VERSION: 3.7
VCPKG_VERSION: 2023.11.20
VCPKG_INSTALL_OPTIONS: --binarysource=clear
VCPKG_BUILD_TYPE: release
VCPKG_PACKAGES: freetype;harfbuzz
defaults:
run:
shell: bash
jobs:
build:
runs-on: windows-2019
steps:
- uses: actions/checkout@v2
with:
# We need to fetch more than one commit to get the correct build name
fetch-depth: 100
submodules: 'recursive'
- name: Print git log
run: git log
# In case of a push event, the commit we care about is simply HEAD.
# The current branch name can be found by parsing GITHUB_REF, for example,
# if we are on the master branch, then GITHUB_REF = refs/heads/master.
- name: Get commit branch and commit message
if: github.event_name == 'push'
run: |
echo "COMMIT_BRANCH=$(echo ${GITHUB_REF##*/})" >> $GITHUB_ENV
echo "COMMIT_MESSAGE<<EOF" >> $GITHUB_ENV
echo "$(git log --format=%B -n 1 HEAD)" >> $GITHUB_ENV
echo "EOF" >> $GITHUB_ENV
# In case of a pull_request event, the commit we care about is HEAD^2, that
# is, the second parent of the pull request merge commit.
# The current branch name is directly given by GITHUB_HEAD_REF
- name: Get commit branch and commit message
if: github.event_name == 'pull_request'
run: |
echo "COMMIT_BRANCH=$GITHUB_HEAD_REF" >> $GITHUB_ENV
echo "COMMIT_MESSAGE<<EOF" >> $GITHUB_ENV
echo "$(git log --format=%B -n 1 HEAD^2)" >> $GITHUB_ENV
echo "EOF" >> $GITHUB_ENV
# https://docs.github.com/en/free-pro-team@latest/actions/reference/environment-variables
- name: Print useful environment variables
if:
run: |
echo "GITHUB_WORKFLOW: $GITHUB_WORKFLOW"
echo "GITHUB_RUN_ID: $GITHUB_RUN_ID"
echo "GITHUB_RUN_NUMBER: $GITHUB_RUN_NUMBER"
echo "GITHUB_ACTION: $GITHUB_ACTION"
echo "GITHUB_ACTIONS: $GITHUB_ACTIONS"
echo "GITHUB_ACTOR: $GITHUB_ACTOR"
echo "GITHUB_REPOSITORY: $GITHUB_REPOSITORY"
echo "GITHUB_EVENT_NAME: $GITHUB_EVENT_NAME"
echo "GITHUB_EVENT_PATH: $GITHUB_EVENT_PATH"
echo "GITHUB_WORKSPACE: $GITHUB_WORKSPACE"
echo "GITHUB_SHA: $GITHUB_SHA"
echo "GITHUB_REF: $GITHUB_REF"
echo "GITHUB_HEAD_REF: $GITHUB_HEAD_REF"
echo "GITHUB_BASE_REF: $GITHUB_BASE_REF"
echo "GITHUB_SERVER_URL: $GITHUB_SERVER_URL"
echo "GITHUB_API_URL: $GITHUB_API_URL"
echo "GITHUB_GRAPHQL_URL: $GITHUB_GRAPHQL_URL"
echo "COMMIT_BRANCH: $COMMIT_BRANCH"
echo "COMMIT_MESSAGE: $COMMIT_MESSAGE"
echo "WIX: $WIX"
- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: ${{env.PYTHON_VERSION}}
architecture: 'x64'
- name: Install Qt
working-directory: ${{github.workspace}}/..
shell: pwsh
run: |
$url = "https://vgcci.blob.core.windows.net/vgc-ci"
$dirname = "qt-${env:QT_VERSION}-msvc${env:MSVC_VERSION}_64"
$filename = "$dirname.zip"
C:/msys64/usr/bin/wget.exe --progress=dot:giga "$url/$filename"
echo "Unzipping..."
unzip -q $filename -d .
echo "Done."
echo "Qt5Location=$pwd/$dirname" >> ${env:GITHUB_ENV}
- name: Configure vckpg
working-directory: ${{github.workspace}}
run: |
PARENT="${{github.workspace}}"
echo "VCPKG_ROOT_PARENT=$PARENT" >> $GITHUB_ENV
echo "VCPKG_ROOT=$PARENT/vcpkg" >> $GITHUB_ENV
echo "VCPKG_TOOLCHAIN_FILE=$PARENT/vcpkg/scripts/buildsystems/vcpkg.cmake" >> $GITHUB_ENV
echo "VCPKG_OVERLAY_TRIPLETS=$PARENT/vcpkg/custom-triplets" >> $GITHUB_ENV
echo "VCPKG_DEFAULT_TRIPLET=x64-windows-rel" >> $GITHUB_ENV
- name: Cache vcpkg
id: cache-vcpkg
uses: actions/cache@v3
with:
path: ${{env.VCPKG_ROOT}}
key: vcpkg=${{env.VCPKG_VERSION}} triplet=${{env.VCPKG_DEFAULT_TRIPLET}} msvc=${{env.MSVC_VERSION}} packages=${{env.VCPKG_PACKAGES}}
# Note: This must be done in a `cmd` shell to properly execute the bootstrap-vcpkg.bat script
- if: ${{ steps.cache-vcpkg.outputs.cache-hit != 'true' }}
name: Install vcpkg
shell: cmd
working-directory: ${{env.VCPKG_ROOT_PARENT}}
run: |
git clone --depth=1 --branch %VCPKG_VERSION% https://github.com/microsoft/vcpkg.git
cd vcpkg
.\bootstrap-vcpkg.bat
- if: ${{ steps.cache-vcpkg.outputs.cache-hit != 'true' }}
name: Install vcpkg packages
working-directory: ${{env.VCPKG_ROOT}}
run: |
# Delete manifest file, otherwise, we cannot manually install packages
rm "${{github.workspace}}/vcpkg.json"
# Create custom triplet that only compile binaries with the given VCPKG_BUILD_TYPE
mkdir "$VCPKG_OVERLAY_TRIPLETS"
TRIPLET_FILE="$VCPKG_OVERLAY_TRIPLETS/$VCPKG_DEFAULT_TRIPLET.cmake"
cp triplets/x64-windows.cmake "$TRIPLET_FILE"
echo "set(VCPKG_BUILD_TYPE $VCPKG_BUILD_TYPE)" >> "$TRIPLET_FILE"
# Install packages
# Note: "IFS" = Input Field Separators. Makes it possible to interpret ';' as argument separator.
# We surround the command by parentheses so that IFS is only redefined in a subshell.
(IFS=';'; ./vcpkg.exe \
--vcpkg-root="$VCPKG_ROOT" \
--overlay-triplets="$VCPKG_OVERLAY_TRIPLETS" \
--triplet="$VCPKG_DEFAULT_TRIPLET" \
$VCPKG_INSTALL_OPTIONS \
install $VCPKG_PACKAGES)
- name: Setup Developer Command Prompt for VS
uses: ilammy/msvc-dev-cmd@v1
# For documentation on what vcpkg options can be given to CMake, see:
# https://vcpkg.io/en/docs/users/buildsystems/cmake-integration.html
#
# Examples:
# - -DVCPKG_INSTALL_OPTIONS="--debug;--binarysource=clear"
# - -DVCPKG_INSTALLED_DIR="$VCPKG_ROOT/installed"
# - -DVCPKG_MANIFEST_MODE=OFF
#
- name: Configure
working-directory: ${{github.workspace}}
run: |
mkdir build
cd build
cmake --version
cmake .. \
-G Ninja \
-DCMAKE_BUILD_TYPE="$BUILD_TYPE" \
-DCMAKE_TOOLCHAIN_FILE="$VCPKG_TOOLCHAIN_FILE" \
-DVCPKG_TARGET_TRIPLET="$VCPKG_DEFAULT_TRIPLET" \
-DVCPKG_MANIFEST_MODE=OFF \
-DVGC_COMMIT_BRANCH="$COMMIT_BRANCH" \
-DPython_ROOT_DIR="$pythonLocation" \
-DQt5_DIR="$Qt5Location/lib/cmake/Qt5" \
-DWiX="$WIX" \
-DVGC_PEDANTIC=ON \
-DVGC_WERROR=ON
- name: Build
working-directory: ${{github.workspace}}/build
run: cmake --build .
- name: Test
working-directory: ${{github.workspace}}/build
run: cmake --build . --target check
- name: Deploy
working-directory: ${{github.workspace}}/build
env:
VGC_GITHUB_KEY: ${{secrets.VGC_GITHUB_KEY}}
AZURE_EV_KEY_VAULT_URI: ${{secrets.AZURE_EV_KEY_VAULT_URI}}
AZURE_EV_CLIENT_ID: ${{secrets.AZURE_EV_CLIENT_ID}}
AZURE_EV_TENANT_ID: ${{secrets.AZURE_EV_TENANT_ID}}
AZURE_EV_CLIENT_SECRET: ${{secrets.AZURE_EV_CLIENT_SECRET}}
AZURE_EV_CERT_NAME: ${{secrets.AZURE_EV_CERT_NAME}}
run: |
[ ! -z "$AZURE_EV_KEY_VAULT_URI" ] && dotnet tool install --global AzureSignTool --version 4.0.1
cmake --build . --target deploy