Skip to content

A bunch of improvements to native library builds #2049

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 107 commits into from
Apr 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
107 commits
Select commit Hold shift + click to select a range
2db4338
Native: Add CMake toolchain files for Linux cross-compilation.
alexrp Apr 5, 2024
fadce2c
Native/Assimp: Build for linux-arm, linux-arm64, and win-arm64.
alexrp Apr 5, 2024
ced48cc
Native/Assimp: Don't build tests.
alexrp Apr 8, 2024
dda5b48
Native/Assimp: Strip Linux/macOS binaries after build.
alexrp Apr 6, 2024
760df13
Native/GLFW: Build for linux-arm and linux-arm64.
alexrp Apr 5, 2024
59231e4
Native/GLFW: Don't build examples, tests, and docs.
alexrp Apr 8, 2024
fbcad12
Native/GLFW: Strip Linux/macOS binaries after build.
alexrp Apr 6, 2024
58f141d
Native/OpenAL Soft: Add submodule tracking 1.23.1.
alexrp Apr 7, 2024
39ddd72
Native/OpenAL Soft: Add build script and workflow.
alexrp Apr 7, 2024
be97456
Native/SDL: Build for linux-arm and linux-arm64.
alexrp Apr 6, 2024
84c2434
Native/SDL: Drop linux-x86 support.
alexrp Apr 13, 2024
89205de
Native/SDL: Build with dynamically-loaded Wayland and X11 support.
alexrp Apr 8, 2024
312119a
Native/SDL: Disable assertions when building on Windows/Linux.
alexrp Apr 8, 2024
2a01ba1
Native/SDL: Don't build static libraries on Linux.
alexrp Apr 9, 2024
e2ab260
Native/SDL: Strip macOS binaries after build.
alexrp Apr 6, 2024
b62a541
Native/Shaderc: Build for linux-arm.
alexrp Apr 14, 2024
7cd4163
Native/Shaderc: Drop linux-x86 support.
alexrp Apr 14, 2024
d79ae5d
Native/Shaderc: Build with -O3 instead of -Os.
alexrp Apr 14, 2024
c818081
Native/SPIRV-Cross: Build for linux-arm.
alexrp Apr 14, 2024
a7fa8bc
Native/SPIRV-Cross: Drop linux-x86 support.
alexrp Apr 14, 2024
506e308
Native/SPIRV-Cross: Build with -O3 instead of -Os.
alexrp Apr 14, 2024
ad87d72
Native/SPIRV-Reflect: Build for linux-arm.
alexrp Apr 14, 2024
2bf2ed8
Native/SPIRV-Reflect: Drop linux-x86 support.
alexrp Apr 14, 2024
afcd101
Native/SPIRV-Reflect: Build with -O3 instead of -Os.
alexrp Apr 14, 2024
120d4d8
Native/SwiftShader: Build for linux-arm, linux-arm64, osx-arm64, and …
alexrp Apr 9, 2024
16e4fd7
Native/SwiftShader: Don't build tests.
alexrp Apr 9, 2024
c435493
Native/SwiftShader: Strip Linux/macOS binaries after build.
alexrp Apr 9, 2024
b35ea38
Native/Vkd3d: Build with -O3 instead of -Os.
alexrp Apr 14, 2024
372fec7
Native/Vulkan Loader: Build for linux-arm64, osx-arm64, and win-x86.
alexrp Apr 9, 2024
bfede84
Native/Vulkan Loader: Strip Linux/macOS binaries after build.
alexrp Apr 9, 2024
d30f67b
Native/wgpu-native: Build for linux-arm and linux-arm64.
alexrp Apr 7, 2024
3c2ec3a
Native/wgpu-native: Drop linux-x86 support.
alexrp Apr 13, 2024
7609cf1
New binaries for GLFW on Darwin 23.4.0 Darwin Kernel Version 23.4.0: …
dotnet-bot Apr 14, 2024
05043ad
New binaries for Vulkan Loader on Darwin 23.4.0 Darwin Kernel Version…
dotnet-bot Apr 14, 2024
473b739
New binaries for Wgpu on Darwin 23.4.0 Darwin Kernel Version 23.4.0: …
dotnet-bot Apr 14, 2024
934755e
New binaries for GLFW on Darwin 23.4.0 Darwin Kernel Version 23.4.0: …
dotnet-bot Apr 14, 2024
67436e1
Merge branch 'feature/natives' into ci/feature/natives/glfw_bins
dotnet-bot Apr 14, 2024
9b1d7d6
New binaries for SPIRV-Reflect on Linux 6.5.0-1017-azure #17~22.04.1-…
dotnet-bot Apr 14, 2024
f9e24bc
New binaries for GLFW on Linux 6.5.0-1017-azure #17~22.04.1-Ubuntu SM…
dotnet-bot Apr 14, 2024
c46f535
Merge branch 'feature/natives' into ci/feature/natives/glfw_bins
dotnet-bot Apr 14, 2024
ed94355
New binaries for Vulkan Loader on Linux 6.5.0-1017-azure #17~22.04.1-…
dotnet-bot Apr 14, 2024
6a8100a
Merge branch 'feature/natives' into ci/feature/natives/vulkan_loader_…
dotnet-bot Apr 14, 2024
be9d9b7
New binaries for GLFW on Microsoft Windows 10.0.20348
dotnet-bot Apr 14, 2024
cae54b2
Merge branch 'feature/natives' into ci/feature/natives/glfw_bins
dotnet-bot Apr 14, 2024
07248bf
New binaries for Wgpu on Linux 6.5.0-1017-azure #17~22.04.1-Ubuntu SM…
dotnet-bot Apr 14, 2024
137dcb2
Merge branch 'feature/natives' into ci/feature/natives/wgpu_bins
dotnet-bot Apr 14, 2024
5674f9e
New binaries for SDL2 on Darwin 23.4.0 Darwin Kernel Version 23.4.0: …
dotnet-bot Apr 14, 2024
f613884
New binaries for Assimp on Darwin 23.4.0 Darwin Kernel Version 23.4.0…
dotnet-bot Apr 14, 2024
19c3794
New binaries for SDL2 on Microsoft Windows 10.0.20348
dotnet-bot Apr 14, 2024
90ab2ef
Merge branch 'feature/natives' into ci/feature/natives/sdl2_bins
dotnet-bot Apr 14, 2024
9b1075e
New binaries for GLFW on Linux 6.5.0-1017-azure #17~22.04.1-Ubuntu SM…
dotnet-bot Apr 14, 2024
99bcecf
Merge branch 'feature/natives' into ci/feature/natives/glfw_bins
dotnet-bot Apr 14, 2024
d14cd4e
New binaries for GLFW on Microsoft Windows 10.0.20348
dotnet-bot Apr 14, 2024
6831aec
Merge branch 'feature/natives' into ci/feature/natives/glfw_bins
dotnet-bot Apr 14, 2024
4204142
New binaries for SDL2 on Linux 6.5.0-1017-azure #17~22.04.1-Ubuntu SM…
dotnet-bot Apr 14, 2024
46e4363
Merge branch 'feature/natives' into ci/feature/natives/sdl2_bins
dotnet-bot Apr 14, 2024
64c81e7
New binaries for Wgpu on Microsoft Windows 10.0.20348
dotnet-bot Apr 14, 2024
887dfed
Merge branch 'feature/natives' into ci/feature/natives/wgpu_bins
dotnet-bot Apr 14, 2024
773f436
New binaries for SPIRV-Cross on Linux 6.5.0-1017-azure #17~22.04.1-Ub…
dotnet-bot Apr 14, 2024
998b6fa
New binaries for Assimp on Microsoft Windows 10.0.20348
dotnet-bot Apr 14, 2024
f356604
Merge branch 'feature/natives' into ci/feature/natives/assimp_bins
dotnet-bot Apr 14, 2024
1c2a76e
New binaries for Vkd3d on Linux 6.5.0-1017-azure #17~22.04.1-Ubuntu S…
dotnet-bot Apr 14, 2024
b442a4b
New binaries for MoltenVK on Darwin 22.6.0 Darwin Kernel Version 22.6…
dotnet-bot Apr 14, 2024
c24bb4a
New binaries for Vulkan Loader on Microsoft Windows 10.0.20348
dotnet-bot Apr 14, 2024
e607aba
Merge branch 'feature/natives' into ci/feature/natives/vulkan_loader_…
dotnet-bot Apr 14, 2024
ea2f9bd
New binaries for Assimp on Linux 6.5.0-1017-azure #17~22.04.1-Ubuntu …
dotnet-bot Apr 14, 2024
131bc88
Merge branch 'feature/natives' into ci/feature/natives/assimp_bins
dotnet-bot Apr 14, 2024
343f118
New binaries for DXVK on Linux 6.5.0-1017-azure #17~22.04.1-Ubuntu SM…
dotnet-bot Apr 14, 2024
784b842
New binaries for SwiftShader on Darwin 23.4.0 Darwin Kernel Version 2…
dotnet-bot Apr 14, 2024
1e3d35b
New binaries for SwiftShader on Microsoft Windows 10.0.20348
dotnet-bot Apr 14, 2024
69fb824
Merge branch 'feature/natives' into ci/feature/natives/swiftshader_bins
dotnet-bot Apr 14, 2024
e3e8734
New binaries for Shaderc on Linux 6.5.0-1017-azure #17~22.04.1-Ubuntu…
dotnet-bot Apr 14, 2024
8c4c3ae
New binaries for SwiftShader on Linux 6.5.0-1017-azure #17~22.04.1-Ub…
dotnet-bot Apr 14, 2024
cc1dbcc
Merge branch 'feature/natives' into ci/feature/natives/swiftshader_bins
dotnet-bot Apr 14, 2024
dc8f075
Merge pull request #2109 from dotnet/ci/feature/natives/shaderc_bins
alexrp Apr 14, 2024
d934ae3
Merge pull request #2108 from dotnet/ci/feature/natives/swiftshader_bins
alexrp Apr 14, 2024
d9438a4
Merge pull request #2107 from dotnet/ci/feature/natives/dxvk_bins
alexrp Apr 14, 2024
bb99dba
Merge pull request #2106 from dotnet/ci/feature/natives/moltenvk_bins
alexrp Apr 14, 2024
18034ed
Merge pull request #2105 from dotnet/ci/feature/natives/vkd3d_bins
alexrp Apr 14, 2024
1b08df7
Merge pull request #2104 from dotnet/ci/feature/natives/spirv-cross_bins
alexrp Apr 14, 2024
ce6ce52
Merge pull request #2103 from dotnet/ci/feature/natives/assimp_bins
alexrp Apr 14, 2024
91d1cc1
Merge pull request #2102 from dotnet/ci/feature/natives/sdl2_bins
alexrp Apr 14, 2024
1d2964b
Merge pull request #2101 from dotnet/ci/feature/natives/spirv-reflect…
alexrp Apr 14, 2024
472497d
Merge pull request #2100 from dotnet/ci/feature/natives/wgpu_bins
alexrp Apr 14, 2024
e6466a0
Merge pull request #2098 from dotnet/ci/feature/natives/glfw_bins
alexrp Apr 14, 2024
e955cd4
Merge pull request #2099 from dotnet/ci/feature/natives/vulkan_loader…
alexrp Apr 14, 2024
b98f775
Native/GLFW: Fix incorrect library file name in package.
alexrp Apr 14, 2024
43e6b24
New binaries for GLFW on Linux 6.5.0-1017-azure #17~22.04.1-Ubuntu SM…
dotnet-bot Apr 14, 2024
4232257
New binaries for GLFW on Microsoft Windows 10.0.20348
dotnet-bot Apr 14, 2024
3e84b4a
Merge branch 'feature/natives' into ci/feature/natives/glfw_bins
dotnet-bot Apr 14, 2024
bdda62c
Merge pull request #2111 from dotnet/ci/feature/natives/glfw_bins
alexrp Apr 14, 2024
303e850
Native/OpenAL Soft: Explicitly disable sndio support.
alexrp Apr 14, 2024
fc18f2c
Native/OpenAL Soft: Ensure that D-Bus libraries are installed in CI.
alexrp Apr 14, 2024
280c8e9
Native/OpenAL Soft: Fix library/PR name.
alexrp Apr 14, 2024
6835bb0
Native/OpenAL Soft: Only install JACK for amd64 in the workflow.
alexrp Apr 14, 2024
68d6289
Native/SDL: Only install JACK for amd64 in the workflow.
alexrp Apr 14, 2024
4098bef
New binaries for SDL2 on Darwin 23.4.0 Darwin Kernel Version 23.4.0: …
dotnet-bot Apr 14, 2024
386a5df
New binaries for SDL2 on Microsoft Windows 10.0.20348
dotnet-bot Apr 14, 2024
d6532ab
Merge branch 'feature/natives' into ci/feature/natives/sdl2_bins
dotnet-bot Apr 14, 2024
a91fc8d
New binaries for OpenALSoft on Microsoft Windows 10.0.20348
dotnet-bot Apr 14, 2024
1b7a212
New binaries for SDL2 on Linux 6.5.0-1017-azure #17~22.04.1-Ubuntu SM…
dotnet-bot Apr 14, 2024
6689ce7
Merge branch 'feature/natives' into ci/feature/natives/sdl2_bins
dotnet-bot Apr 14, 2024
ada5115
New binaries for OpenALSoft on Linux 6.5.0-1017-azure #17~22.04.1-Ubu…
dotnet-bot Apr 14, 2024
9970dbf
Merge branch 'feature/natives' into ci/feature/natives/openalsoft_bins
dotnet-bot Apr 14, 2024
aba6ecd
Merge pull request #2114 from dotnet/ci/feature/natives/openalsoft_bins
alexrp Apr 14, 2024
627d67a
Merge pull request #2113 from dotnet/ci/feature/natives/sdl2_bins
alexrp Apr 14, 2024
a6252a0
Native/Workflows: Add comments explaining APT sources.
alexrp Apr 18, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 26 additions & 6 deletions .github/workflows/assimp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,37 @@ jobs:
fail-fast: false
matrix:
env:
- os: ubuntu-latest
- os: ubuntu-22.04
name: Linux
nuke_invoke: ./build.sh
extras: |
sudo apt-get update
sudo apt-get install -y xorg-dev
- os: windows-latest
# We need to adjust APT sources for multiarch. Use the ones corresponding to
# Ubuntu 22.04 with appropriate `arch` values. ports.ubuntu.com is required
# for armhf and arm64.
sudo tee /etc/apt/sources.list << EOF
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy main universe
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-backports main universe
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-security main universe
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-updates main universe
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy main universe
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-backports main universe
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-security main universe
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-updates main universe
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy main universe
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-backports main universe
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-security main universe
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-updates main universe
EOF
sudo dpkg --add-architecture arm64
sudo dpkg --add-architecture armhf
sudo apt update
sudo apt install -y gcc-aarch64-linux-gnu gcc-arm-linux-gnueabihf
sudo apt install -y g++-aarch64-linux-gnu g++-arm-linux-gnueabihf
- os: windows-2022
name: Windows
nuke_invoke: ./build.cmd
extras: ""
- os: macos-latest
- os: macos-14
name: Darwin
nuke_invoke: ./build.sh
extras: ""
Expand All @@ -41,7 +61,7 @@ jobs:
run: |
git -c submodule.third_party/git-hooks.update=none submodule update --init --recursive --depth 0 build/submodules/Assimp
git config --local user.email "[email protected]"
git config --local user.name "The Silk.NET Automaton"
git config --local user.name "The Silk.NET Automaton"
- name: Extra prerequisites
run: |
echo running extras
Expand Down
36 changes: 30 additions & 6 deletions .github/workflows/glfw.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,41 @@ jobs:
fail-fast: false
matrix:
env:
- os: ubuntu-latest
- os: ubuntu-22.04
name: Linux
nuke_invoke: ./build.sh
extras: |
sudo apt-get update
sudo apt-get install -y xorg-dev libwayland-dev libxkbcommon-dev
- os: windows-latest
# We need to adjust APT sources for multiarch. Use the ones corresponding to
# Ubuntu 22.04 with appropriate `arch` values. ports.ubuntu.com is required
# for armhf and arm64.
sudo tee /etc/apt/sources.list << EOF
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy main multiverse restricted universe
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-backports main multiverse restricted universe
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-security main multiverse restricted universe
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-updates main multiverse restricted universe
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy main multiverse restricted universe
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-backports main multiverse restricted universe
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-security main multiverse restricted universe
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-updates main multiverse restricted universe
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy main multiverse restricted universe
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-backports main multiverse restricted universe
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-security main multiverse restricted universe
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-updates main multiverse restricted universe
EOF
sudo dpkg --add-architecture arm64
sudo dpkg --add-architecture armhf
sudo apt update
sudo apt install -y gcc-aarch64-linux-gnu gcc-arm-linux-gnueabihf
sudo apt install -y extra-cmake-modules pkg-config wayland-protocols
for arch in amd64 arm64 armhf; do
sudo apt install -y libwayland-dev:$arch libxcursor-dev:$arch libxi-dev:$arch
sudo apt install -y libxinerama-dev:$arch libxrandr-dev:$arch libxkbcommon-dev:$arch
done
- os: windows-2022
name: Windows
nuke_invoke: ./build.cmd
extras: ""
- os: macos-latest
- os: macos-14
name: Darwin
nuke_invoke: ./build.sh
extras: ""
Expand All @@ -41,7 +65,7 @@ jobs:
run: |
git -c submodule.third_party/git-hooks.update=none submodule update --init --recursive --depth 0 build/submodules/GLFW
git config --local user.email "[email protected]"
git config --local user.name "The Silk.NET Automaton"
git config --local user.name "The Silk.NET Automaton"
- name: Extra prerequisites
run: |
echo running extras
Expand Down
86 changes: 86 additions & 0 deletions .github/workflows/openal-soft.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
name: OpenAL Soft
on:
push:
branches-ignore:
- "ci/**"
- "develop/**"
- "main"
paths:
- build/submodules/openal-soft
- build/nuke/Native/Core.cs
- build/nuke/Native/OpenALSoft.cs
- .github/workflows/openal-soft.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
extras: |
# We need to adjust APT sources for multiarch. Use the ones corresponding to
# Ubuntu 22.04 with appropriate `arch` values. ports.ubuntu.com is required
# for armhf and arm64.
sudo tee /etc/apt/sources.list << EOF
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy main multiverse restricted universe
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-backports main multiverse restricted universe
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-security main multiverse restricted universe
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-updates main multiverse restricted universe
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy main multiverse restricted universe
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-backports main multiverse restricted universe
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-security main multiverse restricted universe
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-updates main multiverse restricted universe
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy main multiverse restricted universe
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-backports main multiverse restricted universe
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-security main multiverse restricted universe
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-updates main multiverse restricted universe
EOF
sudo dpkg --add-architecture arm64
sudo dpkg --add-architecture armhf
sudo apt update
sudo apt install -y gcc-aarch64-linux-gnu gcc-arm-linux-gnueabihf
sudo apt install -y g++-aarch64-linux-gnu g++-arm-linux-gnueabihf
for arch in amd64 arm64 armhf; do
sudo apt install -y libasound2-dev:$arch libpulse-dev:$arch libsoundio-dev:$arch
sudo apt install -y libsndfile1-dev:$arch libmysofa-dev:$arch qtbase5-dev:$arch
sudo apt install -y libdbus-1-dev:$arch
done
# These packages aren't multiarch-compatible in 22.04, so we prioritize amd64 for these.
sudo apt install -y libjack-dev portaudio19-dev
- os: windows-2022
name: Windows
nuke_invoke: ./build.cmd
extras: ""
- 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 --depth 0 build/submodules/openal-soft
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 }}
- name: Setup .NET 6.0 and .NET 7.0
uses: actions/setup-dotnet@v1
with:
dotnet-version: |
6.0.201
7.0.*
- name: Build OpenAL Soft
run: ${{ matrix.env.nuke_invoke }} openalsoft
env:
PUSHABLE_GITHUB_TOKEN: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}

42 changes: 37 additions & 5 deletions .github/workflows/sdl2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,15 @@ jobs:
fail-fast: false
matrix:
env:
- os: ubuntu-latest
- os: ubuntu-22.04
name: Linux
nuke_invoke: ./build.sh
- os: windows-latest
- os: windows-2022
name: Windows
nuke_invoke: ./build.cmd
extras: |
pwsh build\Install-WindowsSDK.ps1
- os: macos-latest
- os: macos-14
name: Darwin
nuke_invoke: ./build.sh
extras: ""
Expand Down Expand Up @@ -56,8 +56,39 @@ jobs:
uses: Beyley/run-as-1804@239b211a2ca687388b6251d6dab22cb90ac0391d
with:
command: |
# We need to adjust APT sources for multiarch. Use the ones corresponding to
# Ubuntu 18.04 with appropriate `arch` values. ports.ubuntu.com is required
# for armhf and arm64.
tee /etc/apt/sources.list << EOF
deb [arch=amd64] http://archive.ubuntu.com/ubuntu bionic main multiverse restricted universe
deb [arch=amd64] http://archive.ubuntu.com/ubuntu bionic-backports main multiverse restricted universe
deb [arch=amd64] http://archive.ubuntu.com/ubuntu bionic-security main multiverse restricted universe
deb [arch=amd64] 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] http://security.ubuntu.com/ubuntu bionic main multiverse restricted universe
deb [arch=amd64] http://security.ubuntu.com/ubuntu bionic-backports main multiverse restricted universe
deb [arch=amd64] http://security.ubuntu.com/ubuntu bionic-security main multiverse restricted universe
deb [arch=amd64] http://security.ubuntu.com/ubuntu bionic-updates main multiverse restricted universe
EOF
dpkg --add-architecture arm64
dpkg --add-architecture armhf
apt update
apt install -y python3 curl wget build-essential git make autoconf gcc-multilib g++-multilib automake libtool pkg-config ninja-build gnome-desktop-testing libasound2-dev libpulse-dev libaudio-dev libjack-dev libsndio-dev libsamplerate0-dev libx11-dev libxext-dev libxrandr-dev libxcursor-dev libxfixes-dev libxi-dev libxss-dev libwayland-dev libxkbcommon-dev libdrm-dev libgbm-dev libgl1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev libdbus-1-dev libibus-1.0-dev libudev-dev fcitx-libs-dev
apt install -y gcc gcc-aarch64-linux-gnu gcc-arm-linux-gnueabihf
apt install -y g++ g++-aarch64-linux-gnu g++-arm-linux-gnueabihf
apt install -y automake build-essential curl git libtool pkg-config python3 wget
for arch in amd64 arm64 armhf; do
apt install -y libasound2-dev:$arch libpulse-dev:$arch libaudio-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
# This package isn't multiarch-compatible in 22.04, so we prioritize amd64 for this.
apt install -y libjack-dev

wget https://dot.net/v1/dotnet-install.sh -O dotnet-install.sh
chmod +x ./dotnet-install.sh
Expand All @@ -72,6 +103,7 @@ jobs:

# 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:
Expand All @@ -82,5 +114,5 @@ jobs:
run: ${{ matrix.env.nuke_invoke }} SDL2
env:
PUSHABLE_GITHUB_TOKEN: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}


3 changes: 0 additions & 3 deletions .github/workflows/shaderc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,6 @@ jobs:
- os: ubuntu-latest
name: Linux
nuke_invoke: ./build.sh
extras: |
sudo apt-get update
sudo apt-get install -y build-essential binutils-aarch64-linux-gnu
name: ${{ matrix.env.name }} Build
runs-on: ${{ matrix.env.os }}
steps:
Expand Down
3 changes: 0 additions & 3 deletions .github/workflows/spirv-cross.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,6 @@ jobs:
- os: ubuntu-latest
name: Linux
nuke_invoke: ./build.sh
extras: |
sudo apt-get update
sudo apt-get install -y build-essential
name: ${{ matrix.env.name }} Build
runs-on: ${{ matrix.env.os }}
steps:
Expand Down
3 changes: 0 additions & 3 deletions .github/workflows/spirv-reflect.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,6 @@ jobs:
- os: ubuntu-latest
name: Linux
nuke_invoke: ./build.sh
extras: |
sudo apt-get update
sudo apt-get install -y build-essential
name: ${{ matrix.env.name }} Build
runs-on: ${{ matrix.env.os }}
steps:
Expand Down
35 changes: 29 additions & 6 deletions .github/workflows/swiftshader.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,17 +17,40 @@ jobs:
fail-fast: false
matrix:
env:
- os: ubuntu-latest
- os: ubuntu-22.04
name: Linux
nuke_invoke: ./build.sh
extras: |
sudo apt-get update
sudo apt-get install -y libx11-xcb-dev
- os: windows-latest
# We need to adjust APT sources for multiarch. Use the ones corresponding to
# Ubuntu 22.04 with appropriate `arch` values. ports.ubuntu.com is required
# for armhf and arm64.
sudo tee /etc/apt/sources.list << EOF
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy main multiverse restricted universe
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-backports main multiverse restricted universe
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-security main multiverse restricted universe
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-updates main multiverse restricted universe
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy main multiverse restricted universe
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-backports main multiverse restricted universe
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-security main multiverse restricted universe
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-updates main multiverse restricted universe
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy main multiverse restricted universe
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-backports main multiverse restricted universe
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-security main multiverse restricted universe
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-updates main multiverse restricted universe
EOF
sudo dpkg --add-architecture arm64
sudo dpkg --add-architecture armhf
sudo apt update
sudo apt install -y gcc-aarch64-linux-gnu gcc-arm-linux-gnueabihf
sudo apt install -y g++-aarch64-linux-gnu g++-arm-linux-gnueabihf
for arch in amd64 arm64 armhf; do
sudo apt install -y libx11-xcb-dev:$arch
done
- os: windows-2022
name: Windows
nuke_invoke: ./build.cmd
extras: ""
- os: macos-latest
- os: macos-14
name: Darwin
nuke_invoke: ./build.sh
extras: ""
Expand All @@ -41,7 +64,7 @@ jobs:
run: |
git -c submodule.third_party/git-hooks.update=none submodule update --init --recursive --depth 0 build/submodules/SwiftShader
git config --local user.email "[email protected]"
git config --local user.name "The Silk.NET Automaton"
git config --local user.name "The Silk.NET Automaton"
- name: Extra prerequisites
run: |
echo running extras
Expand Down
Loading