Skip to content

Regen Bindings

Regen Bindings #111

Workflow file for this run

name: WGPU
on:
push:
branches-ignore:
- "ci/**"
- "develop/**"
- "main"
paths:
- build/submodules/wgpu-native
- build/nuke/Native/Core.cs
- build/nuke/Native/Wgpu.cs
- .github/workflows/wgpu.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
# These are needed because Rust tooling is weird about cross-linking.
sudo apt install -y libgcc-11-dev libgcc-11-dev-arm64-cross libgcc-11-dev-armhf-cross
- 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: dtolnay/rust-toolchain@stable
if: runner.os == 'Windows'
with:
toolchain: stable-x86_64-pc-windows-msvc
- uses: dtolnay/rust-toolchain@stable
if: runner.os == 'Linux'
with:
toolchain: stable-x86_64-unknown-linux-gnu
- uses: dtolnay/rust-toolchain@stable
if: runner.os == 'macOS'
with:
toolchain: stable-aarch64-apple-darwin
- name: Add targets
if: runner.os == 'Windows'
run: |
rustup target add i686-pc-windows-msvc
rustup target add aarch64-pc-windows-msvc
- name: Add targets
if: runner.os == 'Linux'
run: |
rustup target add aarch64-unknown-linux-gnu
rustup target add arm-unknown-linux-gnueabihf
- name: Add targets
if: runner.os == 'macOS'
run: |
rustup target add x86_64-apple-darwin
- 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/wgpu-native
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
uses: actions/setup-dotnet@v1
with:
dotnet-version: 6.0.201
- name: Setup .NET 7.0.102
uses: actions/setup-dotnet@v1
with:
dotnet-version: 7.0.102
- name: Build WGPU
run: ${{ matrix.env.nuke_invoke }} Wgpu
env:
PUSHABLE_GITHUB_TOKEN: ${{ secrets.PUSHABLE_GITHUB_TOKEN }}