name: cross compile linux on: workflow_dispatch: inputs: {} # schedule: # - cron: '0 0 * * *' env: BUILD_TYPE: Release jobs: build: runs-on: ubuntu-latest strategy: fail-fast: false matrix: platform: - { name: linux-arm64, container: arm64v8/ubuntu } - { name: linux-arm, container: arm32v7/ubuntu } steps: - uses: actions/checkout@v4 with: repository: 'libsdl-org/SDL' ref: 'main' - uses: actions/checkout@v4 with: path: 'SDL3-CS' - # Add support for more platforms with QEMU (optional) # https://github.com/docker/setup-qemu-action name: Set up QEMU uses: docker/setup-qemu-action@v3 - name: Run build process with Docker uses: addnab/docker-run-action@v3 with: image: ${{ matrix.platform.container }} options: -v ${{ github.workspace }}:/workspace run: | cd /workspace echo "Hello World!" uname -a ls . apt update -y -qq apt install -y \ gcc \ g++ \ cmake \ ninja-build \ wayland-scanner++ \ wayland-protocols \ pkg-config \ libasound2-dev \ libdbus-1-dev \ libegl1-mesa-dev \ libgl1-mesa-dev \ libgles2-mesa-dev \ libglu1-mesa-dev \ libibus-1.0-dev \ libpulse-dev \ libsndio-dev \ libudev-dev \ libwayland-dev \ libx11-dev \ libxcursor-dev \ libxext-dev \ libxi-dev \ libxinerama-dev \ libxkbcommon-dev \ libxrandr-dev \ libxss-dev \ libxt-dev \ libxv-dev \ libxxf86vm-dev \ libdrm-dev \ libgbm-dev \ libpulse-dev cmake -B build -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DSDL_SHARED_ENABLED_BY_DEFAULT=ON -DSDL_STATIC_ENABLED_BY_DEFAULT=ON cmake --build build/ --config Release cmake --install build/ --prefix install_output --config Release mkdir -p SDL3-CS/native/${{ matrix.platform.name }} cp install_output/lib/libSDL3.so SDL3-CS/native/${{ matrix.platform.name }}/libSDL3.so - name: Create pull request uses: peter-evans/create-pull-request@v6 with: commit-message: Update ${{ matrix.platform.name }} SDL binaries title: Update ${{ matrix.platform.name }} SDL binaries body: This PR has been auto-generated to update the ${{ matrix.platform.name }} SDL binaries. branch: update-${{ matrix.platform.name }}-binaries path: 'SDL3-CS' env: ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true'