Skip to content

Merge branch 'main' of https://github.com/utensil/native-land #49

Merge branch 'main' of https://github.com/utensil/native-land

Merge branch 'main' of https://github.com/utensil/native-land #49

Workflow file for this run

name: CI (C++)
on:
workflow_dispatch:
push:
branches: ["main"]
paths:
- "justfile"
- "yard-cpp/**"
- ".github/workflows/cpp.yml"
- "!**/README.md"
# paths-ignore:
# - "archived/**"
# - "**/README.md"
# - ".gitignore"
pull_request:
env:
CARGO_TERM_COLOR: always
# Sourced from https://vulkan.lunarg.com/sdk/home#linux
VULKAN_SDK_VERSION: "1.3.268"
# Sourced from https://archive.mesa3d.org/. Bumping this requires
# updating the mesa build in https://github.com/gfx-rs/ci-build and creating a new release.
MESA_VERSION: "23.3.1"
# Corresponds to https://github.com/gfx-rs/ci-build/releases
MESA_CI_BINARY_BUILD: "build18"
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- ubuntu-22.04
- windows-2022
# macos-15 is deploying, macos-latest is still macos-14
- macos-15
python-version: ["3.11"]
fail-fast: false
steps:
- uses: actions/checkout@v4
# with:
# fetch-depth: 2
- uses: extractions/setup-just@v2
with:
just-version: 1.36.0
# - name: Install the stable toolchain
# uses: dtolnay/rust-toolchain@stable
# with:
# components: rustfmt
# - name: Install the nightly toolchain
# uses: dtolnay/rust-toolchain@nightly
# with:
# components: rustfmt
# - name: Install latest nextest release
# uses: taiki-e/install-action@nextest
# - uses: actions/cache@v4
# with:
# path: |
# ~/.cargo/bin/
# ~/.cargo/registry/index/
# ~/.cargo/registry/cache/
# ~/.cargo/git/db/
# target/
# key: ${{ runner.os }}-cargo-test-${{ hashFiles('**/Cargo.toml') }}
- name: Setup Linux for GPU
if: runner.os == 'Linux'
uses: tracel-ai/github-actions/setup-linux@v1
with:
vulkan-sdk-version: ${{ env.VULKAN_SDK_VERSION }}
mesa-version: ${{ env.MESA_VERSION }}
mesa-ci-build-version: ${{ env.MESA_CI_BINARY_BUILD }}
- name: Install linux dependencies
if: runner.os == 'Linux'
run: |
sudo apt update
sudo apt install libwebkit2gtk-4.1-dev \
build-essential \
pkg-config \
curl \
wget \
file \
libxdo-dev \
libssl-dev \
libayatana-appindicator3-dev \
librsvg2-dev \
libx11-dev libasound2-dev libudev-dev libxkbcommon-x11-0 \
dpkg-dev libxext-dev libxft-dev libxpm-dev libtbb-dev libgif-dev
# - name: Run tests
# run: just test
# - name: Run tests (nightly)
# run: just test-nightly
- uses: ilammy/msvc-dev-cmd@v1
- name: Setup xmake
# if: runner.os == 'macOS' || runner.os == 'Linux'
uses: xmake-io/github-action-setup-xmake@v1
with:
xmake-version: '2.9.5'
- name: Run xmake project (non-Windows)
if: runner.os != 'Windows'
run: |
cd yard-cpp/xmake-xp
just run
- name: Run xmake project (Windows)
if: runner.os == 'Windows'
run: |
cd yard-cpp/xmake-xp
just run-win
- name: Run root project (non-Windows)
if: runner.os != 'Windows'
run: |
cd yard-cpp/root-xp
just run