Add Scoop bucket for Windows installation #19
This file contains hidden or 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] | |
| concurrency: | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| env: | |
| CARGO_TERM_COLOR: always | |
| NO_NETWORK_TESTS: "1" | |
| jobs: | |
| lint: | |
| name: Lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| components: rustfmt, clippy | |
| - uses: Swatinem/rust-cache@v2 | |
| - uses: taiki-e/install-action@just | |
| - name: Install system dependencies | |
| run: sudo apt-get update && sudo apt-get install -y libssl-dev pkg-config | |
| - name: Check formatting | |
| run: just fmt-check | |
| - name: Run clippy | |
| run: just lint | |
| test: | |
| name: Test (${{ matrix.name }}) | |
| needs: lint | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: Linux x86_64 | |
| runner: ubuntu-latest | |
| install-deps: true | |
| - name: Linux ARM64 | |
| runner: ubuntu-24.04-arm | |
| install-deps: true | |
| - name: macOS ARM64 | |
| runner: macos-latest | |
| install-deps: false | |
| - name: macOS x86_64 | |
| runner: macos-15-intel | |
| install-deps: false | |
| - name: Windows x86_64 | |
| runner: windows-latest | |
| install-deps: false | |
| - name: Windows ARM64 | |
| runner: windows-11-arm | |
| install-deps: false | |
| runs-on: ${{ matrix.runner }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - uses: taiki-e/install-action@just | |
| - name: Install system dependencies | |
| if: matrix.install-deps | |
| run: sudo apt-get update && sudo apt-get install -y libssl-dev pkg-config | |
| - name: Build | |
| run: just build | |
| - name: Run tests | |
| run: just test | |
| build-cross: | |
| name: Build (${{ matrix.name }}) | |
| needs: lint | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: Linux ARMv7 | |
| target: armv7-unknown-linux-gnueabihf | |
| - name: Linux ppc64le | |
| target: powerpc64le-unknown-linux-gnu | |
| - name: Linux s390x | |
| target: s390x-unknown-linux-gnu | |
| - name: Linux RISC-V 64 | |
| target: riscv64gc-unknown-linux-gnu | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: ${{ matrix.target }} | |
| - uses: Swatinem/rust-cache@v2 | |
| with: | |
| key: ${{ matrix.target }} | |
| - uses: taiki-e/install-action@cross | |
| - name: Build | |
| run: cross build --target ${{ matrix.target }} --features reqwest/native-tls-vendored |