ci: Remove cross-compilation releases #1769
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
env: | |
TERM: xterm | |
jobs: | |
# Build the Rust code. | |
build: | |
name: Checking ${{ matrix.build_target }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
include: | |
- build_target: linux-x86_64 | |
os: ubuntu-latest | |
artifact_suffix: linux-x86_64 | |
target: x86_64-unknown-linux-gnu | |
features: '' | |
- build_target: macos-aarch64 | |
os: macos-14 | |
artifact_suffix: macos-aarch64 | |
target: aarch64-apple-darwin | |
features: '--no-default-features --features rodio_backend,pancurses_backend' | |
- build_target: windows-x86_64 | |
os: windows-latest | |
artifact_suffix: windows-x86_64 | |
target: x86_64-pc-windows-msvc | |
features: '--no-default-features --features rodio_backend,pancurses_backend,share_clipboard,notify' | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/cache@v4 | |
name: Cache build data | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
- name: Install rustup | |
if: runner.os != 'Windows' | |
shell: bash | |
run: | | |
if ! command -v rustup &>/dev/null; then | |
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- --target ${{ matrix.target }} -y | |
echo "${CARGO_HOME:-$HOME/.cargo}/bin" >> $GITHUB_PATH | |
fi | |
- name: Install clippy + rustfmt | |
run: rustup component add clippy rustfmt | |
- name: Install macOS dependencies | |
if: matrix.os == 'macos-latest' | |
run: brew install portaudio pkg-config | |
- name: Install Linux dependencies | |
if: matrix.os == 'ubuntu-latest' | |
run: | | |
sudo apt update | |
sudo apt install libpulse-dev libdbus-1-dev libncursesw5-dev libxcb-shape0-dev libxcb-xfixes0-dev | |
- name: Running cargo build | |
run: cargo build --locked --target ${{ matrix.target }} ${{ matrix.features }} | |
- name: Running cargo test | |
run: cargo test --locked --target ${{ matrix.target }} ${{ matrix.features }} | |
# Check Rust code formatting. | |
fmt: | |
name: Running `cargo fmt` | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install rustup | |
run: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y | |
- name: Install clippy + rustfmt | |
run: rustup component add rustfmt | |
- name: cargo fmt | |
run: cargo fmt --all -- --check | |
# Run `cargo clippy` on all the targets in all workspace members with all | |
# features enabled, and return an error if there are any clippy suggestions. | |
clippy: | |
name: Running `cargo clippy` | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/cache@v4 | |
name: Cache build data | |
with: | |
path: | | |
~/.cargo/bin/ | |
~/.cargo/registry/index/ | |
~/.cargo/registry/cache/ | |
~/.cargo/git/db/ | |
target/ | |
key: ${{ runner.os }}-clippy-${{ hashFiles('**/Cargo.lock') }} | |
- name: Install rustup | |
run: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y | |
- name: Install clippy + rustfmt | |
run: rustup component add clippy | |
- name: Install Linux dependencies | |
run: | | |
sudo apt update | |
sudo apt install portaudio19-dev libasound2-dev libpulse-dev libdbus-1-dev libncursesw5-dev libxcb-shape0-dev libxcb-xfixes0-dev | |
- name: cargo clippy | |
run: cargo clippy --locked --no-deps --workspace --all-targets --all-features --verbose -- -D warnings |