Skip to content

Remove all features from CI to avoid nightly-only features #520

Remove all features from CI to avoid nightly-only features

Remove all features from CI to avoid nightly-only features #520

Workflow file for this run

name: CI
on:
push:
branches:
- master
pull_request:
branches:
- master
workflow_dispatch:
inputs:
error_debug:
type: boolean
required: false
default: false
force_debug:
type: boolean
required: false
default: false
jobs:
test-vulkanalia:
name: Test - Vulkanalia
runs-on: ubuntu-latest
env:
RUST_LOG: info
RUST_VERSION: 1.70.0
steps:
# Checkout
- name: Checkout Repository
uses: actions/checkout@v4
with:
submodules: true
# Dependencies
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ env.RUST_VERSION }}
# Test
- name: Cargo Test
run: cargo test
# Build (features)
- name: Cargo Build (vulkanalia-sys/no_std)
run: cargo build --manifest-path vulkanalia-sys/Cargo.toml --no-default-features
- name: Cargo Build (vulkanalia/no_std)
run: cargo build --manifest-path vulkanalia/Cargo.toml --no-default-features
- name: Cargo Test (vulkanalia-vma/bind)
run: cargo build --manifest-path ext/vma/Cargo.toml --features bind
# Debug
- name: Debug
uses: mxschmitt/action-tmate@v3
if: ${{ (failure() && inputs.error_debug) || inputs.force_debug }}
format-vulkanalia:
name: Format - Vulkanalia
runs-on: ubuntu-latest
env:
RUST_LOG: info
RUST_VERSION: 1.70.0
steps:
# Checkout
- name: Checkout Repository
uses: actions/checkout@v4
with:
submodules: true
# Dependencies
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ env.RUST_VERSION }}
components: rustfmt
# Format
- name: Cargo Format
run: cargo fmt --verbose -- --check
clippy-vulkanalia:
name: Clippy - Vulkanalia
runs-on: ubuntu-latest
env:
RUST_LOG: info
RUST_VERSION: 1.70.0
steps:
# Checkout
- name: Checkout Repository
uses: actions/checkout@v4
with:
submodules: true
# Dependencies
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ env.RUST_VERSION }}
components: clippy
# Clippy
- name: Cargo Clippy
run: cargo clippy
check-generator:
name: Check - Generator
runs-on: ubuntu-latest
steps:
# Checkout
- name: Checkout Repository
uses: actions/checkout@v4
with:
submodules: true
# Dependencies
- name: Install Java
uses: actions/setup-java@v1
with:
java-version: 21
# Check
- name: Check Generator
working-directory: ./generator
run: ./gradlew check
check-bindings:
name: Check - Bindings
runs-on: ubuntu-latest
env:
RUST_LOG: info
RUST_VERSION: 1.73.0
BINDGEN_VERSION: 0.68.1
steps:
# Checkout
- name: Checkout Repository
uses: actions/checkout@v4
with:
submodules: true
# Dependencies
- name: Install LLVM and Clang
uses: KyleMayes/install-llvm-action@v1
with:
version: 16
- name: Install Java
uses: actions/setup-java@v1
with:
java-version: 21
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: ${{ env.RUST_VERSION }}
components: rustfmt
- name: Cache Bindgen
id: cache-bindgen
uses: actions/cache@v2
with:
path: ~/.cargo/bin/bindgen
key: ${{ runner.os }}-${{ env.RUST_VERSION }}-${{ env.BINDGEN_VERSION }}
- name: Install Bindgen
if: steps.cache-bindgen.outputs.cache-hit != 'true'
run: cargo install bindgen-cli --version ${{ env.BINDGEN_VERSION }}
# Check
- name: Check Bindings
working-directory: ./generator
run: ./gradlew run --args="--directory=.. check"
# Debug
- name: Debug
uses: mxschmitt/action-tmate@v3
if: ${{ (failure() && inputs.error_debug) || inputs.force_debug }}