Skip to content

Commit

Permalink
LWJGL CI configuration
Browse files Browse the repository at this point in the history
  • Loading branch information
Spasi committed Jan 19, 2020
1 parent d9a9215 commit 725135f
Show file tree
Hide file tree
Showing 7 changed files with 355 additions and 150 deletions.
21 changes: 0 additions & 21 deletions .appveyor.yml

This file was deleted.

212 changes: 178 additions & 34 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,36 +1,180 @@
language: cpp
git:
depth: 3
env:
global:
- secure: "OKc6Mojr/tBf2AP0IwZBeey0NXfrdxesfPhXlHPVQfbT4RbZwfaLnLbKsPV2MCRo0j5+vCxTiEEg+2tKIfpwOASyD8P0Qh3Isa4DjtueB8M/tdCzWYLGxJ6poGjMjd8cLUoExBfiNO7CL32B4Z83IEbpzC2ScPJRBnI2pmvCmniB9Wqt3yQUnlVc96e009ubrs6G5uMfzelAkVBsm9BexFxCtPBM5G6T8RDTKQ6h27pQlBjQnNn6s8JAod6u5byN4tmApW7ockham3sQ1c1+vTqnt97a6MS2O+G4/FdkJ/ex3I99wl1xHH6C89IicgN/xX+P/9JL4AWYP778AtRIXeSk3G6wMaWzeNYD+36T5iTvqniY0rqgPOcpnf78TjueUn57crqdt5tWaFUME7AB8/mSqPgKiiC1wuAoz85h/AOeiRtxd7zAHLk+blvIWOR+Z5yuHwCRFA7eemXriTfUU2LczS229IgD4yyqMYMVOksmo5bPmPL/vPsl0aIXQLEBS91OFxQKMPQu9gSJ3dqiObmhVnJ7OOhBxJ8deAC81nn76v6UaE7O0g4RiDeytOhiap/4MUjLDi9aR9WOX3rTvI5ZFxtKMMvFFjgs/0reWfdqW8kzCfPLzzaV83oYjsc5hhrQBBFN5gEbRwoIXdHvHMhqBU76jmQJF+J/KMcxGk4="
- secure: "JDqvzWz0yehxBWzggNcRg2TUUolL0lX2y/ErBexkLmvNnUha8tU7IdN+2wcmiv2Jmhjnkv4hpvIMFqkiu2Nl2Lib+77lu22jLBkmwcfQzEdujmam7jkWr7Y/RxmF9FhkNViJ80/rtgCyGEHGBmMohJ90++Ix3FgMTIH6UbHbb6wGDAkN6C3KnBBPvjK/rIj3MuVFc0q7vVHTIRCAFZ/b6zDGozlDorbqt0yKEhQBW/U/f4jkeuYzjsHdKNtWzdf1VFaZz2YxynM6OE9k4rbWpPPeAM2gOp2+mAEbEZzavgXkNpEu3rvdGBjeQEyEpV57R2KE4xodp3xmXoIF4s05xAo4sn3VzGdtBG8mRxfaUczKr43Ys3wIv13zXYCsmb1NF9xG8SGueRdEK+r2BY6wtLj6K/lG3NEx25UPfp16OQoEzHI8F7yNmVGyb3oKphrq+7OJgUOyeL8OQAiQiK0lTuEr6T+0r36AmhdKKOsQxO8vGLhIAUjRSC6tcMERK4rHQFbgiPEFeA9yBJ9MSbVGOzgietlxS1hV1CidTcrdb+LweSDRY/sNpe/B2HGRKhycXRcAwhf4R1kQ4/G9KqitF13BNzNX6rnkUt0fHaH3kddSR1CkgFFF9sZ12bnRJQK8Til1KwLmzaL0pcsAGe+DAYUxulQKDwOUVbZU2nLmoiA="
- AWS_DEFAULT_REGION: "us-east-1"
- S3_PARAMS: '"--acl public-read --cache-control \"public,must-revalidate,proxy-revalidate,max-age=0\""'

matrix:
include:
- compiler: gcc
os: linux
- compiler: clang
os: osx

addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- gcc-8
- g++-8
- clang
- libgl1-mesa-dev
- x11proto-core-dev
- libx11-dev

before_script:
- git clone --depth 1 https://github.com/bkaradzic/bx ../bx
- git clone --depth 1 https://github.com/bkaradzic/bimg ../bimg

script:
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then make build CXX="g++-8" CC="gcc-8"; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then make osx-debug64; fi

branches:
only:
- master

notifications:
email: false

osx_image: xcode10.3

# -----------------
- name: "Linux x64"
# -----------------
dist: xenial
language: cpp
compiler: gcc

addons:
apt:
packages:
- gcc-5
- g++-5
- libgl1-mesa-dev
- x11proto-core-dev
- libx11-dev

before_script:
- git clone --depth 1 https://github.com/LWJGL-CI/bx.git ../bx
- git clone --depth 1 https://github.com/LWJGL-CI/bimg.git ../bimg

before_install:
- pip install --user awscli
- export PATH=$PATH:$HOME/.local/bin
- sudo ln -s /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 /usr/lib/libGL.so

script:
- ../bx/tools/bin/linux/genie --with-shared-lib --with-tools --gcc=linux-gcc gmake
- make -R -C .build/projects/gmake-linux config=release64 CXX="g++-5" CC="gcc-5" CFLAGS="-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0" LDFLAGS=-Wl,--wrap,memcpy bgfx-shared-lib
- make -R -C .build/projects/gmake-linux config=release64 CXX="g++-5" CC="gcc-5" geometryc
- make -R -C .build/projects/gmake-linux config=release64 CXX="g++-5" CC="gcc-5" texturec
- make -R -C .build/projects/gmake-linux config=release64 CXX="g++-5" CC="gcc-5" texturev
- make -R -C .build/projects/gmake-linux config=release64 CXX="g++-5" CC="gcc-5" shaderc
- strip .build/linux64_gcc/bin/libbgfx-shared-libRelease.so
- "git log --first-parent --pretty=format:%H HEAD~2..HEAD~1 > libbgfx.so.git"
- "aws s3 cp .build/linux64_gcc/bin/libbgfx-shared-libRelease.so s3://build.lwjgl.org/nightly/linux/x64/libbgfx.so $S3_PARAMS"
- "aws s3 cp libbgfx.so.git s3://build.lwjgl.org/nightly/linux/x64/ $S3_PARAMS"
- "aws s3 cp .build/linux64_gcc/bin/geometrycRelease s3://build.lwjgl.org/nightly/linux/x64/bgfx-tools/geometryc $S3_PARAMS"
- "aws s3 cp .build/linux64_gcc/bin/texturecRelease s3://build.lwjgl.org/nightly/linux/x64/bgfx-tools/texturec $S3_PARAMS"
- "aws s3 cp .build/linux64_gcc/bin/texturevRelease s3://build.lwjgl.org/nightly/linux/x64/bgfx-tools/texturev $S3_PARAMS"
- "aws s3 cp .build/linux64_gcc/bin/shadercRelease s3://build.lwjgl.org/nightly/linux/x64/bgfx-tools/shaderc $S3_PARAMS"

# -----------------
- name: "Linux arm32"
# -----------------
dist: xenial
language: c
compiler: gcc

addons:
apt:
packages:
- gcc-5-arm-linux-gnueabihf
- g++-5-arm-linux-gnueabihf
- libc6-dev-armhf-cross

before_script:
- git clone --depth 1 https://github.com/LWJGL-CI/bx.git ../bx
- git clone --depth 1 https://github.com/LWJGL-CI/bimg.git ../bimg

before_install:
- pip install --user awscli
- export PATH=$PATH:$HOME/.local/bin
- sudo sed -i 's/deb http/deb [arch=amd64,i386] http/' /etc/apt/sources.list
- sudo grep "ubuntu.com/ubuntu" /etc/apt/sources.list | sudo tee /etc/apt/sources.list.d/ports.list
- sudo sed -i 's/amd64,i386/armhf,arm64/' /etc/apt/sources.list.d/ports.list
- sudo sed -i 's#http://.*/ubuntu#http://ports.ubuntu.com/ubuntu-ports#' /etc/apt/sources.list.d/ports.list
- sudo dpkg --add-architecture armhf
- sudo apt-get update || true
- sudo apt-get -yq --no-install-suggests --no-install-recommends install libgl1-mesa-dev:armhf x11proto-core-dev:armhf libx11-dev:armhf -o Dpkg::Options::="--force-overwrite"
- sudo ln -s /usr/lib/arm-linux-gnueabihf/mesa/libGL.so.1 /usr/lib/libGL.so

script:
- sed -i 's/strip -s/arm-linux-gnueabihf-strip/' ../bx/scripts/toolchain.lua
- ../bx/tools/bin/linux/genie --with-shared-lib --gcc=linux-arm-gcc gmake
- make -R -C .build/projects/gmake-linux-arm-gcc config=release CXX="arm-linux-gnueabihf-g++-5" CC="arm-linux-gnueabihf-gcc-5" CFLAGS="-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0" bgfx-shared-lib
- arm-linux-gnueabihf-strip .build/linux32_arm_gcc/bin/libbgfx-shared-libRelease.so
- "git log --first-parent --pretty=format:%H HEAD~2..HEAD~1 > libbgfx.so.git"
- "aws s3 cp .build/linux32_arm_gcc/bin/libbgfx-shared-libRelease.so s3://build.lwjgl.org/nightly/linux/arm32/libbgfx.so $S3_PARAMS"
- "aws s3 cp libbgfx.so.git s3://build.lwjgl.org/nightly/linux/arm32/ $S3_PARAMS"

# -----------------
- name: "Linux arm64"
# -----------------
dist: xenial
language: c
compiler: gcc

addons:
apt:
packages:
- gcc-5-aarch64-linux-gnu
- g++-5-aarch64-linux-gnu
- libc6-dev-arm64-cross

before_script:
- git clone --depth 1 https://github.com/LWJGL-CI/bx.git ../bx
- git clone --depth 1 https://github.com/LWJGL-CI/bimg.git ../bimg

before_install:
- pip install --user awscli
- export PATH=$PATH:$HOME/.local/bin
- sudo sed -i 's/deb http/deb [arch=amd64,i386] http/' /etc/apt/sources.list
- sudo grep "ubuntu.com/ubuntu" /etc/apt/sources.list | sudo tee /etc/apt/sources.list.d/ports.list
- sudo sed -i 's/amd64,i386/arm64,arm64/' /etc/apt/sources.list.d/ports.list
- sudo sed -i 's#http://.*/ubuntu#http://ports.ubuntu.com/ubuntu-ports#' /etc/apt/sources.list.d/ports.list
- sudo dpkg --add-architecture arm64
- sudo apt-get update || true
- sudo apt-get -yq --no-install-suggests --no-install-recommends install libgl1-mesa-dev:arm64 x11proto-core-dev:arm64 libx11-dev:arm64 -o Dpkg::Options::="--force-overwrite"
- sudo ln -s /usr/lib/aarch64-linux-gnu/mesa/libGL.so.1 /usr/lib/libGL.so

script:
- sed -i 's/strip -s/aarch64-linux-gnu-strip/' ../bx/scripts/toolchain.lua
- ../bx/tools/bin/linux/genie --with-shared-lib --gcc=linux-arm-gcc gmake
- sed -i 's/ -m64//' .build/projects/gmake-linux-arm-gcc/bgfx.make
- sed -i 's/ -m64//' .build/projects/gmake-linux-arm-gcc/bgfx-shared-lib.make
- sed -i 's/ -m64//' .build/projects/gmake-linux-arm-gcc/bimg.make
- sed -i 's/ -m64//' .build/projects/gmake-linux-arm-gcc/bimg_decode.make
- sed -i 's/ -m64//' .build/projects/gmake-linux-arm-gcc/bx.make
- sed -i 's/linux32/linux64/g' .build/projects/gmake-linux-arm-gcc/bgfx.make
- sed -i 's/linux32/linux64/g' .build/projects/gmake-linux-arm-gcc/bgfx-shared-lib.make
- sed -i 's/linux32/linux64/g' .build/projects/gmake-linux-arm-gcc/bimg.make
- sed -i 's/linux32/linux64/g' .build/projects/gmake-linux-arm-gcc/bimg_decode.make
- sed -i 's/linux32/linux64/g' .build/projects/gmake-linux-arm-gcc/bx.make
- make -R -C .build/projects/gmake-linux-arm-gcc config=release64 CXX="aarch64-linux-gnu-g++-5" CC="aarch64-linux-gnu-gcc-5" CFLAGS="-U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0" bgfx-shared-lib
- aarch64-linux-gnu-strip .build/linux64_arm_gcc/bin/libbgfx-shared-libRelease.so
- "git log --first-parent --pretty=format:%H HEAD~2..HEAD~1 > libbgfx.so.git"
- "aws s3 cp .build/linux64_arm_gcc/bin/libbgfx-shared-libRelease.so s3://build.lwjgl.org/nightly/linux/arm64/libbgfx.so $S3_PARAMS"
- "aws s3 cp libbgfx.so.git s3://build.lwjgl.org/nightly/linux/arm64/ $S3_PARAMS"

# -----------------
- name: "macOS"
# -----------------
language: objective-c
compiler: clang
osx_image: xcode11.3

before_script:
- git clone --depth 1 https://github.com/LWJGL-CI/bx.git ../bx
- git clone --depth 1 https://github.com/LWJGL-CI/bimg.git ../bimg

before_install:
- brew update

install:
#- brew unlink python
#- brew install python
- brew install awscli

script:
- ../bx/tools/bin/darwin/genie --with-shared-lib --with-tools --with-macos=10.9 --gcc=osx gmake
#- make -C .build/projects/gmake-osx config=release64 CFLAGS="-mmacosx-version-min=10.9 -D BGFX_CONFIG_RENDERER_METAL=1 -D BGFX_CONFIG_RENDERER_OPENGL=1" LDFLAGS=-mmacosx-version-min=10.9 bgfx-shared-lib
#- make -C .build/projects/gmake-osx config=release64 CFLAGS=-mmacosx-version-min=10.9 LDFLAGS=-mmacosx-version-min=10.9 geometryc
#- make -C .build/projects/gmake-osx config=release64 CFLAGS=-mmacosx-version-min=10.9 LDFLAGS=-mmacosx-version-min=10.9 texturec
#- make -C .build/projects/gmake-osx config=release64 CFLAGS=-mmacosx-version-min=10.9 LDFLAGS=-mmacosx-version-min=10.9 texturev
#- make -C .build/projects/gmake-osx config=release64 CFLAGS=-mmacosx-version-min=10.9 LDFLAGS=-mmacosx-version-min=10.9 shaderc
- make -C .build/projects/gmake-osx config=release64 CFLAGS="-D BGFX_CONFIG_RENDERER_METAL=1 -D BGFX_CONFIG_RENDERER_OPENGL=1" bgfx-shared-lib
- make -C .build/projects/gmake-osx config=release64 geometryc
- make -C .build/projects/gmake-osx config=release64 texturec
- make -C .build/projects/gmake-osx config=release64 texturev
- make -C .build/projects/gmake-osx config=release64 shaderc
- strip -u -r .build/osx64_clang/bin/libbgfx-shared-libRelease.dylib
- "git log --first-parent --pretty=format:%H HEAD~2..HEAD~1 > libbgfx.dylib.git"
- "aws s3 cp .build/osx64_clang/bin/libbgfx-shared-libRelease.dylib s3://build.lwjgl.org/nightly/macosx/x64/libbgfx.dylib $S3_PARAMS"
- "aws s3 cp libbgfx.dylib.git s3://build.lwjgl.org/nightly/macosx/x64/ --acl public-read --cache-control \"public, must-revalidate, proxy-revalidate, max-age=0\""
- "aws s3 cp .build/osx64_clang/bin/geometrycRelease s3://build.lwjgl.org/nightly/macosx/x64/bgfx-tools/geometryc $S3_PARAMS"
- "aws s3 cp .build/osx64_clang/bin/texturecRelease s3://build.lwjgl.org/nightly/macosx/x64/bgfx-tools/texturec $S3_PARAMS"
- "aws s3 cp .build/osx64_clang/bin/texturevRelease s3://build.lwjgl.org/nightly/macosx/x64/bgfx-tools/texturev $S3_PARAMS"
- "aws s3 cp .build/osx64_clang/bin/shadercRelease s3://build.lwjgl.org/nightly/macosx/x64/bgfx-tools/shaderc $S3_PARAMS"
64 changes: 64 additions & 0 deletions appveyor.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
version: '{build}'
skip_tags: true
image: Visual Studio 2019
clone_depth: 3
environment:
AWS_ACCESS_KEY_ID:
secure: 7jhk0oV/vjFsOcsAHLMUcNGUGLuGmnuPxGH0ce/Vky8=
AWS_SECRET_ACCESS_KEY:
secure: 5KKYpsIHwYHHh5ud0U7Ss0rLumv6G8tkS6abh1B9aq4wY6+1kq5fN/3E5BsdBVKy
AWS_DEFAULT_REGION: us-east-1
S3_CONFIG_VOLATILE: --acl public-read --cache-control "public, must-revalidate, proxy-revalidate, max-age=0"
GIT_FORMAT: '%%H'
matrix:
- ARCH: x64
PLATFORM: amd64
BUILD: x64
WIN: 64
- ARCH: x86
PLATFORM: amd64_x86
BUILD: Win32
WIN: 32
matrix:
fast_finish: true
install:
- git clone https://github.com/LWJGL-CI/bx.git ../bx
- git clone https://github.com/LWJGL-CI/bimg.git ../bimg
build_script:
- cmd: >-
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" %PLATFORM%
..\bx\tools\bin\windows\genie --with-shared-lib --with-tools vs2019 --platform x%WIN%
devenv .build\projects\vs2019\bgfx.sln /Project bgfx-shared-lib /Build "Release|%BUILD%"
devenv .build\projects\vs2019\bgfx.sln /Project geometryc /Build "Release|%BUILD%"
devenv .build\projects\vs2019\bgfx.sln /Project texturec /Build "Release|%BUILD%"
devenv .build\projects\vs2019\bgfx.sln /Project texturev /Build "Release|%BUILD%"
devenv .build\projects\vs2019\bgfx.sln /Project "shaderc (tools\shaderc\shaderc)" /Build "Release|%BUILD%"
aws s3 cp .build/win%WIN%_vs2019/bin/bgfx-shared-libRelease.dll s3://build.lwjgl.org/nightly/windows/%ARCH%/bgfx.dll %S3_CONFIG_VOLATILE%
git log --first-parent --pretty=format:%GIT_FORMAT% HEAD~2..HEAD~1 > revision.git
aws s3 cp revision.git s3://build.lwjgl.org/nightly/windows/%ARCH%/bgfx.dll.git %S3_CONFIG_VOLATILE%
aws s3 cp .build/win%WIN%_vs2019/bin/geometrycRelease.exe s3://build.lwjgl.org/nightly/windows/%ARCH%/bgfx-tools/geometryc.exe %S3_CONFIG_VOLATILE%
aws s3 cp .build/win%WIN%_vs2019/bin/texturecRelease.exe s3://build.lwjgl.org/nightly/windows/%ARCH%/bgfx-tools/texturec.exe %S3_CONFIG_VOLATILE%
aws s3 cp .build/win%WIN%_vs2019/bin/texturevRelease.exe s3://build.lwjgl.org/nightly/windows/%ARCH%/bgfx-tools/texturev.exe %S3_CONFIG_VOLATILE%
aws s3 cp .build/win%WIN%_vs2019/bin/shadercRelease.exe s3://build.lwjgl.org/nightly/windows/%ARCH%/bgfx-tools/shaderc.exe %S3_CONFIG_VOLATILE%
test: off
notifications:
- provider: Email
to:
- iotsakp@gmail.com
subject: bgfx CI
on_build_success: true
on_build_failure: true
on_build_status_changed: true
Loading

0 comments on commit 725135f

Please sign in to comment.