diff options
Diffstat (limited to 'deps/raylib/.github/workflows/linux.yml')
-rw-r--r-- | deps/raylib/.github/workflows/linux.yml | 108 |
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' |