Skip to content

Commit 229c46f

Browse files
authored
Merge branch 'main' into hotfix/macos-15-xlarge
2 parents d44a50b + 0dc3175 commit 229c46f

File tree

1,243 files changed

+337200
-51180
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,243 files changed

+337200
-51180
lines changed

.github/dependabot.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,17 @@ updates:
66
schedule:
77
interval: weekly
88
day: thursday
9+
groups:
10+
silk2_deps:
11+
patterns:
12+
- "*"
913
- package-ecosystem: nuget
1014
target-branch: develop/3.0
1115
directory: "/"
1216
schedule:
1317
interval: weekly
1418
day: thursday
19+
groups:
20+
silk3_deps:
21+
patterns:
22+
- "*"

.github/workflows/bindings-regeneration.yml

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@ jobs:
1616
token: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}
1717
- name: Checkout submodules, configure git.
1818
run: |
19-
git -c submodule.third_party/git-hooks.update=none submodule update --init --recursive
19+
# Keep this in sync with generator.json!
20+
git -c submodule.third_party/git-hooks.update=none submodule update --init --depth 0 build/submodules/Vulkan-Headers build/submodules/Assimp build/submodules/SDL build/submodules/webgpu-headers build/submodules/dawn build/submodules/SPIRV-Headers build/submodules/SPIRV-Reflect build/submodules/SPIRV-Cross build/submodules/shaderc
21+
git submodule update --init --depth 0 --recursive build/submodules/wgpu-native
2022
git config --local user.email "[email protected]"
2123
git config --local user.name "The Silk.NET Automaton"
2224
- name: Setup .NET Core
@@ -44,11 +46,6 @@ jobs:
4446
uses: actions/setup-dotnet@v1
4547
with:
4648
dotnet-version: 3.1.404
47-
- name: Setup NUKE
48-
run: dotnet tool install Nuke.GlobalTool --global
49-
- name: Install Workloads
50-
# TODO: This is slow. Maybe we can make a docker container with this already done?
51-
run: dotnet workload install android ios maccatalyst
5249
- uses: GuillaumeFalourd/[email protected]
5350
name: Setup Windows 11 SDK
5451
with:

.github/workflows/build.yml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,14 +59,12 @@ jobs:
5959
run: ./build.sh ValidateSolution
6060
- name: Pack (CI)
6161
if: ${{ github.repository != 'dotnet/Silk.NET' || !startsWith(github.ref, 'refs/tags/') }}
62-
# TODO build native mixins such as BuildLibSilkDroid
6362
# Use a release NUKE so it doesn't interfere with the debug build
64-
run: dotnet run --project build/nuke/Silk.NET.NUKE.csproj -c Release -- Pack --configuration Debug --msbuild-properties VersionSuffix=build${{ github.run_number }}.0 ContinuousIntegrationBuild=true
63+
run: dotnet run --project build/nuke/Silk.NET.NUKE.csproj -c Release -- Pack --configuration Debug --msbuild-properties VersionSuffix=${{ github.event_name != 'pull_request' && format('build{0}.0', github.run_number) || format('pr{0}.{1}', github.event.number, github.run_number) }} ContinuousIntegrationBuild=true
6564
env:
6665
ANDROID_HOME: /Users/runner/Library/Android/sdk
6766
- name: Pack (CD)
6867
if: ${{ github.repository == 'dotnet/Silk.NET' && startsWith(github.ref, 'refs/tags/') }}
69-
# TODO build native mixins such as BuildLibSilkDroid
7068
run: ./build.sh Pack --configuration Release --msbuild-properties ContinuousIntegrationBuild=true
7169
- name: Upload Unsigned Artifacts to Actions
7270
uses: actions/upload-artifact@v4
@@ -76,10 +74,10 @@ jobs:
7674
if-no-files-found: warn
7775
retention-days: 1
7876
- name: Push to Experimental Feed
79-
if: ${{ github.repository == 'dotnet/Silk.NET' && github.event_name != 'pull_request' }}
77+
if: ${{ github.repository == 'dotnet/Silk.NET' }}
8078
run: ./build.sh PushToNuGet --skip Clean Restore Compile Pack --nuget-feed https://dotnet.github.io/Silk.NET/nuget/experimental/index.json --nuget-username ${{ secrets.EXP_NUGET_USERNAME }} --nuget-password ${{ secrets.EXP_NUGET_PASSWORD }} --nuget-api-key ${{ secrets.EXP_NUGET_PASSWORD }}
8179
- name: Push to GitHub Packages
82-
if: ${{ github.repository == 'dotnet/Silk.NET' && github.event_name != 'pull_request' }}
80+
if: ${{ github.repository == 'dotnet/Silk.NET' }}
8381
run: ./build.sh PushToNuGet --skip Clean Restore Compile Pack --nuget-feed https://nuget.pkg.github.com/dotnet/index.json --nuget-api-key ${{ secrets.GITHUB_TOKEN }}
8482
PushRelease:
8583
name: Push Release to NuGet

.github/workflows/public-api.yml

Lines changed: 0 additions & 77 deletions
This file was deleted.

.github/workflows/publish-site.yml

Lines changed: 17 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -3,40 +3,30 @@ on:
33
push:
44
branches:
55
- 'main'
6+
paths:
7+
- "documentation/**/*"
8+
- ".github/workflows/publish-site.yml"
69
permissions:
710
contents: read
811
pages: write
912
id-token: write
1013
jobs:
1114
Build:
15+
environment: github-pages
1216
runs-on: ubuntu-latest
1317
steps:
1418
- uses: actions/checkout@v2
15-
- name: Setup .NET 5.0
16-
uses: actions/setup-dotnet@v1
1719
with:
18-
dotnet-version: 5.0.401
19-
- name: Setup .NET 6.0
20-
uses: actions/setup-dotnet@v1
21-
with:
22-
dotnet-version: 6.0.201
23-
- name: Setup .NET 7.0
24-
uses: actions/setup-dotnet@v1
25-
with:
26-
dotnet-version: 7.0.102
27-
- name: Run Statiq
28-
run: dotnet run -c Release --project src/Website/Silk.NET.Statiq/Silk.NET.Statiq.csproj -- -l debug --nocache
29-
- name: Upload artifact
30-
uses: actions/upload-pages-artifact@v1
31-
with:
32-
path: "docs"
33-
Deploy:
34-
environment:
35-
name: github-pages
36-
url: ${{ steps.deployment.outputs.page_url }}
37-
runs-on: ubuntu-latest
38-
needs: Build
39-
steps:
40-
- name: Deploy to GitHub Pages
41-
id: deployment
42-
uses: actions/deploy-pages@v1
20+
ref: "develop/3.0"
21+
ssh-key: ${{ secrets.SILK_ACTIONS_DEPLOY_KEY }}
22+
- run: |
23+
git submodule update --init --recommend-shallow eng/submodules/silk.net-2.x
24+
cd eng/submodules/silk.net-2.x
25+
git fetch origin main
26+
git checkout FETCH_HEAD
27+
cd ../../..
28+
git add eng/submodules/silk.net-2.x
29+
git config --local user.email "[email protected]"
30+
git config --local user.name "The Silk.NET Automaton"
31+
git commit -m "Update Silk.NET 2.X submodule for website"
32+
git push

.github/workflows/sdl2.yml

Lines changed: 54 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ on:
1010
- "build/cmake/*"
1111
- build/nuke/Native/Core.cs
1212
- build/nuke/Native/SDL2.cs
13+
- build/nuke/Native/SilkDroid.cs
14+
- build/nuke/Build.Support.cs
1315
- .github/workflows/sdl2.yml
1416
jobs:
1517
Build:
@@ -21,15 +23,12 @@ jobs:
2123
- os: ubuntu-22.04
2224
name: Linux
2325
nuke_invoke: ./build.sh
24-
- os: windows-2022
26+
- os: windows-latest # runner is not setup for android yet
2527
name: Windows
26-
nuke_invoke: ./build.cmd
27-
extras: |
28-
pwsh build\Install-WindowsSDK.ps1
28+
nuke_invoke: ./build.cmd BuildLibSilkDroid
2929
- os: macos-14
3030
name: Darwin
3131
nuke_invoke: ./build.sh
32-
extras: ""
3332
name: ${{ matrix.env.name }} Build
3433
runs-on: ${{ matrix.env.os }}
3534
steps:
@@ -42,12 +41,52 @@ jobs:
4241
git -c submodule.third_party/git-hooks.update=none submodule update --init --recursive build/submodules/SDL
4342
git config --local user.email "[email protected]"
4443
git config --local user.name "The Silk.NET Automaton"
45-
46-
- name: Extra prerequisites
44+
- name: Setup .NET Core
45+
uses: actions/setup-dotnet@v3
46+
if: runner.os == 'Windows'
47+
with:
48+
dotnet-version: |
49+
6.0.201
50+
7.0.*
51+
8.0.*
52+
env:
53+
DOTNET_INSTALL_DIR: ~/.dotnet
54+
- name: Setup PowerShell Core
55+
continue-on-error: true
56+
if: runner.os == 'Windows'
57+
run: dotnet tool install --global PowerShell
58+
- name: Setup Java JDK 21
59+
uses: actions/[email protected]
60+
if: runner.os == 'Windows'
61+
with:
62+
java-version: 21
63+
distribution: "temurin"
64+
- name: Set PATH
65+
if: runner.os == 'Windows'
66+
id: set_path
4767
run: |
48-
echo running extras
49-
${{ matrix.env.extras }}
50-
68+
echo "cur_path=$env:PATH\n" >> $env:GITHUB_OUTPUT
69+
- name: Setup Android Environment
70+
uses: android-actions/setup-android@v3
71+
if: runner.os == 'Windows'
72+
env:
73+
PATH: "${{ env.DOTNET_ROOT }};${{ env.DOTNET_ROOT }}\\tools;${{ steps.set_path.outputs.cur_path }}"
74+
- name: Install Android Platforms
75+
if: runner.os == 'Windows'
76+
run: |
77+
sdkmanager --install "build-tools;30.0.2"
78+
sdkmanager --install "platform-tools"
79+
sdkmanager --install "platforms;android-31"
80+
sdkmanager --install "platforms;android-33"
81+
sdkmanager --install "platforms;android-34"
82+
sdkmanager --install "ndk-bundle"
83+
sdkmanager --install "ndk;21.4.7075529"
84+
- name: Setup Java JDK 11
85+
uses: actions/[email protected]
86+
if: runner.os == 'Windows'
87+
with:
88+
java-version: 11
89+
distribution: "temurin"
5190
# Install CMake
5291
- uses: lukka/get-cmake@latest
5392
if: runner.os != 'Linux'
@@ -110,10 +149,13 @@ jobs:
110149
env:
111150
PUSHABLE_GITHUB_TOKEN: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}
112151

152+
- name: Install Workloads
153+
if: runner.os == 'Windows'
154+
run: dotnet workload install android ios maccatalyst
155+
113156
- name: Build SDL2
114157
if: runner.os != 'Linux'
115-
run: ${{ matrix.env.nuke_invoke }} SDL2
158+
run: ${{ matrix.env.nuke_invoke }} SDL2 ${{ runner.os == 'Windows' && format('{0} {1}', '--native true --android-home-value', env.ANDROID_HOME) || '' }}
116159
env:
117160
PUSHABLE_GITHUB_TOKEN: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}
118161

119-

.github/workflows/shaderc.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,10 @@ jobs:
1717
fail-fast: false
1818
matrix:
1919
env:
20-
- os: ubuntu-latest
21-
name: Linux
22-
nuke_invoke: ./build.sh
20+
- os: windows-2022
21+
name: Windows
22+
nuke_invoke: ./build.cmd
23+
extras: ""
2324
name: ${{ matrix.env.name }} Build
2425
runs-on: ${{ matrix.env.os }}
2526
steps:
@@ -43,6 +44,7 @@ jobs:
4344
dotnet-version: |
4445
6.0.201
4546
7.0.*
47+
8.0.*
4648
- name: Build Shaderc
4749
run: ${{ matrix.env.nuke_invoke }} Shaderc
4850
env:

.github/workflows/swiftshader.yml

Lines changed: 14 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -19,34 +19,17 @@ jobs:
1919
matrix:
2020
env:
2121
- os: ubuntu-22.04
22-
name: Linux
22+
name: Linux x64
2323
nuke_invoke: ./build.sh
24-
extras: |
25-
# We need to adjust APT sources for multiarch. Use the ones corresponding to
26-
# Ubuntu 22.04 with appropriate `arch` values. ports.ubuntu.com is required
27-
# for armhf and arm64.
28-
sudo tee /etc/apt/sources.list << EOF
29-
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy main multiverse restricted universe
30-
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-backports main multiverse restricted universe
31-
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-security main multiverse restricted universe
32-
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-updates main multiverse restricted universe
33-
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy main multiverse restricted universe
34-
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-backports main multiverse restricted universe
35-
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-security main multiverse restricted universe
36-
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-updates main multiverse restricted universe
37-
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy main multiverse restricted universe
38-
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-backports main multiverse restricted universe
39-
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-security main multiverse restricted universe
40-
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-updates main multiverse restricted universe
41-
EOF
42-
sudo dpkg --add-architecture arm64
43-
sudo dpkg --add-architecture armhf
44-
sudo apt update
45-
sudo apt install -y gcc-aarch64-linux-gnu gcc-arm-linux-gnueabihf
46-
sudo apt install -y g++-aarch64-linux-gnu g++-arm-linux-gnueabihf
47-
for arch in amd64 arm64 armhf; do
48-
sudo apt install -y libx11-xcb-dev:$arch
49-
done
24+
nuke_extra: --matrix-arg linux-x64
25+
- os: ubuntu-22.04
26+
name: Linux ARM32
27+
nuke_invoke: ./build.sh
28+
nuke_extra: --matrix-arg linux-arm
29+
- os: ubuntu-22.04
30+
name: Linux ARM64
31+
nuke_invoke: ./build.sh
32+
nuke_extra: --matrix-arg linux-arm64
5033
- os: windows-2022
5134
name: Windows
5235
nuke_invoke: ./build.cmd
@@ -83,7 +66,10 @@ jobs:
8366
dotnet-version: |
8467
6.0.201
8568
7.0.*
69+
- name: Install Zig
70+
if: ${{ matrix.env.os == 'ubuntu-22.04' }}
71+
uses: goto-bus-stop/setup-zig@v2
8672
- name: Build SwiftShader
87-
run: ${{ matrix.env.nuke_invoke }} SwiftShader
73+
run: ${{ matrix.env.nuke_invoke }} SwiftShader ${{ matrix.env.nuke_extra }}
8874
env:
8975
PUSHABLE_GITHUB_TOKEN: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}

.github/workflows/vulkan-loader.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,10 +46,10 @@ jobs:
4646
for arch in amd64 arm64 armhf; do
4747
sudo apt install -y libx11-xcb-dev:$arch libxkbcommon-dev:$arch libwayland-dev:$arch libxrandr-dev:$arch
4848
done
49-
wget https://github.com/mstorsjo/llvm-mingw/releases/download/20240417/llvm-mingw-20240417-msvcrt-ubuntu-20.04-x86_64.tar.xz
49+
wget https://github.com/mstorsjo/llvm-mingw/releases/download/20241015/llvm-mingw-20241015-msvcrt-ubuntu-20.04-x86_64.tar.xz
5050
sudo mkdir /opt/llvm-mingw-msvcrt
51-
sudo tar xf llvm-mingw-20240417-msvcrt-ubuntu-20.04-x86_64.tar.xz --strip-components 1 -C /opt/llvm-mingw-msvcrt
52-
rm llvm-mingw-20240417-msvcrt-ubuntu-20.04-x86_64.tar.xz
51+
sudo tar xf llvm-mingw-20241015-msvcrt-ubuntu-20.04-x86_64.tar.xz --strip-components 1 -C /opt/llvm-mingw-msvcrt
52+
rm llvm-mingw-20241015-msvcrt-ubuntu-20.04-x86_64.tar.xz
5353
- os: windows-2022
5454
name: Windows
5555
nuke_invoke: ./build.cmd

0 commit comments

Comments
 (0)