-
Notifications
You must be signed in to change notification settings - Fork 102
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
15 changed files
with
92 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
name: "VcpkgPackage" | ||
|
||
# Tests that: | ||
# 1. the vcpkg package build successfully | ||
# - on all platforms | ||
# - for all rendering bindings (opengl3-binding, metal-binding, opengl3-binding, vulkan-binding, dx11-binding, dx12-binding) | ||
# - for all window backends (glfw-binding, sdl2-binding) | ||
# - with all optional dependencies (freetype, freetype-lunasvg) | ||
# 2. An app can be built with hello_imgui as a vcpkg package | ||
# (with all combinations of rendering bindings, window backends, optional dependencies) | ||
# 3. An app can be run | ||
# (only on selected backends and platforms) | ||
|
||
|
||
on: | ||
workflow_dispatch: | ||
pull_request: | ||
push: | ||
|
||
|
||
jobs: | ||
build: | ||
name: VcpkgPackage | ||
runs-on: ${{ matrix.config.os }} | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
config: | ||
- os: ubuntu-latest | ||
vcpkg_triplet: x64-linux-release | ||
- os: macos-latest | ||
vcpkg_triplet: x64-osx-release | ||
- os: windows-latest | ||
vcpkg_triplet: x64-windows-release | ||
|
||
|
||
steps: | ||
- name: install glfw & sdl requirements | ||
if : ${{ matrix.config.os == 'ubuntu-latest' }} | ||
shell: bash | ||
run: | | ||
sudo apt-get update && sudo apt-get install -y libxinerama-dev libxcursor-dev xorg-dev libglu1-mesa-dev pkg-config libx11-dev libxft-dev libxext-dev | ||
- name: vcpkg install | ||
uses: johnwason/vcpkg-action@v6 | ||
id: vcpkg | ||
with: | ||
pkgs: 'nlohmann-json' # unrelated package, just to make the action happy | ||
triplet: ${{ matrix.config.vcpkg_triplet }} | ||
cache-key: ${{ matrix.config.os }} | ||
revision: master | ||
token: ${{ github.token }} | ||
github-binarycache: true | ||
|
||
- uses: actions/checkout@v4 | ||
with: | ||
submodules: false | ||
|
||
# | ||
# Install utilities to be able to run a graphical OpenGL application | ||
# | ||
- name: Ubuntu - Install & Start Xvfb | ||
if: ${{ matrix.platform == 'ubuntu-latest' }} | ||
run: | | ||
sudo apt-get install -y xvfb | ||
- name: Windows - install mesa OpenGL software renderer | ||
shell: bash | ||
if: ${{ matrix.config.os == 'windows-latest' }} | ||
run: | | ||
# Download the archive | ||
curl -L -O https://github.com/pal1000/mesa-dist-win/releases/download/23.1.9/mesa3d-23.1.9-release-msvc.7z | ||
# Extract the archive using 7-zip which is preinstalled on the GitHub Actions Windows runner | ||
7z x mesa3d-23.1.9-release-msvc.7z -omesa3d | ||
# - name: Setup interactive tmate session | ||
# uses: mxschmitt/action-tmate@v3 | ||
|
||
# Run the test | ||
- name: run test | ||
shell: bash | ||
run: | | ||
export VCPKG_ROOT=$VCPKG_INSTALLATION_ROOT | ||
cd .github/ci_vcpkg_package_tests | ||
python run_ci_vcpkg_package_tests.py |
File renamed without changes.
File renamed without changes.
File renamed without changes.