diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 6844a2cf..8912b2b1 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -52,11 +52,16 @@ jobs: target: x86_64-pc-windows-msvc features: '--no-default-features --features rodio_backend,pancurses_backend,share_clipboard,notify' steps: + - 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 -- --default-toolchain none -y + echo "${CARGO_HOME:-$HOME/.cargo}/bin" >> $GITHUB_PATH + fi - name: Install Rust toolchain - uses: dtolnay/rust-toolchain@stable - with: - targets: ${{ matrix.target }} - toolchain: stable + run: rustup target add ${{ matrix.target }} - name: Install macOS dependencies if: matrix.os == 'macos-latest' run: brew install portaudio pkg-config diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f246ad20..ef1fe158 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -41,11 +41,18 @@ jobs: ~/.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 -- --default-toolchain none -y + echo "${CARGO_HOME:-$HOME/.cargo}/bin" >> $GITHUB_PATH + fi - name: Install Rust toolchain - uses: dtolnay/rust-toolchain@stable - with: - targets: ${{ matrix.target }} - components: clippy, rustfmt + run: rustup target add ${{ matrix.target }} + - 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 @@ -65,11 +72,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - name: Install Rust toolchain - uses: dtolnay/rust-toolchain@stable - with: - target: x86_64-unknown-linux-gnu - components: clippy, rustfmt + - 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 @@ -90,11 +96,10 @@ jobs: ~/.cargo/git/db/ target/ key: ${{ runner.os }}-clippy-${{ hashFiles('**/Cargo.lock') }} - - name: Install Rust toolchain - uses: dtolnay/rust-toolchain@stable - with: - target: x86_64-unknown-linux-gnu - components: clippy, rustfmt + - 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