Skip to content

Commit 047aefb

Browse files
authored
Merge branch 'main' into proposal/bindings-owners
2 parents 0c7ca16 + 76cb3d0 commit 047aefb

File tree

1,901 files changed

+503294
-60787
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,901 files changed

+503294
-60787
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/angle.yml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
name: ANGLE
2+
on:
3+
push:
4+
branches-ignore:
5+
- "ci/**"
6+
- "develop/**"
7+
- "main"
8+
paths:
9+
- build/submodules/ANGLE
10+
- build/nuke/Native/Core.cs
11+
- build/nuke/Native/Angle.cs
12+
- .github/workflows/angle.yml
13+
jobs:
14+
Build:
15+
if: github.repository == 'dotnet/Silk.NET'
16+
strategy:
17+
fail-fast: false
18+
matrix:
19+
env:
20+
- os: macos-13-xlarge
21+
name: Darwin
22+
nuke_invoke: ./build.sh
23+
name: ${{ matrix.env.name }} Build
24+
runs-on: ${{ matrix.env.os }}
25+
steps:
26+
- uses: actions/checkout@v2
27+
with:
28+
token: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}
29+
30+
- name: Configure git
31+
run: |
32+
git config --local user.email "9011267+dotnet-bot@users.noreply.github.com"
33+
git config --local user.name "The Silk.NET Automaton"
34+
35+
# Install python
36+
- uses: actions/setup-python@v4
37+
with:
38+
python-version: "3.10"
39+
40+
- name: Build ANGLE
41+
run: ${{ matrix.env.nuke_invoke }} Angle
42+
env:
43+
PUSHABLE_GITHUB_TOKEN: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}

.github/workflows/assimp.yml

Lines changed: 29 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,12 @@ name: Assimp
22
on:
33
push:
44
branches-ignore:
5-
- "ci/*"
6-
- "develop/*"
5+
- "ci/**"
6+
- "develop/**"
77
- "main"
88
paths:
99
- build/submodules/Assimp
10+
- "build/cmake/*"
1011
- build/nuke/Native/Core.cs
1112
- build/nuke/Native/Assimp.cs
1213
- .github/workflows/assimp.yml
@@ -17,17 +18,37 @@ jobs:
1718
fail-fast: false
1819
matrix:
1920
env:
20-
- os: ubuntu-latest
21+
- os: ubuntu-22.04
2122
name: Linux
2223
nuke_invoke: ./build.sh
2324
extras: |
24-
sudo apt-get update
25-
sudo apt-get install -y xorg-dev
26-
- os: windows-latest
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 universe
30+
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-backports main universe
31+
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-security main universe
32+
deb [arch=amd64] http://archive.ubuntu.com/ubuntu jammy-updates main universe
33+
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy main universe
34+
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-backports main universe
35+
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-security main universe
36+
deb [arch=arm64,armhf] http://ports.ubuntu.com jammy-updates main universe
37+
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy main universe
38+
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-backports main universe
39+
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-security main universe
40+
deb [arch=amd64] http://security.ubuntu.com/ubuntu jammy-updates main 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+
- os: windows-2022
2748
name: Windows
2849
nuke_invoke: ./build.cmd
2950
extras: ""
30-
- os: macos-latest
51+
- os: macos-14
3152
name: Darwin
3253
nuke_invoke: ./build.sh
3354
extras: ""
@@ -41,7 +62,7 @@ jobs:
4162
run: |
4263
git -c submodule.third_party/git-hooks.update=none submodule update --init --recursive --depth 0 build/submodules/Assimp
4364
git config --local user.email "9011267+dotnet-bot@users.noreply.github.com"
44-
git config --local user.name "The Silk.NET Automaton"
65+
git config --local user.name "The Silk.NET Automaton"
4566
- name: Extra prerequisites
4667
run: |
4768
echo running extras

.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 "9011267+dotnet-bot@users.noreply.github.com"
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/setup-windows10-sdk-action@v1.9
5350
name: Setup Windows 11 SDK
5451
with:

.github/workflows/build.yml

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ on:
33
push:
44
branches:
55
- 'main'
6-
- 'release/*'
6+
- 'release/**'
77
paths-ignore:
88
- 'documentation/**'
99
tags:
@@ -59,27 +59,25 @@ 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
72-
uses: actions/upload-artifact@v2.2.4
70+
uses: actions/upload-artifact@v4
7371
with:
7472
name: unsigned_nupkgs
75-
path: "build/output_packages/*.nupkg"
73+
path: "build/output_packages/*nupkg"
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
@@ -90,17 +88,17 @@ jobs:
9088
- uses: actions/checkout@v3.5.2
9189
with:
9290
submodules: 'false'
93-
- uses: actions/download-artifact@v3
91+
- uses: actions/download-artifact@v4
9492
with:
9593
name: unsigned_nupkgs
9694
path: build/output_packages
9795
- name: Sign Packages
9896
run: .\build.cmd SignPackages --akv-certificate ${{ secrets.AKV_CERTIFICATE }} --akv-client-id ${{ secrets.AKV_CLIENT_ID }} --akv-client-secret ${{ secrets.AKV_CLIENT_SECRET }} --akv-tenant ${{ secrets.AKV_TENANT }} --akv-vault-url ${{ secrets.AKV_VAULT_URL }}
9997
- name: Upload Signed Artifacts to Actions
100-
uses: actions/upload-artifact@v2.2.4
98+
uses: actions/upload-artifact@v4
10199
with:
102100
name: signed_nupkgs
103-
path: "build/output_packages/*.nupkg"
101+
path: "build/output_packages/*nupkg"
104102
if-no-files-found: warn
105103
- name: Push to NuGet
106104
run: .\build.cmd PushToNuGet --skip Clean Restore Pack --nuget-api-key ${{ secrets.NUGET_TOKEN }}

.github/workflows/dxvk.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ on:
77
- build/nuke/Native/Dxvk.cs
88
- .github/workflows/dxvk.yml
99
branches-ignore:
10-
- "ci/*"
11-
- "develop/*"
10+
- "ci/**"
11+
- "develop/**"
1212
- "main"
1313
jobs:
1414
Build:
@@ -50,7 +50,7 @@ jobs:
5050
uses: Joshua-Ashton/arch-mingw-github-action@12cb3126180924c3be54025b08f42e4e14da080b
5151
with:
5252
command: |
53-
pacman -Syu --needed --noconfirm dotnet-host dotnet-runtime dotnet-runtime-6.0 dotnet-sdk dotnet-sdk-6.0 dotnet-targeting-pack dotnet-targeting-pack-6.0 sdl2 lib32-sdl2
53+
pacman -Syu --needed --noconfirm dotnet-host dotnet-runtime dotnet-runtime-6.0 dotnet-runtime-7.0 dotnet-sdk dotnet-sdk-6.0 dotnet-sdk-7.0 dotnet-targeting-pack dotnet-targeting-pack-6.0 dotnet-targeting-pack-7.0 sdl2 lib32-sdl2
5454
5555
${{ matrix.env.nuke_invoke }} Dxvk
5656
env:

.github/workflows/glfw.yml

Lines changed: 33 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,12 @@ name: GLFW
22
on:
33
push:
44
branches-ignore:
5-
- "ci/*"
6-
- "develop/*"
5+
- "ci/**"
6+
- "develop/**"
77
- "main"
88
paths:
99
- "build/submodules/GLFW"
10+
- "build/cmake/*"
1011
- "build/nuke/Native/Core.cs"
1112
- "build/nuke/Native/GLFW.cs"
1213
- .github/workflows/glfw.yml
@@ -17,17 +18,41 @@ jobs:
1718
fail-fast: false
1819
matrix:
1920
env:
20-
- os: ubuntu-latest
21+
- os: ubuntu-22.04
2122
name: Linux
2223
nuke_invoke: ./build.sh
2324
extras: |
24-
sudo apt-get update
25-
sudo apt-get install -y xorg-dev
26-
- os: windows-latest
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 extra-cmake-modules wayland-protocols
47+
for arch in amd64 arm64 armhf; do
48+
sudo apt install -y libwayland-dev:$arch libxcursor-dev:$arch libxi-dev:$arch
49+
sudo apt install -y libxinerama-dev:$arch libxrandr-dev:$arch libxkbcommon-dev:$arch
50+
done
51+
- os: windows-2022
2752
name: Windows
2853
nuke_invoke: ./build.cmd
2954
extras: ""
30-
- os: macos-latest
55+
- os: macos-14
3156
name: Darwin
3257
nuke_invoke: ./build.sh
3358
extras: ""
@@ -41,7 +66,7 @@ jobs:
4166
run: |
4267
git -c submodule.third_party/git-hooks.update=none submodule update --init --recursive --depth 0 build/submodules/GLFW
4368
git config --local user.email "9011267+dotnet-bot@users.noreply.github.com"
44-
git config --local user.name "The Silk.NET Automaton"
69+
git config --local user.name "The Silk.NET Automaton"
4570
- name: Extra prerequisites
4671
run: |
4772
echo running extras

.github/workflows/moltenvk.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ name: MoltenVK
22
on:
33
push:
44
branches-ignore:
5-
- "ci/*"
6-
- "develop/*"
5+
- "ci/**"
6+
- "develop/**"
77
- "main"
88
paths:
99
- build/submodules/MoltenVK
@@ -17,7 +17,7 @@ jobs:
1717
fail-fast: false
1818
matrix:
1919
env:
20-
- os: macos-latest
20+
- os: macos-13-xlarge
2121
name: Darwin
2222
nuke_invoke: ./build.sh
2323
extras: ""

0 commit comments

Comments
 (0)