| @ -0,0 +1,80 @@ | |||||
| name: Update examples collection | |||||
| on: | |||||
| workflow_dispatch: | |||||
| push: | |||||
| paths: | |||||
| - 'examples/**' | |||||
| - '.github/workflows/examples_update.yml' | |||||
| pull_request: | |||||
| paths: | |||||
| - 'examples/**' | |||||
| - '.github/workflows/examples_update.yml' | |||||
| jobs: | |||||
| build: | |||||
| runs-on: windows-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 | |||||
| env: | |||||
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |||||
| run: | | |||||
| git clone https://x-access-token:${GITHUB_TOKEN}@github.com/raysan5/raylib.com.git | |||||
| shell: cmd | |||||
| - name: Build and run rexm tool (VS2022 solution) | |||||
| # 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: | | |||||
| cd tools/rexm/VS2022 | |||||
| msbuild.exe rexm.sln /target:rexm /property:Configuration=Release /property:Platform=x64 | |||||
| cd ../../.. | |||||
| # Set required environment properties to be used by rexm | |||||
| set REXM_EXAMPLES_BASE_PATH="examples" | |||||
| set REXM_EXAMPLES_WEB_PATH="../raylib.com/examples" | |||||
| set REXM_EXAMPLES_TEMPLATE_FILE_PATH="examples/examples_template.c" | |||||
| set REXM_EXAMPLES_TEMPLATE_SCREENSHOT_PATH="examples/examples_template.png" | |||||
| set REXM_EXAMPLES_COLLECTION_FILE_PATH="examples/examples_list.txt" | |||||
| set REXM_EXAMPLES_VS2022_SLN_FILE="projects/VS2022/raylib.sln" | |||||
| # Set emsdk path for Makefile.Web examples building | |||||
| set EMSDK_PATH="D:/a/raylib/raylib/emsdk-cache/emsdk-main" | |||||
| # Run rexm to update required files | |||||
| .\tools\rexm\VS2022\build\rexm\bin\x64\Release\rexm.exe update | |||||
| cd ../.. | |||||
| shell: cmd | |||||
| - name: Commit changes to raylib repo | |||||
| run: | | |||||
| git config user.name "github-actions[bot]" | |||||
| git config user.email "41898282+github-actions[bot]@users.noreply.github.com" | |||||
| git add -A | |||||
| if git diff --cached --quiet; then | |||||
| echo "No changes to commit" | |||||
| exit 0 | |||||
| fi | |||||
| git commit -m "Update examples collection" | |||||
| git push | |||||
| - name: Push changes to raylib.com repo | |||||
| 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 examples | |||||
| if git diff --cached --quiet; then | |||||
| echo "No changes to push" | |||||
| exit 0 | |||||
| fi | |||||
| git commit -m "Update web examples" | |||||
| git push origin | |||||