name: Update examples collection
							 | 
						|
								
							 | 
						|
								on:
							 | 
						|
								  workflow_dispatch:
							 | 
						|
								  push:
							 | 
						|
								    paths:
							 | 
						|
								      - 'examples/**'
							 | 
						|
								  pull_request:
							 | 
						|
								    paths:
							 | 
						|
								      - 'examples/**'
							 | 
						|
								
							 | 
						|
								jobs:
							 | 
						|
								  build:
							 | 
						|
								    runs-on: ubuntu-latest
							 | 
						|
								    
							 | 
						|
								    steps:
							 | 
						|
								    - name: Checkout
							 | 
						|
								      uses: actions/checkout@v4
							 | 
						|
								  
							 | 
						|
								    - name: Setup emsdk
							 | 
						|
								      uses: mymindstorm/setup-emsdk@v14
							 | 
						|
								      with:
							 | 
						|
								        version: 'latest'
							 | 
						|
								        actions-cache-folder: 'emsdk-cache'
							 | 
						|
								
							 | 
						|
								    - name: Clone raylib.com repo to update files
							 | 
						|
								      run: |
							 | 
						|
								        git clone https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/raysan5/raylib.com.git
							 | 
						|
								      shell: bash
							 | 
						|
								
							 | 
						|
								    - name: Build and run rexm tool (requires GNU Makefile)
							 | 
						|
								      # "rexm update" validates and updates all required examples in raylib and even raylib.com repos,
							 | 
						|
								      # note that it calls examples/Makefile.Web internally, so it requires [make] tool available
							 | 
						|
								      run: |
							 | 
						|
								        sudo apt-get update && sudo apt-get install -y libopengl0 libglu1-mesa libx11-dev libxrandr-dev libxcursor-dev libxi-dev libxinerama-dev libgl1-mesa-dev libglu1-mesa-dev
							 | 
						|
								        cd "${{ github.workspace }}/src"
							 | 
						|
								        make PLATFORM=PLATFORM_DESKTOP
							 | 
						|
								        sudo make install
							 | 
						|
								        make clean
							 | 
						|
								        make PLATFORM=PLATFORM_WEB
							 | 
						|
								        cd ../tools/rexm/
							 | 
						|
								        make
							 | 
						|
								        export REXM_EXAMPLES_BASE_PATH="${{ github.workspace }}/examples"
							 | 
						|
								        export REXM_EXAMPLES_WEB_PATH="${{ github.workspace }}/raylib.com/examples"
							 | 
						|
								        export REXM_EXAMPLES_TEMPLATE_FILE_PATH="${{ github.workspace }}/examples/examples_template.c"
							 | 
						|
								        export REXM_EXAMPLES_TEMPLATE_SCREENSHOT_PATH="${{ github.workspace }}/examples/examples_template.png"
							 | 
						|
								        export REXM_EXAMPLES_COLLECTION_FILE_PATH="${{ github.workspace }}/examples/examples_list.txt"
							 | 
						|
								        export REXM_EXAMPLES_VS2022_SLN_FILE="${{ github.workspace }}/projects/VS2022/raylib.sln"
							 | 
						|
								        export EMSDK_PATH="${{ github.workspace }}/emsdk-cache/emsdk-main"
							 | 
						|
								        ./rexm update
							 | 
						|
								      shell: bash
							 | 
						|
								
							 | 
						|
								    - name: Commit changes to raylib repo (DISABLED)
							 | 
						|
								      if: github.event_name == 'push' && false
							 | 
						|
								      env:
							 | 
						|
								        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
							 | 
						|
								      run: |
							 | 
						|
								        git config --global user.name "github-actions[bot]"
							 | 
						|
								        git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com"
							 | 
						|
								        git add -A
							 | 
						|
								        git commit -m "Update examples collection" || echo "git exited with code 1, nothing changed"
							 | 
						|
								        git push
							 | 
						|
								      shell: bash
							 | 
						|
								
							 | 
						|
								    - name: Push changes to raylib.com repo (DISABLED)
							 | 
						|
								      if: github.event_name == 'push' && false
							 | 
						|
								      run: |
							 | 
						|
								        cd raylib.com
							 | 
						|
								        git add -A
							 | 
						|
								        git commit -m "Update web examples" || echo "git exited with code 1, nothing changed"
							 | 
						|
								        git push origin
							 | 
						|
								      shell: bash
							 |