| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247 |
- name: CI
- concurrency:
- group: ${{ github.ref }}
- cancel-in-progress: true
- on:
- push:
- pull_request:
- jobs:
- msvc:
- strategy:
- fail-fast: true
- matrix:
- include: [
- { config: Debug, platform: Win32, bindir: 'win32_vs2019' },
- { config: Debug, platform: x64, bindir: 'win64_vs2019' },
- { config: Release, platform: Win32, bindir: 'win32_vs2019' },
- { config: Release, platform: x64, bindir: 'win64_vs2019' },
- ]
- name: msvc-${{ matrix.config }}-${{ matrix.platform }}
- runs-on: windows-2019
- steps:
- - name: Checkout bgfx
- uses: actions/checkout@v3
- with:
- path: bgfx
- - name: Checkout bx
- uses: actions/checkout@v3
- with:
- repository: bkaradzic/bx
- path: bx
- - name: Checkout bimg
- uses: actions/checkout@v3
- with:
- repository: bkaradzic/bimg
- path: bimg
- - name: Prepare
- uses: microsoft/[email protected]
- - name: Build
- shell: cmd
- run: |
- cd bgfx
- ..\bx\tools\bin\windows\genie.exe --with-tools --with-combined-examples --with-shared-lib vs2019
- msbuild ".build/projects/vs2019/bgfx.sln" /m /v:minimal /p:Configuration=${{ matrix.config }} /p:Platform=${{ matrix.platform }}
- - name: Check
- shell: cmd
- run: |
- cd bgfx
- dir /s ".build\${{ matrix.bindir }}\bin"
- ".build\${{ matrix.bindir }}\bin\geometryc${{ matrix.config }}.exe" --version
- ".build\${{ matrix.bindir }}\bin\shaderc${{ matrix.config }}.exe" --version
- ".build\${{ matrix.bindir }}\bin\texturec${{ matrix.config }}.exe" --version
- mingw:
- strategy:
- fail-fast: true
- matrix:
- include: [
- { msystem: MINGW64, project: 'mingw-gcc', bindir: 'win64_mingw-gcc' },
- { msystem: CLANG64, project: 'mingw-clang', bindir: 'win64_mingw-clang' },
- ]
- name: mingw-${{ matrix.msystem }}
- runs-on: windows-latest
- steps:
- - name: Checkout bgfx
- uses: actions/checkout@v3
- with:
- path: bgfx
- - name: Checkout bx
- uses: actions/checkout@v3
- with:
- repository: bkaradzic/bx
- path: bx
- - name: Checkout bimg
- uses: actions/checkout@v3
- with:
- repository: bkaradzic/bimg
- path: bimg
- - name: Prepare
- uses: msys2/setup-msys2@v2
- with:
- msystem: ${{ matrix.msystem }}
- update: true
- install: make
- pacboy: cc:p
- - name: Build
- shell: msys2 {0}
- run: |
- cd bgfx
- make ${{ matrix.project }}-release64 -j$(nproc) AR=ar CC=cc CXX=c++ MINGW=$MINGW_PREFIX
- - name: Check
- shell: cmd
- run: |
- cd bgfx
- dir /s ".build\${{ matrix.bindir }}\bin"
- ".build\${{ matrix.bindir }}\bin\geometrycRelease.exe" --version
- ".build\${{ matrix.bindir }}\bin\shadercRelease.exe" --version
- ".build\${{ matrix.bindir }}\bin\texturecRelease.exe" --version
- linux:
- strategy:
- fail-fast: true
- matrix:
- include: [
- { config: debug, binsuffix: Debug },
- { config: release, binsuffix: Release },
- ]
- name: linux-${{ matrix.config }}64
- runs-on: ubuntu-22.04
- steps:
- - name: Checkout bgfx
- uses: actions/checkout@v3
- with:
- path: bgfx
- - name: Checkout bx
- uses: actions/checkout@v3
- with:
- repository: bkaradzic/bx
- path: bx
- - name: Checkout bimg
- uses: actions/checkout@v3
- with:
- repository: bkaradzic/bimg
- path: bimg
- - name: Build
- run: |
- sudo apt install libgl-dev
- cd bgfx
- make -j$(nproc) linux-${{ matrix.config }}64
- - name: Check
- run: |
- cd bgfx
- ls -lash ".build/linux64_gcc/bin"
- ".build/linux64_gcc/bin/geometryc${{ matrix.binsuffix}}" --version
- ".build/linux64_gcc/bin/shaderc${{ matrix.binsuffix}}" --version
- ".build/linux64_gcc/bin/texturec${{ matrix.binsuffix}}" --version
- wasm:
- strategy:
- fail-fast: true
- matrix:
- config: [ debug, release]
- name: wasm-${{ matrix.config }}
- runs-on: ubuntu-22.04
- steps:
- - name: Checkout bgfx
- uses: actions/checkout@v3
- with:
- path: bgfx
- - name: Checkout bx
- uses: actions/checkout@v3
- with:
- repository: bkaradzic/bx
- path: bx
- - name: Checkout bimg
- uses: actions/checkout@v3
- with:
- repository: bkaradzic/bimg
- path: bimg
- - name: Prepare
- run: |
- docker pull emscripten/emsdk
- docker run --rm emscripten/emsdk which emcc em++ emar
- cd bgfx
- EMSCRIPTEN=/emsdk/upstream/emscripten ../bx/tools/bin/linux/genie --with-examples --gcc=wasm gmake
- - name: Build
- run: >
- docker run --rm -u $(id -u):$(id -g) -v $(pwd):/bgfx emscripten/emsdk
- make -C /bgfx/bgfx wasm-${{ matrix.config }} -j$(nproc) EMSCRIPTEN=/emsdk/upstream/emscripten
- - name: Check
- run: |
- cd bgfx
- ls -lash ".build/wasm/bin"
- osx:
- strategy:
- fail-fast: true
- matrix:
- include: [
- { config: debug, binsuffix: Debug },
- { config: release, binsuffix: Release },
- ]
- name: osx-x64-${{ matrix.config }}
- runs-on: macos-latest
- steps:
- - name: Checkout bgfx
- uses: actions/checkout@v3
- with:
- path: bgfx
- - name: Checkout bx
- uses: actions/checkout@v3
- with:
- repository: bkaradzic/bx
- path: bx
- - name: Checkout bimg
- uses: actions/checkout@v3
- with:
- repository: bkaradzic/bimg
- path: bimg
- - name: Build
- run: |
- cd bgfx
- make -j$(sysctl -n hw.physicalcpu) osx-x64-${{ matrix.config }}
- - name: Check
- run: |
- cd bgfx
- ls -lash ".build/osx-x64/bin"
- ".build/osx-x64/bin/geometryc${{ matrix.binsuffix}}" --version
- ".build/osx-x64/bin/shaderc${{ matrix.binsuffix}}" --version
- ".build/osx-x64/bin/texturec${{ matrix.binsuffix}}" --version
- android:
- strategy:
- fail-fast: true
- matrix:
- include: [
- { platform: arm64 },
- ]
- name: android-${{ matrix.platform }}
- runs-on: ubuntu-22.04
- steps:
- - uses: nttld/setup-ndk@v1
- id: setup-ndk
- with:
- ndk-version: r25b
- add-to-path: false
- - name: Checkout bgfx
- uses: actions/checkout@v3
- with:
- path: bgfx
- - name: Checkout bx
- uses: actions/checkout@v3
- with:
- repository: bkaradzic/bx
- path: bx
- - name: Checkout bimg
- uses: actions/checkout@v3
- with:
- repository: bkaradzic/bimg
- path: bimg
- - name: Build
- run: |
- cd bgfx
- make -j$(sysctl -n hw.physicalcpu) android-${{ matrix.platform }}
- env:
- ANDROID_NDK_ROOT: ${{ steps.setup-ndk.outputs.ndk-path }}
- - name: Check
- run: |
- cd bgfx
- ls -lash ".build/android-${{ matrix.platform }}/bin"
|