diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..e38b1f1a --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,53 @@ +name: release + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + release: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Init Submodules + uses: snickerbockers/submodules-init@v4 + - name: Install Dependencies + run: sudo apt-get install freeglut3-dev liblua5.3-dev libnoise-dev libglm-dev libglew-dev libglfw3-dev libenet-dev zlib1g-dev libassimp-dev + - name: Configure CMake + run: cmake . + - name: Build + run: make -j4 + - name: Create ./build + run: mkdir build; mkdir build/bin; mv ./Zepha ./build/bin/Zepha; mkdir build/bin/lib; + - name: Copy shared libraries to ./build/bin/lib + run: cp $(ldconfig -p | grep libGLEW.so.2.0 | sed 's/^.*=> //') build/bin/lib/libGLEW.so.2.0 + - name: Copy assets, and subgames to ./build + run: cp -r assets/ build/assets; cp -r subgames/ build/subgames; + - name: Zip + run: zip -r Zepha build/* + - name: Get short SHA + id: slug + run: echo "::set-output name=sha7::$(echo ${GITHUB_SHA} | cut -c1-7)" + - name: Create Release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: pre-${{steps.slug.outputs.sha7}} + release_name: ${{ github.sha }} + body: Built by Github Actions. + prerelease: true + - name: Upload Release Files + id: upload-release-asset + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: ./Zepha.zip + asset_name: Zepha.zip + asset_content_type: application/zip