chore(deps): bump clap from 4.5.24 to 4.5.39 #373
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 # Continuous Integration | |
| on: | |
| push: | |
| branches: | |
| - master | |
| pull_request: | |
| jobs: | |
| # New security advisories can pop up at any time, so they shouldn't fail a build, but they should | |
| # fail the job to call attention to the fact that there's an advisory | |
| check-rust-sec-advisories: | |
| runs-on: ubuntu-latest | |
| continue-on-error: true | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: EmbarkStudios/cargo-deny-action@v2 | |
| with: | |
| arguments: --all-features | |
| command: check advisories | |
| # Do all possible static checks here | |
| cargo-checks: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| - uses: Swatinem/rust-cache@v2 | |
| - uses: EmbarkStudios/cargo-deny-action@v2 | |
| with: | |
| arguments: --all-features | |
| command: check bans licenses sources | |
| - name: Check for unused dependencies | |
| uses: bnjbvr/cargo-machete@v0.8.0 | |
| rustfmt: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@1.85.0 | |
| with: | |
| components: rustfmt | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Check formatting | |
| uses: actions-rs/cargo@v1 | |
| with: | |
| command: fmt | |
| args: --all -- --check | |
| clippy: | |
| needs: rustfmt | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@1.85.0 | |
| with: | |
| components: clippy | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Clippy check | |
| uses: actions-rs/cargo@v1 | |
| with: | |
| command: clippy | |
| args: --all-targets --all-features --workspace -- -D warnings | |
| test: | |
| needs: clippy | |
| strategy: | |
| matrix: | |
| os: | |
| - ubuntu-latest | |
| - windows-latest | |
| - macos-latest | |
| runs-on: ${{ matrix.os }} | |
| env: | |
| AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} | |
| AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@1.85.0 | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Cache the minio binary | |
| id: cache-minio | |
| uses: actions/cache@v4 | |
| with: | |
| path: ~/.local/bin | |
| key: ${{ runner.os }}-minio | |
| - name: Install minio (Linux) | |
| shell: bash | |
| run: | | |
| # Download the minio binary if it's not already present | |
| # Most of the time the minio binary should be in the cache and doesn't need to be downloaded again | |
| mkdir -p $HOME/.local/bin | |
| cd $HOME/.local/bin | |
| if [[ ! -x ./minio ]] | |
| then | |
| wget https://dl.min.io/server/minio/release/linux-amd64/minio | |
| chmod +x minio | |
| fi | |
| echo "$HOME/.local/bin" >> $GITHUB_PATH | |
| if: matrix.os == 'ubuntu-latest' | |
| - name: Install minio (mac) | |
| shell: bash | |
| run: | | |
| # Download the minio binary if it's not already present | |
| # Most of the time the minio binary should be in the cache and doesn't need to be downloaded again | |
| mkdir -p $HOME/.local/bin | |
| cd $HOME/.local/bin | |
| if [[ ! -x ./minio ]] | |
| then | |
| curl --progress-bar -O https://dl.min.io/server/minio/release/darwin-amd64/minio | |
| chmod +x minio | |
| fi | |
| echo "$HOME/.local/bin" >> $GITHUB_PATH | |
| if: matrix.os == 'macos-latest' | |
| - name: Install minio (Windows) | |
| run: | | |
| # Download the minio binary if it's not already present | |
| mkdir -p C:\minio | |
| Invoke-WebRequest -Uri "https://dl.min.io/server/minio/release/windows-amd64/minio.exe" -OutFile "C:\minio\minio.exe" | |
| echo "c:\minio" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | |
| if: matrix.os == 'windows-latest' | |
| - name: Run local tests | |
| uses: actions-rs/cargo@v1 | |
| with: | |
| command: test | |
| args: --all-features --workspace | |
| - name: Run S3 tests | |
| uses: actions-rs/cargo@v1 | |
| with: | |
| command: test | |
| args: --all-features --workspace -- --ignored | |
| # Even on PR builds, verify that static compilation works and that the resulting executable | |
| # can run. It's easy to add crate dependencies which break static builds | |
| build-static: | |
| needs: clippy | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@1.85.0 | |
| with: | |
| targets: x86_64-unknown-linux-musl | |
| - name: Install MUSL deps | |
| run: | | |
| sudo apt-get install musl musl-dev musl-tools | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Cargo build | |
| uses: actions-rs/cargo@v1 | |
| with: | |
| command: build | |
| args: --release --target x86_64-unknown-linux-musl --package ssstar-cli | |
| env: | |
| RUSTFLAGS: "-C target-feature=+crt-static" | |
| - name: Test static binary | |
| run: | | |
| target/x86_64-unknown-linux-musl/release/ssstar --version | |
| docs: | |
| needs: clippy | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@1.85.0 | |
| - uses: Swatinem/rust-cache@v2 | |
| - name: Check documentation | |
| env: | |
| RUSTDOCFLAGS: -D warnings | |
| uses: actions-rs/cargo@v1 | |
| with: | |
| command: doc | |
| args: --no-deps --document-private-items --all-features --workspace --examples |