name: WebAssembly on: workflow_dispatch: push: paths: - 'src/**' - 'examples/**' - '.github/workflows/webassembly.yml' pull_request: paths: - 'src/**' - 'examples/**' - '.github/workflows/webassembly.yml' release: types: [published] jobs: build: runs-on: windows-latest env: RELEASE_NAME: raylib-dev_webassembly steps: - name: Checkout uses: actions/checkout@master - name: Setup emsdk uses: mymindstorm/setup-emsdk@v14 with: version: 3.1.64 actions-cache-folder: 'emsdk-cache' - name: Setup Release Version run: | echo "RELEASE_NAME=raylib-${{ github.event.release.tag_name }}_webassembly" >> $GITHUB_ENV shell: bash if: github.event_name == 'release' && github.event.action == 'published' - name: Setup Environment run: | mkdir build cd build mkdir ${{ env.RELEASE_NAME }} cd ${{ env.RELEASE_NAME }} mkdir include mkdir lib cd ../.. - name: Build Library run: | cd src emcc -v make PLATFORM=PLATFORM_WEB EMSDK_PATH="D:/a/raylib/raylib/emsdk-cache/emsdk-main" RAYLIB_RELEASE_PATH="../build/${{ env.RELEASE_NAME }}/lib" -B cd .. - name: Generate Artifacts run: | copy /Y .\src\raylib.h .\build\${{ env.RELEASE_NAME }}\include\raylib.h copy /Y .\src\raymath.h .\build\${{ env.RELEASE_NAME }}\include\raymath.h copy /Y .\src\rlgl.h .\build\${{ env.RELEASE_NAME }}\include\rlgl.h copy /Y .\CHANGELOG .\build/${{ env.RELEASE_NAME }}\CHANGELOG copy /Y .\README.md .\build\${{ env.RELEASE_NAME }}\README.md copy /Y .\LICENSE .\build\${{ env.RELEASE_NAME }}\LICENSE cd build 7z a ./${{ env.RELEASE_NAME }}.zip ./${{ env.RELEASE_NAME }} dir shell: cmd - name: Upload Artifacts uses: actions/upload-artifact@v4 with: name: ${{ env.RELEASE_NAME }}.zip path: ./build/${{ env.RELEASE_NAME }}.zip - name: Upload Artifact to Release uses: softprops/action-gh-release@v1 with: files: ./build/${{ env.RELEASE_NAME }}.zip env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} if: github.event_name == 'release' && github.event.action == 'published'