aboutsummaryrefslogtreecommitdiff
path: root/deps/raylib/.github/workflows/linux.yml
diff options
context:
space:
mode:
Diffstat (limited to 'deps/raylib/.github/workflows/linux.yml')
-rw-r--r--deps/raylib/.github/workflows/linux.yml108
1 files changed, 108 insertions, 0 deletions
diff --git a/deps/raylib/.github/workflows/linux.yml b/deps/raylib/.github/workflows/linux.yml
new file mode 100644
index 0000000..97cf75f
--- /dev/null
+++ b/deps/raylib/.github/workflows/linux.yml
@@ -0,0 +1,108 @@
+name: Linux
+
+on:
+ workflow_dispatch:
+ push:
+ paths:
+ - 'src/**'
+ - 'examples/**'
+ - '.github/workflows/linux.yml'
+ pull_request:
+ paths:
+ - 'src/**'
+ - 'examples/**'
+ - '.github/workflows/linux.yml'
+ release:
+ types: [published]
+
+permissions:
+ contents: read
+
+jobs:
+ build:
+ permissions:
+ contents: write # for actions/upload-release-asset to upload release asset
+ runs-on: ubuntu-20.04
+ strategy:
+ fail-fast: false
+ max-parallel: 1
+ matrix:
+ bits: [32, 64]
+ include:
+ - bits: 32
+ ARCH: "i386"
+ ARCH_NAME: "i386"
+ COMPILER_PATH: "/user/bin"
+ - bits: 64
+ ARCH: "x86_64"
+ ARCH_NAME: "amd64"
+ COMPILER_PATH: "/user/bin"
+
+ env:
+ RELEASE_NAME: raylib-dev_linux_${{ matrix.ARCH_NAME }}
+
+ steps:
+ - name: Checkout code
+ uses: actions/checkout@master
+
+ - name: Setup Release Version
+ run: |
+ echo "RELEASE_NAME=raylib-${{ github.event.release.tag_name }}_linux_${{ matrix.ARCH_NAME }}" >> $GITHUB_ENV
+ shell: bash
+ if: github.event_name == 'release' && github.event.action == 'published'
+
+ - name: Setup Environment
+ run: |
+ sudo apt-get update -qq
+ sudo apt-get install gcc-multilib
+ sudo apt-get install -y --no-install-recommends libglfw3 libglfw3-dev libx11-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libxext-dev libxfixes-dev libwayland-dev libxkbcommon-dev
+ mkdir build
+ cd build
+ mkdir ${{ env.RELEASE_NAME }}
+ cd ${{ env.RELEASE_NAME }}
+ mkdir include
+ mkdir lib
+ cd ../../../raylib
+ # ${{ matrix.ARCH }}-linux-gnu-gcc -v
+
+ # TODO: Support 32bit (i386) static/shared library building
+ - name: Build Library
+ run: |
+ cd src
+ make PLATFORM=PLATFORM_DESKTOP CC=gcc RAYLIB_LIBTYPE=STATIC RAYLIB_RELEASE_PATH="../build/${{ env.RELEASE_NAME }}/lib" CUSTOM_CFLAGS="-m32" -B
+ # make PLATFORM=PLATFORM_DESKTOP CC=gcc RAYLIB_LIBTYPE=SHARED RAYLIB_RELEASE_PATH="../build/${{ env.RELEASE_NAME }}/lib" -B
+ cd ..
+ if: matrix.bits == 32
+
+ - name: Build Library
+ run: |
+ cd src
+ make PLATFORM=PLATFORM_DESKTOP CC=gcc RAYLIB_LIBTYPE=STATIC RAYLIB_RELEASE_PATH="../build/${{ env.RELEASE_NAME }}/lib" -B
+ make PLATFORM=PLATFORM_DESKTOP CC=gcc RAYLIB_LIBTYPE=SHARED RAYLIB_RELEASE_PATH="../build/${{ env.RELEASE_NAME }}/lib" -B
+ cd ..
+ if: matrix.bits == 64
+
+ - name: Generate Artifacts
+ run: |
+ cp -v ./src/raylib.h ./build/${{ env.RELEASE_NAME }}/include
+ cp -v ./src/raymath.h ./build/${{ env.RELEASE_NAME }}/include
+ cp -v ./src/rlgl.h ./build/${{ env.RELEASE_NAME }}/include
+ cp -v ./CHANGELOG ./build/${{ env.RELEASE_NAME }}/CHANGELOG
+ cp -v ./README.md ./build/${{ env.RELEASE_NAME }}/README.md
+ cp -v ./LICENSE ./build/${{ env.RELEASE_NAME }}/LICENSE
+ cd build
+ tar -czvf ${{ env.RELEASE_NAME }}.tar.gz ${{ env.RELEASE_NAME }}
+
+ - name: Upload Artifacts
+ uses: actions/upload-artifact@v4
+ with:
+ name: ${{ env.RELEASE_NAME }}.tar.gz
+ path: ./build/${{ env.RELEASE_NAME }}.tar.gz
+
+ - name: Upload Artifact to Release
+ uses: softprops/action-gh-release@v1
+ with:
+ files: ./build/${{ env.RELEASE_NAME }}.tar.gz
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ if: github.event_name == 'release' && github.event.action == 'published'