diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 5774332..b290f59 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -1,13 +1,34 @@ -on: [push, pull_request] +name: CI -name: Continuous integration +on: + push: + branches: [main] + pull_request: + branches: [main] + +env: + CARGO_TERM_COLOR: always jobs: - check: - name: check - runs-on: ubuntu-latest + test-with-feature: + name: test-with-feature + strategy: + fail-fast: false + matrix: + os: [windows-latest, ubuntu-latest, macos-latest] + feature: [mp3, ogg, flac, wav] + runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 + - uses: actions/cache@v2 + with: + path: | + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + target/ + key: ${{ runner.os }}-cargo-build-${{ matrix.toolchain }}-${{ hashFiles('**/Cargo.toml') }} - uses: actions-rs/toolchain@v1 with: profile: minimal @@ -15,27 +36,30 @@ jobs: override: true - name: Install alsa and udev run: sudo apt-get update; sudo apt-get install --no-install-recommends libasound2-dev libudev-dev + if: runner.os == 'linux' - uses: actions-rs/cargo@v1 with: - command: check - - uses: actions-rs/cargo@v1 - with: - command: check - args: --no-default-features --features mp3 - - uses: actions-rs/cargo@v1 - with: - command: check - args: --no-default-features --features ogg - - uses: actions-rs/cargo@v1 - with: - command: check - args: --no-default-features --features flac + command: test + args: --no-default-features --features ${{ matrix.feature }} test: name: test - runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + os: [windows-latest, ubuntu-latest, macos-latest] + runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 + - uses: actions/cache@v2 + with: + path: | + ~/.cargo/bin/ + ~/.cargo/registry/index/ + ~/.cargo/registry/cache/ + ~/.cargo/git/db/ + target/ + key: ${{ runner.os }}-cargo-build-${{ matrix.toolchain }}-${{ hashFiles('**/Cargo.toml') }} - uses: actions-rs/toolchain@v1 with: profile: minimal @@ -43,21 +67,11 @@ jobs: override: true - name: Install alsa and udev run: sudo apt-get update; sudo apt-get install --no-install-recommends libasound2-dev libudev-dev + if: runner.os == 'linux' - uses: actions-rs/cargo@v1 with: command: test - - uses: actions-rs/cargo@v1 - with: - command: test - args: --no-default-features --features mp3 - - uses: actions-rs/cargo@v1 - with: - command: test - args: --no-default-features --features ogg - - uses: actions-rs/cargo@v1 - with: - command: test - args: --no-default-features --features flac + args: --no-default-features fmt: name: fmt diff --git a/README.md b/README.md index 259de97..9561d60 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Bevy Oddio -[![Bevy tracking](https://img.shields.io/badge/Bevy%20tracking-main-lightblue)](https://github.com/bevyengine/bevy/blob/main/docs/plugins_guidelines.md#main-branch-tracking) ![Crates.io](https://img.shields.io/crates/d/bevy_oddio) ![Crates.io](https://img.shields.io/crates/l/bevy_oddio) ![Crates.io](https://img.shields.io/crates/v/bevy_oddio) ![docs.rs](https://img.shields.io/docsrs/bevy_oddio) +[![Bevy tracking](https://img.shields.io/badge/Bevy%20tracking-main-lightblue)](https://github.com/bevyengine/bevy/blob/main/docs/plugins_guidelines.md#main-branch-tracking) ![Crates.io](https://img.shields.io/crates/d/bevy_oddio) ![Crates.io](https://img.shields.io/crates/l/bevy_oddio) ![Crates.io](https://img.shields.io/crates/v/bevy_oddio) ![docs.rs](https://img.shields.io/docsrs/bevy_oddio) [![CI](https://github.com/harudagondi/bevy_oddio/actions/workflows/rust.yml/badge.svg)](https://github.com/harudagondi/bevy_oddio/actions/workflows/rust.yml) A third party Bevy plugin that integrates [`oddio`] into [Bevy].