name: Update examples collection on: workflow_dispatch: push: paths: - '.github/workflows/update_examples.yml' - 'examples/**' - 'tools/rexm/**' pull_request: paths: - '.github/workflows/update_examples.yml' - 'examples/**' - 'tools/rexm/**' 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 run: | git clone https://x-access-token:${{ secrets.RAYLIB_DOT_COM_REPO_TOKEN }}@github.com/$GITHUB_REPOSITORY_OWNER/raylib.com.git shell: bash - name: Build and run rexm tool (GNU Makefile) # rexm should update all required files in raylib and even raylib.com repo, # but not sure if it can do that from an Action, maybe it requires manual copy 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 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 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 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