Skip to content

pyktx (Python bindings for libktx) #430

pyktx (Python bindings for libktx)

pyktx (Python bindings for libktx) #430

Workflow file for this run

# Copyright 2015-2020 The Khronos Group Inc.
# SPDX-License-Identifier: Apache-2.0
name: KTX-Software MingW CI
# Seems no way to avoid duplicating this on logic in each .yml file.
# See https://github.com/actions/starter-workflows/issues/245.
on:
# Trigger the workflow on a pull request,
pull_request:
push:
# And on pushes to main, which will occur when a PR is merged.
branches:
- main
# Also trigger on push of release tags to any branch. Useful
# for testing release builds before merging to main.
tags:
- 'v[0-9]+.[0-9]+.[0-9]+'
- 'v[0-9]+.[0-9]+.[0-9]+-*'
paths-ignore:
- .appveyor.yml
- .travis.yml
# Allow manual trigger
workflow_dispatch:
jobs:
mingw:
runs-on: windows-latest
defaults:
run:
shell: bash
env:
WERROR: ON
steps:
- uses: actions/checkout@v3
with:
# Fetch all history to make sure tags are
# included (used for version creation)
fetch-depth: 0
- name: GCC Version
run: gcc --version # If this fails MINGW is not setup correctly
- name: Force update provoking tag
# Work around https://github.com/actions/checkout/issues/290.
if: github.ref_type == 'tag'
run: git fetch -f origin ${{ github.ref }}:${{ github.ref }}
- name: Pull test images from Git LFS
run: git lfs pull --include=tests/srcimages,tests/testimages
- name: Fetch CTS Submodule
run: git submodule update --init --recursive tests/cts
- name: Install Ninja
run: choco install ninja --no-progress
- name: Configure Mingw x64
run: cmake -B build -G "Ninja Multi-Config" -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DKTX_FEATURE_TOOLS=TRUE -DKTX_FEATURE_TOOLS_CTS=TRUE -DKTX_WERROR=$WERROR
- name: Build Mingw x64 Debug
run: cmake --build build --config Debug
- name: Build Mingw x64 Release
run: cmake --build build --config Release
- name: Test Mingw build
run: ctest --output-on-failure --test-dir build -C Release
- name: Upload test log
shell: pwsh
if: ${{ failure() }}
run: ci_scripts/on_failure.ps1