Skip to content

Commit

Permalink
Merge branch 'main' into proposal/bindings-owners
Browse files Browse the repository at this point in the history
  • Loading branch information
Perksey authored Jan 27, 2025
2 parents 0c7ca16 + 76cb3d0 commit 047aefb
Show file tree
Hide file tree
Showing 1,901 changed files with 503,294 additions and 60,787 deletions.
8 changes: 8 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,17 @@ updates:
schedule:
interval: weekly
day: thursday
groups:
silk2_deps:
patterns:
- "*"
- package-ecosystem: nuget
target-branch: develop/3.0
directory: "/"
schedule:
interval: weekly
day: thursday
groups:
silk3_deps:
patterns:
- "*"
43 changes: 43 additions & 0 deletions .github/workflows/angle.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: ANGLE
on:
push:
branches-ignore:
- "ci/**"
- "develop/**"
- "main"
paths:
- build/submodules/ANGLE
- build/nuke/Native/Core.cs
- build/nuke/Native/Angle.cs
- .github/workflows/angle.yml
jobs:
Build:
if: github.repository == 'dotnet/Silk.NET'
strategy:
fail-fast: false
matrix:
env:
- os: macos-13-xlarge
name: Darwin
nuke_invoke: ./build.sh
name: ${{ matrix.env.name }} Build
runs-on: ${{ matrix.env.os }}
steps:
- uses: actions/checkout@v2
with:
token: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}

- name: Configure git
run: |
git config --local user.email "[email protected]"
git config --local user.name "The Silk.NET Automaton"
# Install python
- uses: actions/setup-python@v4
with:
python-version: "3.10"

- name: Build ANGLE
run: ${{ matrix.env.nuke_invoke }} Angle
env:
PUSHABLE_GITHUB_TOKEN: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}
37 changes: 29 additions & 8 deletions .github/workflows/assimp.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,12 @@ name: Assimp
on:
push:
branches-ignore:
- "ci/*"
- "develop/*"
- "ci/**"
- "develop/**"
- "main"
paths:
- build/submodules/Assimp
- "build/cmake/*"
- build/nuke/Native/Core.cs
- build/nuke/Native/Assimp.cs
- .github/workflows/assimp.yml
Expand All @@ -17,17 +18,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 +62,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
9 changes: 3 additions & 6 deletions .github/workflows/bindings-regeneration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@ jobs:
token: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}
- name: Checkout submodules, configure git.
run: |
git -c submodule.third_party/git-hooks.update=none submodule update --init --recursive
# Keep this in sync with generator.json!
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
git submodule update --init --depth 0 --recursive build/submodules/wgpu-native
git config --local user.email "[email protected]"
git config --local user.name "The Silk.NET Automaton"
- name: Setup .NET Core
Expand Down Expand Up @@ -44,11 +46,6 @@ jobs:
uses: actions/setup-dotnet@v1
with:
dotnet-version: 3.1.404
- name: Setup NUKE
run: dotnet tool install Nuke.GlobalTool --global
- name: Install Workloads
# TODO: This is slow. Maybe we can make a docker container with this already done?
run: dotnet workload install android ios maccatalyst
- uses: GuillaumeFalourd/[email protected]
name: Setup Windows 11 SDK
with:
Expand Down
20 changes: 9 additions & 11 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ on:
push:
branches:
- 'main'
- 'release/*'
- 'release/**'
paths-ignore:
- 'documentation/**'
tags:
Expand Down Expand Up @@ -59,27 +59,25 @@ jobs:
run: ./build.sh ValidateSolution
- name: Pack (CI)
if: ${{ github.repository != 'dotnet/Silk.NET' || !startsWith(github.ref, 'refs/tags/') }}
# TODO build native mixins such as BuildLibSilkDroid
# Use a release NUKE so it doesn't interfere with the debug build
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
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
env:
ANDROID_HOME: /Users/runner/Library/Android/sdk
- name: Pack (CD)
if: ${{ github.repository == 'dotnet/Silk.NET' && startsWith(github.ref, 'refs/tags/') }}
# TODO build native mixins such as BuildLibSilkDroid
run: ./build.sh Pack --configuration Release --msbuild-properties ContinuousIntegrationBuild=true
- name: Upload Unsigned Artifacts to Actions
uses: actions/upload-artifact@v2.2.4
uses: actions/upload-artifact@v4
with:
name: unsigned_nupkgs
path: "build/output_packages/*.nupkg"
path: "build/output_packages/*nupkg"
if-no-files-found: warn
retention-days: 1
- name: Push to Experimental Feed
if: ${{ github.repository == 'dotnet/Silk.NET' && github.event_name != 'pull_request' }}
if: ${{ github.repository == 'dotnet/Silk.NET' }}
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 }}
- name: Push to GitHub Packages
if: ${{ github.repository == 'dotnet/Silk.NET' && github.event_name != 'pull_request' }}
if: ${{ github.repository == 'dotnet/Silk.NET' }}
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 }}
PushRelease:
name: Push Release to NuGet
Expand All @@ -90,17 +88,17 @@ jobs:
- uses: actions/[email protected]
with:
submodules: 'false'
- uses: actions/download-artifact@v3
- uses: actions/download-artifact@v4
with:
name: unsigned_nupkgs
path: build/output_packages
- name: Sign Packages
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 }}
- name: Upload Signed Artifacts to Actions
uses: actions/upload-artifact@v2.2.4
uses: actions/upload-artifact@v4
with:
name: signed_nupkgs
path: "build/output_packages/*.nupkg"
path: "build/output_packages/*nupkg"
if-no-files-found: warn
- name: Push to NuGet
run: .\build.cmd PushToNuGet --skip Clean Restore Pack --nuget-api-key ${{ secrets.NUGET_TOKEN }}
6 changes: 3 additions & 3 deletions .github/workflows/dxvk.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ on:
- build/nuke/Native/Dxvk.cs
- .github/workflows/dxvk.yml
branches-ignore:
- "ci/*"
- "develop/*"
- "ci/**"
- "develop/**"
- "main"
jobs:
Build:
Expand Down Expand Up @@ -50,7 +50,7 @@ jobs:
uses: Joshua-Ashton/arch-mingw-github-action@12cb3126180924c3be54025b08f42e4e14da080b
with:
command: |
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
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
${{ matrix.env.nuke_invoke }} Dxvk
env:
Expand Down
41 changes: 33 additions & 8 deletions .github/workflows/glfw.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,12 @@ name: GLFW
on:
push:
branches-ignore:
- "ci/*"
- "develop/*"
- "ci/**"
- "develop/**"
- "main"
paths:
- "build/submodules/GLFW"
- "build/cmake/*"
- "build/nuke/Native/Core.cs"
- "build/nuke/Native/GLFW.cs"
- .github/workflows/glfw.yml
Expand All @@ -17,17 +18,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
- 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 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 +66,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
6 changes: 3 additions & 3 deletions .github/workflows/moltenvk.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ name: MoltenVK
on:
push:
branches-ignore:
- "ci/*"
- "develop/*"
- "ci/**"
- "develop/**"
- "main"
paths:
- build/submodules/MoltenVK
Expand All @@ -17,7 +17,7 @@ jobs:
fail-fast: false
matrix:
env:
- os: macos-latest
- os: macos-13-xlarge
name: Darwin
nuke_invoke: ./build.sh
extras: ""
Expand Down
Loading

0 comments on commit 047aefb

Please sign in to comment.