Files
FBX2glTF/.github/workflows/build.yaml
Alejandro González b60d28572c Assorted dependency updates
These updates fix building the project on my up to date Linux box due to
missing cstdint headers on the older Draco versions it was pinned to,
and bumps Conan 1.x to the latest semver-compatible release, which also
introduces support for newer GCC compilers.

While at it, I've also bumped the GitHub Actions checkout version tag to
v4, from v3, and the runner image versions. The Ubuntu runner version
was purposefully not updated to avoid the risk of making binaries less
portable than before due to a bump in the `glibc` version that the
compiler will link to.
2024-03-22 23:10:52 +01:00

294 lines
7.5 KiB
YAML

name: "Build FBX2glTF"
on:
pull_request:
branches:
- master
push:
branches:
- master
tags:
- "v*"
concurrency:
group: ci-${{github.actor}}-${{github.head_ref || github.run_number}}-${{github.ref}}-build
cancel-in-progress: true
jobs:
build-windows:
runs-on: windows-2022
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install conan
run: |
pip install --upgrade conan==1.63.0
shell: bash
- name: Setup conan profile
run: |
conan profile new default --detect
conan profile show default
shell: bash
- name: Setup filter.lfs.required
run: |
git config --global filter.lfs.required false
shell: bash
- name: Setup filter.lfs.smudge
run: |
git config --global filter.lfs.smudge "git-lfs smudge --skip %f"
shell: bash
- name: Setup filter.lfs.process
run: |
git config --global filter.lfs.process "git-lfs filter-process --skip"
shell: bash
- name: Fetch sdk
run: |
curl -O -L "https://github.com/V-Sekai/FBXSDK-Windows/archive/refs/tags/2020.2.zip"
shell: cmd
- name: install 7z extract
run: |
7z x 2020.2.zip
shell: cmd
- name: move
run: |
mkdir -p sdk
mv ./FBXSDK-Windows-2020.2/sdk .
shell: bash
- name: Decompress sdk
run: |
zstd -d -r --rm ./sdk || true
shell: bash
- name: Conan install
run: |
conan install . -i build -s build_type=Release -s compiler="Visual Studio" --build missing
shell: cmd
- name: Conan build
run: |
conan build -bf build .
shell: cmd
- name: Run FBX2glTF help
run: |
./build/Release/FBX2glTF.exe --help
shell: bash
- name: Prepare artifacts
run: |
export TARGET=FBX2glTF-windows-x86_64
mkdir $TARGET
cp sdk/Windows/2020.2/License.rtf $TARGET/FBX-SDK-License.rtf
cp LICENSE $TARGET/FBX2glTF-License.txt
cp build/Release/FBX2glTF.exe $TARGET/FBX2glTF-windows-x86_64.exe
7z a -r $TARGET.zip $TARGET
shell: bash
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: |
FBX2glTF-windows-x86_64.zip
FBX2glTF-windows-x86_64/FBX2glTF-License.txt
FBX2glTF-windows-x86_64/FBX-SDK-License.rtf
- name: FBX2glTF-windows-x86_64
uses: actions/upload-artifact@v3
with:
name: FBX2glTF-windows-x86_64
path: FBX2glTF-windows-x86_64/*
build-linux:
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install conan
run: |
pip install --upgrade conan==1.63.0
shell: bash
- name: Setup conan profile
run: |
conan profile new default --detect
conan profile show default
shell: bash
- name: Setup filter.lfs.required
run: |
git config --global filter.lfs.required false
shell: bash
- name: Setup filter.lfs.smudge
run: |
git config --global filter.lfs.smudge "git-lfs smudge --skip %f"
shell: bash
- name: Setup filter.lfs.process
run: |
git config --global filter.lfs.process "git-lfs filter-process --skip"
shell: bash
- name: Fetch sdk
run: |
curl -O -L "https://github.com/V-Sekai/FBXSDK-Linux/archive/refs/tags/2020.2.zip"
shell: bash
- name: install 7z extract
run: |
7z x 2020.2.zip
shell: bash
- name: move
run: |
mkdir -p sdk
mv ./FBXSDK-Linux-2020.2/sdk .
shell: bash
- name: Decompress sdk
run: |
zstd -d -r --rm ./sdk || true
shell: bash
- name: Conan install
run: |
conan install . -i build -s build_type=Release --build fmt -s compiler.libcxx=libstdc++11 --build missing
shell: bash
- name: Conan build
run: |
conan build -bf build .
shell: bash
- name: Run FBX2glTF help
run: |
./build/FBX2glTF --help
shell: bash
- name: Prepare artifacts
run: |
export TARGET=FBX2glTF-linux-x86_64
mkdir $TARGET
cp sdk/Linux/2020.2/License.txt $TARGET/FBX-SDK-License.txt
cp LICENSE $TARGET/FBX2glTF-License.txt
cp build/FBX2glTF $TARGET/FBX2glTF-linux-x86_64
7z a -r $TARGET.zip $TARGET
shell: bash
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: FBX2glTF-linux-x86_64.zip
- name: FBX2glTF-linux-x86_64
uses: actions/upload-artifact@v3
with:
name: FBX2glTF-linux-x86_64
path: FBX2glTF-linux-x86_64/*
build-macos:
runs-on: macos-13
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install conan
run: |
pip install --upgrade conan==1.63.0
shell: bash
- name: Setup conan profile
run: |
conan profile new default --detect
conan profile show default
shell: bash
- name: Setup filter.lfs.required
run: |
git config --global filter.lfs.required false
shell: bash
- name: Setup filter.lfs.smudge
run: |
git config --global filter.lfs.smudge "git-lfs smudge --skip %f"
shell: bash
- name: Setup filter.lfs.process
run: |
git config --global filter.lfs.process "git-lfs filter-process --skip"
shell: bash
- name: Fetch sdk
run: |
curl -O -L "https://github.com/V-Sekai/FBXSDK-Darwin/archive/refs/tags/2020.2.zip"
shell: bash
- name: install 7z extract
run: |
7z x 2020.2.zip
shell: bash
- name: move
run: |
mkdir -p sdk
mv ./FBXSDK-Darwin-2020.2/sdk .
shell: bash
- name: Decompress sdk
run: |
zstd -d -r --rm ./sdk || true
shell: bash
- name: Conan install
run: |
env CMAKE_OSX_ARCHITECTURES=x86_64 conan install . -i build -s build_type=Release --settings arch=x86_64 --build missing
shell: bash
- name: Conan build
run: |
env CMAKE_OSX_ARCHITECTURES=x86_64 conan build -bf build .
shell: bash
- name: Run FBX2glTF help
run: |
./build/FBX2glTF --help
shell: bash
- name: Adhoc signature
run: |
codesign -s - --options=runtime build/FBX2glTF
shell: bash
- name: Prepare artifacts
run: |
export TARGET=FBX2glTF-macos-x86_64
mkdir $TARGET
cp sdk/Darwin/2020.2/License.rtf $TARGET/FBX-SDK-License.rtf
cp LICENSE $TARGET/FBX2glTF-License.txt
cp build/FBX2glTF $TARGET/FBX2glTF-macos-x86_64
7z a -r $TARGET.zip $TARGET
shell: bash
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: FBX2glTF-macos-x86_64.zip
- name: FBX2glTF-macos-x86_64
uses: actions/upload-artifact@v3
with:
name: FBX2glTF-macos-x86_64
path: FBX2glTF-macos-x86_64/*