name: CI # Controls when the workflow will run on: push: branches: [ master ] pull_request: branches: [ master ] jobs: build-html5: runs-on: ubuntu-latest strategy: fail-fast: false steps: - uses: actions/checkout@master - uses: mymindstorm/setup-emsdk@v9 - name: build project template run: | echo "building html5..." git clone --recursive https://github.com/MrFrenik/gs_project_template cd gs_project_template cd third_party/include/gs git checkout master git pull cd ../../.. echo "building project template..." bash ./proc/html5/*.sh - name: build examples run: | git clone --recursive https://github.com/MrFrenik/gs_examples cd gs_examples cd third_party/include/gs git checkout master git pull cd ../../.. echo "building examples..." for d in */ ; do echo $d cd $d if [ -f "proc/html5/emcc.sh" ];then bash proc/html5/*.sh fi cd .. done - uses: actions/upload-artifact@v2 with: name: html5 artifacts path: gs_examples/*[0-9][0-9]* retention-days: 7 build-linux: runs-on: ubuntu-latest strategy: fail-fast: false steps: - uses: actions/checkout@master - name: install all dependencies run: | sudo apt-get update sudo apt-get install -y gcc-10 sudo apt install git gcc mesa-common-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev - name: build project template run: | echo "building linux..." git clone --recursive https://github.com/MrFrenik/gs_project_template cd gs_project_template cd third_party/include/gs git checkout master git pull cd ../../.. echo "building project template..." bash ./proc/linux/gcc.sh - name: build examples run: | git clone --recursive https://github.com/MrFrenik/gs_examples cd gs_examples cd third_party/include/gs git checkout master git pull cd ../../.. echo "building examples..." bash ./build-all.sh - uses: actions/upload-artifact@v2 with: name: Linux artifacts path: gs_examples/*[0-9][0-9]* retention-days: 7 build_windows: runs-on: windows-latest strategy: fail-fast: false steps: - uses: actions/checkout@master - uses: ilammy/msvc-dev-cmd@v1 - name: build project template run: | echo "build linux..." git clone --recursive https://github.com/MrFrenik/gs_project_template cd gs_project_template cd third_party\include\gs git checkout master git pull cd ..\..\.. echo "building project template..." proc\win\cl.bat - name: build examples run: | git clone --recursive https://github.com/MrFrenik/gs_examples cd gs_examples cd third_party\include\gs git checkout master git pull cd ..\..\.. echo "building examples..." bash ./build-all.sh - uses: actions/upload-artifact@v2 with: name: Windows artifacts path: gs_examples/*[0-9][0-9]* retention-days: 7 build-osx: runs-on: macOS-latest strategy: fail-fast: false steps: - uses: actions/checkout@master - name: build project template run: | echo "building osx..." git clone --recursive https://github.com/MrFrenik/gs_project_template cd gs_project_template cd third_party/include/gs git checkout master git pull cd ../../.. echo "building project template..." bash ./proc/osx/gcc.sh - name: build examples run: | git clone --recursive https://github.com/MrFrenik/gs_examples cd gs_examples cd third_party/include/gs git checkout master git pull cd ../../.. echo "building examples..." bash ./build-all.sh - uses: actions/upload-artifact@v2 with: name: MacOSX artifacts path: gs_examples/*[0-9][0-9]* retention-days: 7