mirror of
https://github.com/XRPLF/rippled.git
synced 2026-04-29 15:37:57 +00:00
- Update container for Doxygen workflow. Matches Linux workflow, with newer GLIBC version required by newer actions. - Fixes macOS workflow to install and configure Conan correctly. Still fails on tests, but that does not seem attributable to the workflow.
81 lines
2.6 KiB
YAML
81 lines
2.6 KiB
YAML
name: windows
|
|
|
|
on: [push, pull_request]
|
|
|
|
# https://docs.github.com/en/actions/using-jobs/using-concurrency
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
|
|
test:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
generator:
|
|
- Visual Studio 16 2019
|
|
configuration:
|
|
- Release
|
|
# Github hosted runners tend to hang when running Debug unit tests.
|
|
# Instead of trying to work around it, disable the Debug job until
|
|
# something beefier (i.e. a heavy self-hosted runner) becomes
|
|
# available.
|
|
# - Debug
|
|
runs-on: windows-2019
|
|
env:
|
|
build_dir: .build
|
|
steps:
|
|
- name: checkout
|
|
uses: actions/checkout@v4
|
|
- name: choose Python
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: 3.9
|
|
- name: learn Python cache directory
|
|
id: pip-cache
|
|
shell: bash
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
echo "dir=$(pip cache dir)" | tee ${GITHUB_OUTPUT}
|
|
- name: restore Python cache directory
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: ${{ steps.pip-cache.outputs.dir }}
|
|
key: ${{ runner.os }}-${{ hashFiles('.github/workflows/windows.yml') }}
|
|
- name: install Conan
|
|
run: pip install wheel 'conan<2'
|
|
- name: check environment
|
|
run: |
|
|
dir env:
|
|
$env:PATH -split ';'
|
|
python --version
|
|
conan --version
|
|
cmake --version
|
|
- name: configure Conan
|
|
shell: bash
|
|
run: |
|
|
conan profile new default --detect
|
|
conan profile update settings.compiler.cppstd=20 default
|
|
conan profile update settings.compiler.runtime=MT${{ matrix.configuration == 'Debug' && 'd' || '' }} default
|
|
- name: build dependencies
|
|
uses: ./.github/actions/dependencies
|
|
env:
|
|
CONAN_URL: http://18.143.149.228:8081/artifactory/api/conan/conan-non-prod
|
|
CONAN_LOGIN_USERNAME_RIPPLE: ${{ secrets.CONAN_USERNAME }}
|
|
CONAN_PASSWORD_RIPPLE: ${{ secrets.CONAN_TOKEN }}
|
|
with:
|
|
configuration: ${{ matrix.configuration }}
|
|
- name: build
|
|
uses: ./.github/actions/build
|
|
with:
|
|
generator: '${{ matrix.generator }}'
|
|
configuration: ${{ matrix.configuration }}
|
|
# Hard code for now. Move to the matrix if varied options are needed
|
|
cmake-args: '-Dassert=ON -Dreporting=OFF -Dunity=ON'
|
|
cmake-target: install
|
|
- name: test
|
|
shell: bash
|
|
run: |
|
|
${build_dir}/${{ matrix.configuration }}/rippled --unittest --unittest-jobs $(nproc)
|