Native/wgpu-native: Build for linux-arm and linux-arm64. #71
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: SDL2 | |
on: | |
push: | |
branches-ignore: | |
- "ci/*" | |
- "develop/*" | |
- "main" | |
paths: | |
- build/submodules/SDL | |
- build/nuke/Native/Core.cs | |
- build/nuke/Native/SDL2.cs | |
- .github/workflows/sdl2.yml | |
jobs: | |
Build: | |
if: github.repository == 'dotnet/Silk.NET' | |
strategy: | |
fail-fast: false | |
matrix: | |
env: | |
- os: ubuntu-22.04 | |
name: Linux | |
nuke_invoke: ./build.sh | |
- os: windows-2022 | |
name: Windows | |
nuke_invoke: ./build.cmd | |
extras: | | |
pwsh build\Install-WindowsSDK.ps1 | |
- os: macos-14 | |
name: Darwin | |
nuke_invoke: ./build.sh | |
extras: "" | |
name: ${{ matrix.env.name }} Build | |
runs-on: ${{ matrix.env.os }} | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
token: ${{ secrets.PUSHABLE_GITHUB_TOKEN }} | |
- name: Checkout submodules, configure git | |
run: | | |
git -c submodule.third_party/git-hooks.update=none submodule update --init --recursive build/submodules/SDL | |
git config --local user.email "[email protected]" | |
git config --local user.name "The Silk.NET Automaton" | |
- name: Extra prerequisites | |
run: | | |
echo running extras | |
${{ matrix.env.extras }} | |
# Install CMake | |
- uses: lukka/get-cmake@latest | |
if: runner.os != 'Linux' | |
- name: Build SDL2 | |
if: runner.os == 'Linux' | |
uses: Beyley/run-as-1804@239b211a2ca687388b6251d6dab22cb90ac0391d | |
with: | |
command: | | |
tee /etc/apt/sources.list << EOF | |
deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu bionic main multiverse restricted universe | |
deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu bionic-backports main multiverse restricted universe | |
deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu bionic-security main multiverse restricted universe | |
deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu bionic-updates main multiverse restricted universe | |
deb [arch=arm64,armhf] http://ports.ubuntu.com bionic main multiverse restricted universe | |
deb [arch=arm64,armhf] http://ports.ubuntu.com bionic-backports main multiverse restricted universe | |
deb [arch=arm64,armhf] http://ports.ubuntu.com bionic-security main multiverse restricted universe | |
deb [arch=arm64,armhf] http://ports.ubuntu.com bionic-updates main multiverse restricted universe | |
deb [arch=amd64,i386] http://security.ubuntu.com/ubuntu bionic main multiverse restricted universe | |
deb [arch=amd64,i386] http://security.ubuntu.com/ubuntu bionic-backports main multiverse restricted universe | |
deb [arch=amd64,i386] http://security.ubuntu.com/ubuntu bionic-security main multiverse restricted universe | |
deb [arch=amd64,i386] http://security.ubuntu.com/ubuntu bionic-updates main multiverse restricted universe | |
EOF | |
dpkg --add-architecture arm64 | |
dpkg --add-architecture armhf | |
dpkg --add-architecture i386 | |
apt update | |
apt install -y gcc gcc-aarch64-linux-gnu gcc-arm-linux-gnueabihf gcc-i686-linux-gnu | |
apt install -y g++ g++-aarch64-linux-gnu g++-arm-linux-gnueabihf gcc-i686-linux-gnu | |
apt install -y automake build-essential curl git libtool python3 wget | |
for arch in amd64 arm64 armhf i386; do | |
apt install -y pkgconf:$arch | |
apt install -y libasound2-dev:$arch libpulse-dev:$arch libaudio-dev:$arch libjack-dev:$arch | |
apt install -y libsndio-dev:$arch libsamplerate0-dev:$arch libx11-dev:$arch libxext-dev:$arch | |
apt install -y libxrandr-dev:$arch libxcursor-dev:$arch libxfixes-dev:$arch libxi-dev:$arch | |
apt install -y libxss-dev:$arch libwayland-dev:$arch libxkbcommon-dev:$arch libdrm-dev:$arch | |
apt install -y libgbm-dev:$arch libgl1-mesa-dev:$arch libgles2-mesa-dev:$arch libegl1-mesa-dev:$arch | |
apt install -y libdbus-1-dev:$arch libibus-1.0-dev:$arch libudev-dev:$arch | |
done | |
wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh | |
chmod +x ./dotnet-install.sh | |
./dotnet-install.sh --version 7.0.203 | |
./dotnet-install.sh --version 6.0.408 | |
export DOTNET_ROOT=$HOME/.dotnet | |
export PATH=$PATH:$HOME/.dotnet:$HOME/.dotnet/tools | |
# export the pushable token to the env of the docker container | |
export PUSHABLE_GITHUB_TOKEN=${{ secrets.PUSHABLE_GITHUB_TOKEN }} | |
# mark workspace as safe | |
git config --global --add safe.directory /github/workspace | |
git config --global --add safe.directory /github/workspace/build/submodules/SDL | |
${{ matrix.env.nuke_invoke }} SDL2 | |
env: | |
PUSHABLE_GITHUB_TOKEN: ${{ secrets.PUSHABLE_GITHUB_TOKEN }} | |
- name: Build SDL2 | |
if: runner.os != 'Linux' | |
run: ${{ matrix.env.nuke_invoke }} SDL2 | |
env: | |
PUSHABLE_GITHUB_TOKEN: ${{ secrets.PUSHABLE_GITHUB_TOKEN }} | |