diff options
Diffstat (limited to 'gfx/wgpu/.github/workflows/ci.yml')
-rw-r--r-- | gfx/wgpu/.github/workflows/ci.yml | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/gfx/wgpu/.github/workflows/ci.yml b/gfx/wgpu/.github/workflows/ci.yml new file mode 100644 index 0000000000..662eb9990f --- /dev/null +++ b/gfx/wgpu/.github/workflows/ci.yml @@ -0,0 +1,115 @@ +name: CI + +on: + push: + branches-ignore: [staging.tmp] + pull_request: + branches-ignore: [staging.tmp] + +jobs: + ios_build: + name: iOS Stable + runs-on: macos-10.15 + env: + TARGET: aarch64-apple-ios + steps: + - uses: actions/checkout@v2 + - run: rustup component add clippy + - run: rustup target add ${{ env.TARGET }} + - run: cargo clippy --target ${{ env.TARGET }} + + android_build: + name: Android Stable + runs-on: ubuntu-18.04 + env: + TARGET: aarch64-linux-android + PKG_CONFIG_ALLOW_CROSS: 1 + steps: + - uses: actions/checkout@v2 + - name: Prepare + run: | + sudo apt-get update -y -qq + sudo apt-get install -y -qq libegl1-mesa-dev + echo "$ANDROID_HOME/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin" >> $GITHUB_PATH + - run: rustup component add clippy + - run: rustup target add ${{ env.TARGET }} + - run: cargo clippy --target ${{ env.TARGET }} + - name: Additional core features + run: cargo check --manifest-path wgpu-core/Cargo.toml --features trace --target ${{ env.TARGET }} + + build: + name: ${{ matrix.name }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [macos-10.15, ubuntu-18.04, windows-2019] + channel: [stable, nightly] + include: + - name: MacOS Stable + channel: stable + os: macos-10.15 + prepare_command: + additional_core_features: trace + additional_player_features: winit + - name: MacOS Nightly + os: macos-10.15 + channel: nightly + prepare_command: + additional_core_features: + additional_player_features: + - name: Ubuntu Stable + os: ubuntu-18.04 + channel: stable + prepare_command: | + sudo apt-get update -y -qq + sudo apt-get install -y -qq libegl1-mesa-dev + additional_core_features: trace,replay + additional_player_features: + - name: Ubuntu Nightly + os: ubuntu-18.04 + channel: nightly + prepare_command: | + sudo apt-get update -y -qq + echo "Installing EGL" + sudo apt-get install -y -qq libegl1-mesa-dev + echo "Installing Vulkan" + sudo apt-get install -y -qq mesa-vulkan-drivers + additional_core_features: serial-pass + additional_player_features: winit + - name: Windows Stable + os: windows-2019 + channel: stable + prepare_command: rustup default stable-msvc + additional_core_features: trace,serial-pass + additional_player_features: renderdoc + - name: Windows Nightly + os: windows-2019 + channel: nightly + prepare_command: rustup default nightly-msvc + additional_core_features: + additional_player_features: + steps: + - uses: actions/checkout@v2 + - if: matrix.channel == 'nightly' + name: Install latest nightly + uses: actions-rs/toolchain@v1 + with: + toolchain: nightly + override: true + - if: matrix.channel == 'stable' + run: rustup component add clippy + # prepare + - if: matrix.prepare_command != '' + run: ${{ matrix.prepare_command }} + # build with no features first + - if: matrix.additional_core_features == '' + run: cargo check --manifest-path wgpu-core/Cargo.toml --no-default-features + - if: matrix.additional_core_features != '' + run: cargo check --manifest-path wgpu-core/Cargo.toml --features ${{ matrix.additional_core_features }} + - if: matrix.additional_player_features != '' + run: cargo check --manifest-path player/Cargo.toml --features ${{ matrix.additional_player_features }} + - if: matrix.channel == 'stable' + run: cargo clippy + - if: matrix.channel == 'nightly' + run: cargo test -- --nocapture |