FBX2glTF/.github/workflows/build.yaml

327 lines
7.9 KiB
YAML

name: "Build FBX2GLTF"
on:
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-win-10:
runs-on: windows-2019
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install conan
run: |
pip install --upgrade conan
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 . --build=missing -i build -s build_type=Release -s compiler="Visual Studio"
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: Copy licenses
run: |
mkdir -p result
cp sdk/Windows/2020.2/License.rtf thirdparty-license.rtf
cp build/Release/FBX2glTF.exe FBX2glTF.exe
shell: bash
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: |
thirdparty-license.rtf
LICENSE
FBX2glTF.exe
- name: FBX2glTF.exe
uses: actions/upload-artifact@v3
with:
name: FBX2glTF.exe
path: FBX2glTF.exe
- name: thirdparty-license.rtf
uses: actions/upload-artifact@v3
with:
name: thirdparty-license.rtf
path: thirdparty-license.rtf
- name: Archive results
uses: actions/upload-artifact@v3
with:
name: LICENSE
path: LICENSE
build-ubuntu:
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install conan
run: |
pip install --upgrade conan
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
shell: bash
- name: Conan build
run: |
conan build -bf build .
shell: bash
- name: Run FBX2glTF help
run: |
./build/FBX2glTF --help
shell: bash
- name: Copy licenses
run: |
mkdir -p result
cp sdk/Linux/2020.2/License.txt thirdparty-license.txt
cp build/FBX2glTF FBX2glTF
shell: bash
- name: Release
if: startsWith(github.ref, 'refs/tags/')
uses: softprops/action-gh-release@v1
with:
files: |
thirdparty-license.txt
LICENSE
FBX2glTF
- name: Archive results
uses: actions/upload-artifact@v3
with:
name: FBX2glTF
path: FBX2glTF
- name: thirdparty-license.txt
uses: actions/upload-artifact@v3
with:
name: thirdparty-license.txt
path: thirdparty-license.txt
- name: LICENSE
uses: actions/upload-artifact@v3
with:
name: LICENSE
path: LICENSE
build-macos-x86_64:
runs-on: macos-11
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Update python
uses: actions/setup-python@v1
- name: Install conan
run: |
pip install --upgrade conan
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 --build missing --settings arch=x86_64
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: Copy licenses
run: |
mkdir -p result
cp sdk/Darwin/2020.2/License.rtf thirdparty-license.rtf
cp build/FBX2glTF FBX2glTF-macos-x86_64
shell: bash
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: |
thirdparty-license.rtf
LICENSE
FBX2glTF-macos-x86_64
- name: FBX2glTF-macos-x86_64
uses: actions/upload-artifact@v3
with:
name: macos-packages
path: FBX2glTF-macos-x86_64
- name: thirdparty-license.rtf
uses: actions/upload-artifact@v3
with:
name: thirdparty-license.rtf
path: thirdparty-license.rtf
- name: LICENSE
uses: actions/upload-artifact@v3
with:
name: LICENSE
path: LICENSE